diff options
42 files changed, 200 insertions, 189 deletions
@@ -1,3 +1,43 @@ +2000-03-29 Jes Sorensen <jes@pcatls01.cern.ch> + + * malloc/malloc.c: Declare bit flags UL so that they will not + default to int size when being inverted. + +2000-03-29 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/arm/errlist.c: Use shlib-compat macros. + * sysdeps/unix/sysv/linux/arm/siglist.c: Likewise. + +2000-03-29 Andreas Jaeger <aj@suse.de>, + Ralf Baechle <ralf@uni-koblenz.de> + + * Makeconfig: Introduce new variable SHARED to mark code used in + the shared library. + * elf/dl-close.c: Use it instead of PIC. + * elf/dl-load.c: Likewise. + * elf/dl-open.c: Likewise. + * hurd/geteuids.c: Likewise. + * include/libc-symbols.h: Likewise. + * include/shlib-compat.h: Likewise. + * libio/freopen.c: Likewise. + * linuxthreads/cancel.c: Likewise. + * linuxthreads/pthread.c: Likewise. + * linuxthreads/wrapsyscall.c: Likewise. + * nss/nsswitch.c: Likewise. + * stdio-common/vfprintf.c: Likewise. + * sysdeps/arm/init-first.c: Likewise. + * sysdeps/i386/init-first.c: Likewise + * sysdeps/generic/init-first.c: Likewise. + * sysdeps/generic/libc-start.c: Likewise. + * sysdeps/mips/init-first.c: Likewise. + * sysdeps/powerpc/elf/libc-start.c: Likewise. + * sysdeps/unix/sysv/linux/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/arm/siglist.c: Likewise. + * sysdeps/unix/sysv/linux/arm/errlist.c: Likewise. + * sysdeps/unix/sysv/linux/i386/chown.c: Likewise. + + * sysdeps/mips/machine-gmon.h (asm): Use __PIC__ as check. + 2000-03-29 Andreas Jaeger <aj@suse.de> * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_runtime_setup): diff --git a/Makeconfig b/Makeconfig index 56b5d3330b..70b933c5ec 100644 --- a/Makeconfig +++ b/Makeconfig @@ -604,7 +604,7 @@ ifeq (yes,$(build-shared)) # Under --enable-shared, we will build a shared library of PIC objects. # The PIC object files are named foo.os. object-suffixes += .os -CPPFLAGS-.os = -DPIC +CPPFLAGS-.os = -DPIC -DSHARED CFLAGS-.os = $(filter %frame-pointer,$(+cflags)) $(pic-ccflag) libtype.os := lib%_pic.a # This can be changed by a sysdep makefile diff --git a/elf/dl-close.c b/elf/dl-close.c index 7740787a40..a30147976d 100644 --- a/elf/dl-close.c +++ b/elf/dl-close.c @@ -145,7 +145,7 @@ _dl_close (void *_map) imap->l_map_end - imap->l_map_start); /* Finally, unlink the data structure and free it. */ -#ifdef PIC +#ifdef SHARED /* We will unlink the first object only if this is a statically linked program. */ assert (imap->l_prev != NULL); diff --git a/elf/dl-load.c b/elf/dl-load.c index 38922890d6..5d1463b48f 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -516,7 +516,7 @@ _dl_init_paths (const char *llp) const char *strp; struct r_search_path_elem *pelem, **aelem; size_t round_size; -#ifdef PIC +#ifdef SHARED struct link_map *l; #endif @@ -579,7 +579,7 @@ _dl_init_paths (const char *llp) max_dirnamelen = SYSTEM_DIRS_MAX_LEN; *aelem = NULL; -#ifdef PIC +#ifdef SHARED /* This points to the map of the main object. */ l = _dl_loaded; if (l != NULL) @@ -613,7 +613,7 @@ _dl_init_paths (const char *llp) l->l_rpath_dirs = NULL; } } -#endif /* PIC */ +#endif /* SHARED */ if (llp != NULL && *llp != '\0') { diff --git a/elf/dl-open.c b/elf/dl-open.c index b419219069..f110a512cc 100644 --- a/elf/dl-open.c +++ b/elf/dl-open.c @@ -166,7 +166,7 @@ dl_open_worker (void *a) { if (! l->l_relocated) { -#ifdef PIC +#ifdef SHARED if (_dl_profile != NULL) { /* If this here is the shared object which we want to profile diff --git a/hurd/geteuids.c b/hurd/geteuids.c index e37f9c27c2..0f3f7000ff 100644 --- a/hurd/geteuids.c +++ b/hurd/geteuids.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 94, 96, 97, 98 Free Software Foundation, Inc. +/* Copyright (C) 1993, 94, 96, 97, 98, 2000 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 @@ -64,6 +64,6 @@ geteuids (int n, uid_t *uidset) /* XXX Remove this alias when we bump the libc soname. */ -#if defined PIC && DO_VERSIONING +#if defined SHARED && DO_VERSIONING weak_alias (geteuids, __getuids) #endif diff --git a/include/libc-symbols.h b/include/libc-symbols.h index 8073fca575..f0c7284d73 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -214,7 +214,7 @@ /* These are all done the same way in ELF. There is a new section created for each set. */ -# ifdef PIC +# ifdef SHARED /* When building a shared library, make the set section writable, because it will need to be relocated at run time anyway. */ # define _elf_set_element(set, symbol) \ diff --git a/include/shlib-compat.h b/include/shlib-compat.h index a95c1e0806..a1a4d9c15c 100644 --- a/include/shlib-compat.h +++ b/include/shlib-compat.h @@ -26,7 +26,7 @@ #include <abi-versions.h> /* header generated by abi-versions.awk */ #endif -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING +#if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING /* The file abi-versions.h (generated by scripts/abi-versions.awk) defines symbols like `ABI_libm_GLIBC_2_0' for each version set in the source diff --git a/libio/freopen.c b/libio/freopen.c index 59b1726552..3f1e8f49e0 100644 --- a/libio/freopen.c +++ b/libio/freopen.c @@ -26,7 +26,7 @@ #include "libioP.h" #include "stdio.h" -#ifdef PIC +#ifdef SHARED extern void *_IO_stdin_used; weak_extern (_IO_stdin_used); #endif diff --git a/linuxthreads/cancel.c b/linuxthreads/cancel.c index 8fd8c1e60f..e1e887e0f9 100644 --- a/linuxthreads/cancel.c +++ b/linuxthreads/cancel.c @@ -162,7 +162,7 @@ void __pthread_perform_cleanup(void) c->__routine(c->__arg); } -#ifndef PIC +#ifndef SHARED /* We need a hook to force the cancelation wrappers to be linked in when static libpthread is used. */ extern const int __pthread_provide_wrappers; diff --git a/linuxthreads/pthread.c b/linuxthreads/pthread.c index 6ac7bc9170..f8df39db02 100644 --- a/linuxthreads/pthread.c +++ b/linuxthreads/pthread.c @@ -871,7 +871,7 @@ void __pthread_message(char * fmt, ...) #endif -#ifndef PIC +#ifndef SHARED /* We need a hook to force the cancelation wrappers to be linked in when static libpthread is used. */ extern const int __pthread_provide_wrappers; diff --git a/linuxthreads/wrapsyscall.c b/linuxthreads/wrapsyscall.c index a8ab857d8a..7d3f8ac483 100644 --- a/linuxthreads/wrapsyscall.c +++ b/linuxthreads/wrapsyscall.c @@ -31,7 +31,7 @@ #include <sys/socket.h> -#ifndef PIC +#ifndef SHARED /* We need a hook to force this file to be linked in when static libpthread is used. */ const int __pthread_provide_wrappers = 0; diff --git a/malloc/malloc.c b/malloc/malloc.c index 645bcbe2dd..f674f4ebfe 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -1317,11 +1317,11 @@ static void free_atfork(); /* size field is or'ed with PREV_INUSE when previous adjacent chunk in use */ -#define PREV_INUSE 0x1 +#define PREV_INUSE 0x1UL /* size field is or'ed with IS_MMAPPED if the chunk was obtained with mmap() */ -#define IS_MMAPPED 0x2 +#define IS_MMAPPED 0x2UL /* Bits to mask off when extracting size */ diff --git a/nss/nsswitch.c b/nss/nsswitch.c index f1250262ff..b9e283eefb 100644 --- a/nss/nsswitch.c +++ b/nss/nsswitch.c @@ -27,7 +27,7 @@ #include <stdlib.h> #include <string.h> -#if !defined DO_STATIC_NSS || defined PIC +#if !defined DO_STATIC_NSS || defined SHARED # include <gnu/lib-names.h> #endif @@ -65,7 +65,7 @@ static struct __libc_lock_define_initialized (static, lock) -#if !defined DO_STATIC_NSS || defined PIC +#if !defined DO_STATIC_NSS || defined SHARED /* String with revision number of the shared object files. */ static const char *const __nss_shlib_revision = LIBNSS_FILES_SO + 15; #endif @@ -314,7 +314,7 @@ __nss_lookup_function (service_user *ni, const char *fct_name) } } -#if !defined DO_STATIC_NSS || defined PIC +#if !defined DO_STATIC_NSS || defined SHARED if (ni->library->lib_handle == NULL) { /* Load the shared library. */ diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c index 51fd3115ee..a3f6754433 100644 --- a/stdio-common/vfprintf.c +++ b/stdio-common/vfprintf.c @@ -303,7 +303,7 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap) #define NOT_IN_JUMP_RANGE(Ch) ((Ch) < L_(' ') || (Ch) > L_('z')) #define CHAR_CLASS(Ch) (jump_table[(INT_T) (Ch) - L_(' ')]) -#if defined HAVE_SUBTRACT_LOCAL_LABELS && defined PIC +#if defined HAVE_SUBTRACT_LOCAL_LABELS && defined SHARED /* 'int' is enough and it saves some space on 64 bit systems. */ # define JUMP_TABLE_TYPE const int # define JUMP(ChExpr, table) \ @@ -1258,7 +1258,7 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap) /* Process whole format string. */ do { -#if defined HAVE_SUBTRACT_LOCAL_LABELS && defined PIC +#if defined HAVE_SUBTRACT_LOCAL_LABELS && defined SHARED # define REF(Name) &&do_##Name - &&do_form_unknown #else # define REF(Name) &&do_##Name @@ -1648,7 +1648,7 @@ do_positional: for (; (size_t) nspecs_done < nspecs; ++nspecs_done) { #undef REF -#if defined HAVE_SUBTRACT_LOCAL_LABELS && defined PIC +#if defined HAVE_SUBTRACT_LOCAL_LABELS && defined SHARED # define REF(Name) &&do2_##Name - &&do_form_unknown #else # define REF(Name) &&do2_##Name diff --git a/sysdeps/arm/init-first.c b/sysdeps/arm/init-first.c index 87f9f0a749..1e90c849a1 100644 --- a/sysdeps/arm/init-first.c +++ b/sysdeps/arm/init-first.c @@ -39,7 +39,7 @@ init (int *data) __getopt_clean_environment (envp); } -#ifdef PIC +#ifdef SHARED /* This function is called to initialize the shared C library. It is called just before the user _start code from i386/elf/start.S, with the stack set up as that code gets it. */ @@ -63,7 +63,7 @@ _init (int argc, ...) void __libc_init_first (int argc __attribute__ ((unused)), ...) { -#ifndef PIC +#ifndef SHARED init (&argc); #endif } diff --git a/sysdeps/generic/init-first.c b/sysdeps/generic/init-first.c index 76989d1351..2d7a078c43 100644 --- a/sysdeps/generic/init-first.c +++ b/sysdeps/generic/init-first.c @@ -25,14 +25,14 @@ int __libc_multiple_libcs = 1; extern void __libc_init (int, char **, char **); extern void __getopt_clean_environment (char **); -#ifdef PIC +#ifdef SHARED void __libc_init_first (void) { } #endif -#ifdef PIC +#ifdef SHARED /* NOTE! The linker notices the magical name `_init' and sets the DT_INIT pointer in the dynamic section based solely on that. It is convention for this function to be in the `.init' section, but the symbol name is diff --git a/sysdeps/generic/libc-start.c b/sysdeps/generic/libc-start.c index e3960ca818..6fabb7c41c 100644 --- a/sysdeps/generic/libc-start.c +++ b/sysdeps/generic/libc-start.c @@ -39,7 +39,7 @@ __libc_start_main (int (*main) (int, char **, char **), int argc, char **argv, void (*init) (void), void (*fini) (void), void (*rtld_fini) (void), void *stack_end) { -#ifndef PIC +#ifndef SHARED /* The next variable is only here to work around a bug in gcc <= 2.7.2.2. If the address would be taken inside the expression the optimizer would try to be too smart and throws it away. Grrr. */ @@ -66,7 +66,7 @@ __libc_start_main (int (*main) (int, char **, char **), int argc, /* Call the initializer of the libc. This is only needed here if we are compiling for the static library in which case we haven't run the constructors in `_dl_start_user'. */ -#ifndef PIC +#ifndef SHARED __libc_init_first (argc, argv, __environ); #endif @@ -75,14 +75,14 @@ __libc_start_main (int (*main) (int, char **, char **), int argc, atexit (fini); /* Call the initializer of the program, if any. */ -#ifdef PIC +#ifdef SHARED if (_dl_debug_impcalls) _dl_debug_message (1, "\ninitialize program: ", argv[0], "\n\n", NULL); #endif if (init) (*init) (); -#ifdef PIC +#ifdef SHARED if (_dl_debug_impcalls) _dl_debug_message (1, "\ntransferring control: ", argv[0], "\n\n", NULL); #endif diff --git a/sysdeps/i386/init-first.c b/sysdeps/i386/init-first.c index 118f84201f..1ed8495cbe 100644 --- a/sysdeps/i386/init-first.c +++ b/sysdeps/i386/init-first.c @@ -1,5 +1,5 @@ /* Initialization code run first thing by the ELF startup code. For i386/Unix. - Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 2000 Free |
