summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog24
-rw-r--r--assert/assert.c1
-rw-r--r--catgets/Makefile4
-rw-r--r--elf/dl-minimal.c1
-rw-r--r--iconv/Makefile5
-rw-r--r--include/assert.h3
-rw-r--r--locale/Makefile11
-rw-r--r--nscd/Makefile3
-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
13 files changed, 69 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index bc0ccd0ee0..22c423df4a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2002-07-25  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/wordsize-32/divdi3.c: Define __divdi3_internal.
+	* sysdeps/wordsize-32/lldiv.c: Make gcc use __divdi3_internal instead
+	of __divdi3.
+
+	* sysdeps/unix/sysv/linux/adjtime.c: Use __adjtimex_internal.
+	* sysdeps/unix/sysv/linux/ntp_gettime.c: Likewise.
+	* sysdeps/unix/sysv/linux/syscalls.list: Add __adjtimex_internal
+	alias for adjtimex syscall.
+
+	* elf/dl-minimal.c: Define __assert_fail_internal.
+	* assert/assert.c: Likewise.
+	* include/assert.h: Define __assert_file macro if !SHARED and not
+	NOT_IN_libc.
+
+	* iconv/Makefile: Define NOT_IN_libc for objects in standalone
+	programs.
+	* locale/Makefile: Likewise.
+	* nscd/Makefile: Likewise.
+	* catgets/Makefile: Likewise.
+
 2002-07-24  Ulrich Drepper  <drepper@redhat.com>
 
 	* libio/fileops.c (_IO_file_seekoff_mmap): Do use fp->_offset to
@@ -8,7 +30,7 @@
 	* libio/tst-freopen.c (main): Remove unused variable.
 
 	* libio/fileops.c (_IO_file_seekoff_mmap): Set fp->_offset after
-	succesful seek call.  Simply error checking.
+	succesful seek call.  Simplify error checking.
 
 2002-07-25  Jakub Jelinek  <jakub@redhat.com>
 
diff --git a/assert/assert.c b/assert/assert.c
index 4f8fbfb130..334382b666 100644
--- a/assert/assert.c
+++ b/assert/assert.c
@@ -42,6 +42,7 @@ extern const char *__progname;
 # include FATAL_PREPARE_INCLUDE
 #endif
 
+#undef __assert_fail
 void
 __assert_fail (const char *assertion, const char *file, unsigned int line,
 	       const char *function)
diff --git a/catgets/Makefile b/catgets/Makefile
index b4f941140c..f3069bd2db 100644
--- a/catgets/Makefile
+++ b/catgets/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+# Copyright (C) 1996,1997,1998,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
@@ -45,6 +45,8 @@ $(objpfx)gencat: $(gencat-modules:%=$(objpfx)%.o)
 catgets-CPPFLAGS := -DNLSPATH='"$(msgcatdir)/%L/%N:$(msgcatdir)/%L/LC_MESSAGES/%N:$(msgcatdir)/%l/%N:$(msgcatdir)/%l/LC_MESSAGES/%N:"' \
 	    -DHAVE_CONFIG_H
 
+CPPFLAGS-gencat = -DNOT_IN_libc
+
 generated = de.msg test1.cat test1.h sample.SJIS.cat test-gencat.h
 generated-dirs = de
 
diff --git a/elf/dl-minimal.c b/elf/dl-minimal.c
index a6c1803b34..0627a8908d 100644
--- a/elf/dl-minimal.c
+++ b/elf/dl-minimal.c
@@ -209,6 +209,7 @@ Inconsistency detected by ld.so: %s: %u: %s%sAssertion `%s' failed!\n",
 		    assertion);
 
 }
+INTDEF(__assert_fail)
 
 void weak_function
 __assert_perror_fail (int errnum,
diff --git a/iconv/Makefile b/iconv/Makefile
index 8882cb9000..eb8ffacd8c 100644
--- a/iconv/Makefile
+++ b/iconv/Makefile
@@ -63,6 +63,11 @@ CFLAGS-gconv_cache.c += -DGCONV_DIR='"$(gconvdir)"'
 CFLAGS-gconv_conf.c = -DGCONV_PATH='"$(gconvdir)"'
 CFLAGS-iconvconfig.c = -DGCONV_PATH='"$(gconvdir)"' -DGCONV_DIR='"$(gconvdir)"'
 
+CPPFLAGS-iconv_charmap = -DNOT_IN_libc
+CPPFLAGS-iconvconfig = -DNOT_IN_libc
+CPPFLAGS-strtab = -DNOT_IN_libc
+CPPFLAGS-charmap = -DNOT_IN_libc
+
 include ../Rules
 
 $(inst_bindir)/iconv: $(objpfx)iconv_prog $(+force)
diff --git a/include/assert.h b/include/assert.h
index e18d37364f..30afabf94d 100644
--- a/include/assert.h
+++ b/include/assert.h
@@ -5,3 +5,6 @@ extern void __assert_fail_internal (__const char *__assertion,
 				    unsigned int __line,
 				    __const char *__function)
      __attribute__ ((__noreturn__)) attribute_hidden;
+#if defined SHARED && !defined NOT_IN_libc
+# define __assert_fail __assert_fail_internal
+#endif
diff --git a/locale/Makefile b/locale/Makefile
index 7a773f104f..3b3af99171 100644
--- a/locale/Makefile
+++ b/locale/Makefile
@@ -99,6 +99,17 @@ CFLAGS-charmap.c = -Wno-write-strings -Wno-char-subscripts
 CFLAGS-locfile.c = -Wno-write-strings -Wno-char-subscripts
 CFLAGS-charmap-dir.c = -Wno-write-strings
 
+CPPFLAGS-localedef = -DNOT_IN_libc
+CPPFLAGS-ld-ctype = -DNOT_IN_libc
+CPPFLAGS-ld-time = -DNOT_IN_libc
+CPPFLAGS-ld-numeric = -DNOT_IN_libc
+CPPFLAGS-ld-monetary = -DNOT_IN_libc
+CPPFLAGS-ld-collate = -DNOT_IN_libc
+CPPFLAGS-ld-identification = -DNOT_IN_libc
+CPPFLAGS-charmap = -DNOT_IN_libc
+CPPFLAGS-locarchive = -DNOT_IN_libc
+CPPFLAGS-linereader = -DNOT_IN_libc
+
 # Depend on libc.so so a DT_NEEDED is generated in the shared objects.
 # This ensures they will load libc.so for needed symbols if loaded by
 # a statically-linked program that hasn't already loaded it.
diff --git a/nscd/Makefile b/nscd/Makefile
index 0b11c712fb..a3cbe7cf6a 100644
--- a/nscd/Makefile
+++ b/nscd/Makefile
@@ -53,6 +53,9 @@ distribute := nscd.h nscd-client.h dbg_log.h \
 
 include ../Rules
 
+CPPFLAGS-connections = -DNOT_IN_libc
+CPPFLAGS-hstcache = -DNOT_IN_libc
+
 $(objpfx)nscd: $(nscd-modules:%=$(objpfx)%.o)
 $(objpfx)nscd_nischeck: $(objpfx)nscd_nischeck.o
 
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