summaryrefslogtreecommitdiff
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