about summary refs log tree commit diff
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