summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/unix/sysv/linux/adjtime.c5
-rw-r--r--sysdeps/unix/sysv/linux/ntp_gettime.c8
-rw-r--r--sysdeps/unix/sysv/linux/syscalls.list2
-rw-r--r--sysdeps/wordsize-32/divdi3.c1
-rw-r--r--sysdeps/wordsize-32/lldiv.c9
5 files changed, 19 insertions, 6 deletions
diff --git a/sysdeps/unix/sysv/linux/adjtime.c b/sysdeps/unix/sysv/linux/adjtime.c
index 2066d3fe6c..62008f63ca 100644
--- a/sysdeps/unix/sysv/linux/adjtime.c
+++ b/sysdeps/unix/sysv/linux/adjtime.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997, 1998, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -42,7 +42,8 @@
#ifndef ADJTIMEX
#define NO_LOCAL_ADJTIME
-#define ADJTIMEX(x) __adjtimex (x)
+#define ADJTIMEX(x) INTUSE(__adjtimex) (x)
+extern int INTUSE(__adjtimex) (struct timex *__ntx);
#endif
#ifndef LINKAGE
diff --git a/sysdeps/unix/sysv/linux/ntp_gettime.c b/sysdeps/unix/sysv/linux/ntp_gettime.c
index 2bcabbc63f..f78f1682fa 100644
--- a/sysdeps/unix/sysv/linux/ntp_gettime.c
+++ b/sysdeps/unix/sysv/linux/ntp_gettime.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -22,6 +22,10 @@
# define modes mode
#endif
+
+extern int INTUSE(__adjtimex) (struct timex *__ntx);
+
+
int
ntp_gettime (ntv)
struct ntptimeval *ntv;
@@ -30,7 +34,7 @@ ntp_gettime (ntv)
int result;
tntx.modes = 0;
- result = __adjtimex (&tntx);
+ result = INTUSE(__adjtimex) (&tntx);
ntv->time = tntx.time;
ntv->maxerror = tntx.maxerror;
ntv->esterror = tntx.esterror;
diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list
index c503bbbcd6..efec79ddb1 100644
--- a/sysdeps/unix/sysv/linux/syscalls.list
+++ b/sysdeps/unix/sysv/linux/syscalls.list
@@ -1,6 +1,6 @@
# File name Caller Syscall name Args Strong name Weak names
-adjtimex adjtime adjtimex i:p __adjtimex adjtimex ntp_adjtime
+adjtimex adjtime adjtimex i:p __adjtimex adjtimex ntp_adjtime __adjtimex_internal
bdflush EXTRA bdflush i:ii bdflush
capget EXTRA capget i:pp capget
capset EXTRA capset i:pp capset
diff --git a/sysdeps/wordsize-32/divdi3.c b/sysdeps/wordsize-32/divdi3.c
index b8a8aeecc5..8ca9fe4c0d 100644
--- a/sysdeps/wordsize-32/divdi3.c
+++ b/sysdeps/wordsize-32/divdi3.c
@@ -294,6 +294,7 @@ __divdi3 (DWtype u, DWtype v)
w = -w;
return w;
}
+INTDEF(__divdi3)
DWtype
__moddi3 (DWtype u, DWtype v)
diff --git a/sysdeps/wordsize-32/lldiv.c b/sysdeps/wordsize-32/lldiv.c
index b097adc530..2da982ca57 100644
--- a/sysdeps/wordsize-32/lldiv.c
+++ b/sysdeps/wordsize-32/lldiv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -21,6 +21,13 @@
#include <inttypes.h>
+#ifdef SHARED
+/* This is an ugly trick. We cause the C code generated for the code
+ in lldiv.c to use __divdi3_internal instead of __divdi3 by defining
+ an alias on the assembler level. */
+asm ("__divdi3 = __divdi3_internal");
+#endif
+
#include <sysdeps/generic/lldiv.c>
#undef imaxdiv