aboutsummaryrefslogtreecommitdiff
path: root/csu/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2016-01-04Update copyright dates with scripts/update-copyrights.Joseph Myers1-1/+1
2015-08-07Fix gcrt0.o compilationSamuel Thibault1-2/+9
When static-start-installed-name is different from start-installed-name, we must not use the shared objects. * csu/Makefile (extra-objs): Add gmon-start.o when building shared library and $(static-start-installed-name) is different from $(start-installed-name). $(objpfx)g$(static-start-installed-name): When building shared library and $(static-start-installed-name) is different from $(static-start-installed-name), revert to non-shared rule, i.e. using $(objpfx)% and gmon-start.o.
2015-02-23Compile gcrt1.o with -fPICH.J. Lu1-2/+11
We compile gcrt1.o with -fPIC to support both "gcc -pg" and "gcc -pie -pg". [BZ #17836] * csu/Makefile (extra-objs): Add gmon-start.o if not builing shared library. Add gmon-start.os otherwise. ($(objpfx)g$(start-installed-name)): Use $(objpfx)S% $(objpfx)gmon-start.os if builing shared library. ($(objpfx)g$(static-start-installed-name)): Likewise.
2015-01-02Update copyright dates with scripts/update-copyrights.Joseph Myers1-1/+1
2014-03-14Remove "Compiled on ..." crapola from version text.Roland McGrath1-34/+1
2014-02-28Fix fallout from Joseph's untested Makeconfig change.Roland McGrath1-2/+2
2014-02-26Consistently include Makeconfig after defining subdir.Joseph Myers1-4/+2
In <https://sourceware.org/ml/libc-alpha/2014-01/msg00196.html> I noted it was necessary to add includes of Makeconfig early in various subdirectory makefiles for the tests-special variable settings added by that patch to be conditional on configuration information. No-one commented on the general question there of whether Makeconfig should always be included immediately after the definition of subdir. This patch implements that early inclusion of Makeconfig in each directory (which is a lot easier than consistent placement of includes of Rules). Includes are added if needed, or moved up if already present. Subdirectory "all:" targets are removed, since Makeconfig provides one. There is potential for further cleanups I haven't done. Rules and Makerules have code such as ifneq "$(findstring env,$(origin headers))" "" headers := endif to override to empty any value of various variables that came from the environment. I think there is a case for Makeconfig setting all the subdirectory variables (other than subdir) to empty to ensure no outside value is going to take effect if a subdirectory fails to define a variable. (A list of such variables, possibly out of date and incomplete, is in manual/maint.texi.) Rules and Makerules would give errors if Makeconfig hadn't already been included, instead of including it themselves. The special code to override values coming from the environment would then be obsolete and could be removed. Tested x86_64, including that installed binaries are identical before and after the patch. * argp/Makefile: Include Makeconfig immediately after defining subdir. * assert/Makefile: Likewise. * benchtests/Makefile: Likewise. * catgets/Makefile: Likewise. * conform/Makefile: Likewise. * crypt/Makefile: Likewise. * csu/Makefile: Likewise. (all): Remove target. * ctype/Makefile: Include Makeconfig immediately after defining subdir. * debug/Makefile: Likewise. * dirent/Makefile: Likewise. * dlfcn/Makefile: Likewise. * gmon/Makefile: Likewise. * gnulib/Makefile: Likewise. * grp/Makefile: Likewise. * gshadow/Makefile: Likewise. * hesiod/Makefile: Likewise. * hurd/Makefile: Likewise. (all): Remove target. * iconvdata/Makefile: Include Makeconfig immediately after defining subdir. * inet/Makefile: Likewise. * intl/Makefile: Likewise. * io/Makefile: Likewise. * libio/Makefile: Likewise. (all): Remove target. * locale/Makefile: Include Makeconfig immediately after defining subdir. * login/Makefile: Likewise. * mach/Makefile: Likewise. (all): Remove target. * malloc/Makefile: Include Makeconfig immediately after defining subdir. (all): Remove target. * manual/Makefile: Include Makeconfig immediately after defining subdir. * math/Makefile: Likewise. * misc/Makefile: Likewise. * nis/Makefile: Likewise. * nss/Makefile: Likewise. * po/Makefile: Likewise. (all): Remove target. * posix/Makefile: Include Makeconfig immediately after defining subdir. * pwd/Makefile: Likewise. * resolv/Makefile: Likewise. * resource/Makefile: Likewise. * rt/Makefile: Likewise. * setjmp/Makefile: Likewise. * shadow/Makefile: Likewise. * signal/Makefile: Likewise. * socket/Makefile: Likewise. * soft-fp/Makefile: Likewise. * stdio-common/Makefile: Likewise. * stdlib/Makefile: Likewise. * streams/Makefile: Likewise. * string/Makefile: Likewise. * sunrpc/Makefile: Likewise. (all): Remove target. * sysvipc/Makefile: Include Makeconfig immediately after defining subdir. * termios/Makefile: Likewise. * time/Makefile: Likewise. * timezone/Makefile: Likewise. (all): Remove target. * wcsmbs/Makefile: Include Makeconfig immediately after defining subdir. * wctype/Makefile: Likewise. libidn/ChangeLog: * Makefile: Include Makeconfig immediately after defining subdir. localedata/ChangeLog: * Makefile: Include Makeconfig immediately after defining subdir. (all): Remove target. nptl/ChangeLog: * Makefile: Include Makeconfig immediately after defining subdir. nptl_db/ChangeLog: * Makefile: Include Makeconfig immediately after defining subdir.
2014-01-01Update copyright notices with scripts/update-copyrightsAllan McRae1-1/+1
2013-02-15Remove bounded-pointers build system support.Joseph Myers1-9/+0
2013-01-02Update copyright notices with scripts/update-copyrights.Joseph Myers1-1/+1
2012-03-07Remove distribute variable from MakefilesUlrich Drepper1-2/+0
2012-02-21Remove old initfini mechanism.Joseph Myers1-47/+2
2012-02-09Replace FSF snail mail address with URLs.Paul Eggert1-3/+2
2012-02-08Remove have-initfini and need-nopic-initfiniAndreas Schwab1-6/+0
2012-02-08Support crti.S and crtn.S provided directly by architectures.Joseph Myers1-0/+9
2012-01-07Remove non-ELF supportUlrich Drepper1-19/+1
2010-04-04Fix retrieving of kernel header version.Ulrich Drepper1-2/+13
2006-03-01* version.h (VERSION): 2.3.91Roland McGrath1-1/+3
* Makeconfig (sysdeps-srcdirs): New variable. (sysdeps-add-ons-srcdirs): Use it. * csu/Makefile (all-Banner-files): Use it. * Makefile (dist-selector): New variable. (glibc-%.tar rule): Use it. Make $(dist-separate) tarballs contain one version-named directory.
2006-02-28* Makefile (subdir-target-args): New variable.Roland McGrath1-4/+3
($(all-subdirs-targets)): Use it in place of -C option. * Rules: Use $(..) instead of ../ if it's already defined. * Makeconfig (subdir-srcdirs): New variable. * csu/Makefile (all-Banner-files): Use it. * configure.in (--enable-add-ons): Set to "yes" by default. Handle absolute add-on directory names when looking for configure fragments. Also look for sysdeps/*/preconfigure fragments in add-ons. Require add-on configure to set $libc_add_on_canonical, use that in $add_ons_sfx. Substitute add_on_subdirs with computed list of subdir names each add-on configure set in libc_add_on_subdirs. * configure: Regenerated. * Makefile (%/preconfigure: %/preconfigure.in): New pattern rule. * config.make.in (add-on-subdirs): New substituted variable. * Makeconfig (all-subdirs): Include $(add-on-subdirs). Remove $(add-ons), $(sysdep-subdirs). Don't filter out $(sysdep-inhibit-subdirs). ($(common-objpfx)sysd-dirs): Target removed. Don't include it. ($(common-objpfx)sysd-sorted): Rewritten to feed Depend and Subdirs files together to gen-sorted.awk, and $(subdirs) via -v. (subdirs): Remove magic reordering for mach and hurd. * scripts/gen-sorted.awk: Use subdirs from command line. Process Subdirs and Depend files directly. Let Subdirs files use "first dir" and "inhibit dir". Always move elf to the end of the list. * hurd/Depend: New file. * sysdeps/mach/Subdirs: Use "first mach". * Makefile (dist-separate): Remove linuxthreads. (dist-separate-linuxthreads): Variable removed. (glibc-%.tar rule): Use $(sysdeps-add-ons). * Makerules ($(common-objpfx)Versions.v.i): Use $(subdirs), not $(all-subdirs). (sysdep-makefiles): Use $(sysdirs). (sysdirs): Remove export. ($(+sysdir_pfx)sysd-rules): Handle absolute directory names in $(config-sysdirs). (+sysdir_pfx): Variable removed. (sysd-rules): Use $(common-objpfx) in place of it. (sysdirs): Variable moved to ... * Makeconfig (sysdirs): ... here. Handle absolute directory names in $(config-sysdirs). (full_config_sysdirs): Variable removed. * csu/Makefile: Use $(sysdirs) in vpath directive. * math/Makefile (ulps-file): Use $(sysdirs). * sysdeps/gnu/Makefile (errlist-c): Likewise. ($(objpfx)errlist-compat.c): Likewise. * Makeconfig (all-Subdirs-files): Likewise. ($(common-objpfx)config.status): Likewise. * configure.in (sysnames): Handle absolute add-on directory names. (sysdeps_add_ons): New variable, AC_SUBST it. Compute which add-ons contributed sysdeps directories. * configure: Regenerated. * config.make.in (sysdeps-add-ons): New substituted variable. * Makerules (+sysdep_dirs, +sysdep-includes): Variables moved ... * Makeconfig: ... to here. (+sysdep_dirs): Append $(sysdeps-add-ons) here. (+includes): Remove $(objpfx) include, already in $(+sysdep_dirs). Remove $(includes). (sysdep-makeconfigs): Use $(+sysdep_dirs). ($(common-objpfx)shlib-versions.v.i): Likewise. * Makeconfig: Remove hair to set Makeconfig-add-on. * sysdeps/unix/Makefile (sysdirs): Remove export. (asm_CPP): Variable removed. ($(common-objpfx)sysd-syscalls): Pass them directly for the script. * sysdeps/posix/Makefile: New file. * Makerules (L_tmpnam, TMP_MAX, L_ctermid, L_cuserid): Set non-posix values here with ?=. * stdlib/gen-mpn-copy: File removed. * stdlib/Makefile (distribute): Remove it. * configure.in: Don't grok --with-gmp. * configure: Regenerated. * configure.in (libc_cv_idn): Don't check it; libidn/configure does it. * configure: Regenerated. * bare: Directory removed, saved in ports repository.
2005-11-06* configure.in: Remove gnu_ld definition and everything using it.Ulrich Drepper1-15/+2
* config.h.in: Remove HAVE_GNU_LD. * csu/Makefile: Remove use of gnu-ld. * csu/munch.awk: Removed. * csu/munch-tmpl.c: Removed. * include/libc-symbols.h: Remove use of HAVE_GNU_LD. * posix/execl.c: Likewise. * posix/execv.c: Likewise. * stdio-common/psignal.c: Likewise. * stdlib/exit.c: Likewise. * string/strsignal.c: Likewise. * string/tester.c: Likewise. * sysdeps/generic/errlist.c: Likewise. * sysdeps/generic/getenv.c: Likewise. * sysdeps/generic/getgroups.c: Likewise. * sysdeps/generic/init-posix.c: Likewise. * sysdeps/posix/gettimeofday.c: Likewise. * sysdeps/posix/system.c: Likewise. * sysdeps/unix/bsd/init-posix.c: Likewise. * sysdeps/unix/bsd/ulimit.c: Likewise. * sysdeps/unix/bsd/sun/m68k/brk.S: Likewise. * sysdeps/unix/bsd/sun/m68k/sethostid.S: Likewise. * sysdeps/unix/bsd/sun/sparc/sethostid.S: Likewise. * sysdeps/unix/i386/brk.S: Likewise. * sysdeps/unix/sparc/brk.S: Likewise.
2005-03-01* csu/Makefile: Use printf instead of echo for some shells.Ulrich Drepper1-1/+1
2005-01-03(generated): Add start.os and start.ob.Andreas Jaeger1-1/+3
2004-12-22(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.Ulrich Drepper1-10/+20
2007-07-122.5-18.1Jakub Jelinek1-20/+10
2004-08-202004-08-20 Roland McGrath <roland@frob.com>Roland McGrath1-3/+5
* csu/Makefile ($(objpfx)version-info.h): Use printf in place of echo -e for POSIX.2 portability. Reported by Paul Jarc <prj@po.cwru.edu>.
2004-03-08Update.Ulrich Drepper1-2/+2
2004-03-08 Ulrich Drepper <drepper@redhat.com> * Makerules: Use extra-modules.mk if modules-names is defined. * extra-modules.mk: New file. * dlfcn/Makefile (CPPFLAGS-modcxaatexit.c): Removed. * elf/Makefile (CFLAGS-interp.c): Add -DNOT_IN_libc=1. * csu/Makefile ($(objpfx)version-info.h): Pass -DNOT_IN_libc=1 to compiler. * Makefile (distribute): Add symbol-hacks.h. * sysdeps/generic/symbol-hacks.h: New file. * sysdeps/wordsize-32/symbol-hacks.h: New file. * sysdeps/wordsize-32/divdi3.c: Define *_internal aliases for __divdi3, __moddi3, __udivdi3, and __umoddi3. * include/libc-symbols.h: Include <symbol-hacks.h>.
2003-12-02* config.make.in (fno-unit-at-a-time): Define.Andreas Jaeger1-1/+1
* configure.in: Add test for -fno-unit-at-a-time. Fix text for -fpie. * csu/Makefile (CFLAGS-initfini.s): Add $(fno_unit_at_a_time). * locale/Makefile (CFLAGS-loadlocale.c): Likewise. For linuxthreads: * Makefile (CFLAGS-pt-initfini.s): Add $(fno_unit_at_a_time). * sysdeps/unix/sysv/linux/x86_64/Makefile (CFLAGS-pt-initfini.s): Likewise. For nptl: * Makefile (CFLAGS-pt-initfini.s): Add $(fno_unit_at_a_time). * sysdeps/unix/sysv/linux/x86_64/Makefile (CFLAGS-pt-initfini.s): Likewise.
2003-09-25Update.Ulrich Drepper1-1/+1
* csu/Makefile ($(objpfx)version-info.h): Fix sed script to handle banners.
2003-06-26Update.Ulrich Drepper1-1/+1
2003-06-17 Thorsten Kukuk <kukuk@suse.de> * nis/Makefile: Remove NIS/NIS+ files from nss_compat module. * nis/nss_compat/compat-grp.c: Don't use our own NIS/NIS+ functions, dlopen corresponding NSS module instead. * nis/nss_compat/compat-pwd.c: Likewise. * nis/nss_compat/compat-spwd.c: Likewise. * nis/nss_compat/compat-initgroups.c: Disabled for now. * nss/Versions: Export __nss_lookup_function. 2003-06-19 Daniel Jacobowitz <drow@mvista.com> * sysdeps/unix/sysv/linux/kernel-features.h: Update kernel features for the SH architecture. 2003-06-25 Thorsten Kukuk <kukuk@suse.de> * csu/Makefile: Use CPPFLAGS to find correct linux/version.h.
2003-05-31Update.Ulrich Drepper1-4/+4
* csu/Makefile: Fix Makefile warnings regarding Scrt1. * sysdeps/ia64/elf/initfini.c (gmon_initializer): Mark with
2003-05-28Update.Ulrich Drepper1-3/+16
2003-05-28 Ulrich Drepper <drepper@redhat.com> * include/libc-symbols.h: Define hidden attribute for real also if LIBC_NONSHARED is defined. Patch by Jakub Jelinek. * csu/Makefile: Add rules to build Scrt1.o. * sysdeps/i386/elf/start.S: Make code compilable with SHARED.
2003-05-14Update.Ulrich Drepper1-5/+0
* csu/Makefile: Do compile elf-init with PIC flag since in dynamic binaries it has to be relocatable.
2003-05-04* csu/Makefile ($(csu-dummies) target rule): Don't use a temp C file.Roland McGrath1-5/+3
Depend on $(before-compile).
2003-05-04* csu/Makefile ($(objpfx)crt%.o): Replace implicit rule with a staticRoland McGrath1-1/+1
pattern rule. The implicit rule could be ruled out when $(objpfx) didn't exist at the time of its consideration (ugh!). * Makerules (+make-deps): Fix target matching. Use $(sed-remove-dotdot).
2003-05-03* sysdeps/gnu/Makefile (generated): Append errlist-compat.c here, ...Roland McGrath1-1/+1
* stdio-common/Makefile: ... not here. * csu/Makefile ($(objpfx)initfini.s): Depend on $(before-compile). * sysdeps/gnu/Makefile ($(objpfx)errlist-compat.c): Likewise.
2003-04-19Update.Ulrich Drepper1-1/+1
2003-04-19 Ulrich Drepper <drepper@redhat.com> * catgets/nl_types.h: Remove __THROW marker from cancellation points. * dirent/dirent.h: Likewise. * dlfcn/dlfcn.h: Likewise. * grp/grp.h: Likewise. * iconv/iconv.h: Likewise. * io/fcntl.h: Likewise. * io/ftw.h: Likewise. * libio/stdio.h: Likewise. * misc/sys/mman.h: Likewise. * misc/sys/select.h: Likewise. * misc/sys/syslog.h: Likewise. * misc/sys/uio.h: Likewise. * posix/spawn.h: Likewise. * posix/unistd.h: Likewise. * posix/sys/wait.h: Likewise. * pwd/pwd.h: Likewise. * resolv/netdb.h: Likewise. * rt/aio.h: Likewise. * shadow/shadow.h: Likewise. * signal/signal.h: Likewise. * socket/sys/socket.h: Likewise. * stdlib/stdlib.h: Likewise. * streams/stropts.h: Likewise. * string/string.h: Likewise. * sysdeps/gnu/utmpx.h: Likewise. * sysvipc/sys/msg.h: Likewise. * termios/termios.h: Likewise. * time/time.h: Likewise. * wcsmbs/wchar.h: Likewise. * iconv/gconv_cache.c: Include <not-cancel.h> and use non-cancelable functions. * misc/daemon.c: Likewise. * sysdeps/generic/backtracesymsfd.c: Likewise. * sysdeps/generic/check_fds.c: Likewise. * sysdeps/unix/sysv/linux/gethostid.c: Likewise. * sysdeps/unix/sysv/linux/not-cancel.h: New file. * sysdeps/generic/not-cancel.h: New file. * csu/Makefile (distribute): Add not-cancel.h. * sysdeps/unix/sysv/linux/fatal-prepare.h: New file. * sysdeps/unix/sysv/linux/Makefile: Define FATAL_PREPARE_INCLUDE for assert.c and assert-perr.c to include <fatal-prepare.h>. * sysdeps/unix/sysv/linux/Dist: Add fatal-prepare.h. * sysdeps/posix/remove.c (remove): Rewrite. No need to restore errno and unlink first. * io/ftw.c (ftw_dir): In all places assume fchdir is available. 2003-04-18 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Use INTERNAL_SYSCALL instead of INLINE_SYSCALL.
2003-04-122003-04-11 Roland McGrath <roland@redhat.com>Roland McGrath1-1/+2
* csu/tst-empty.c: New file. * csu/Makefile (tests, tests-static): Add it.
2003-03-22* include/atomic.h (atomic_increment_and_test): Invert sense of test.Roland McGrath1-1/+3
Add comment. (atomic_decrement_and_test): Add comment. 2003-03-22 Jakub Jelinek <jakub@redhat.com> * include/atomic.h (atomic_compare_and_exchange_val_acq): Add comment. Don't define if __arch_compare_and_exchange_val_32_acq is not defined. (atomic_compare_and_exchange_bool_acq): Add comment. Don't use __oldval variable in the macro, since it might be macro argument. (atomic_decrement_if_positive): Initialize __memp, remove setting of non-existent variable. (atomic_bit_test_set): Cast 1 to __typeof (*mem) before shifting. * sysdeps/ia64/bits/atomic.h (atomic_exchange_and_add): Implement using atomic_compare_and_exchange_val_acq. (atomic_decrement_if_positive, atomic_bit_test_set): Define. * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_8_acq): Renamed from... (__arch_compare_and_exchange_bool_8_acq): ... this. (__arch_compare_and_exchange_val_16_acq): Renamed from... (__arch_compare_and_exchange_bool_16_acq): ... this. (__arch_compare_and_exchange_val_32_acq): Return old value. Renamed from... (__arch_compare_and_exchange_bool_32_acq): ... this. (__arch_compare_and_exchange_val_64_acq): Return old value. Renamed from... (__arch_compare_and_exchange_bool_64_acq): ... this. (__arch_compare_and_exchange_val_32_acq): Use __typeof for local variables types instead of assuming int. Change prefix of local variables to __arch. * sysdeps/generic/bits/atomic.h (arch_compare_and_exchange_acq): Remove. (atomic_compare_and_exchange_val_acq, atomic_compare_and_exchange_bool_acq): Define. * csu/tst-atomic.c: New test. * csu/tst-atomic-long.c: New test. * csu/Makefile (tests): Add tst-atomic and tst-atomic-long. * malloc/memusagestat.c (main): Kill warning if uint64_t is ulong. * sysdeps/s390/Versions: Add trailing newline. * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Kill warning if INTERNAL_SYSCALL_ERROR_P doesn't use its first argument.
2002-12-31Update.Ulrich Drepper1-1/+1
2002-12-31 Ulrich Drepper <drepper@redhat.com> * string/string-inlines.c: Define __memcpy_g and __strchr_g macros to avoid using the exported symbols. Define aliases with the original names separately. * include/time.h: Add libc_hidden_proto for __strftime_l. * include/wchar.h: Add libc_hidden_proto for __wcsftime_l. * time/strftime.c: Always use libc_hidden_def if _LIBC. * libio/libioP.h: Add libc_hidden_proto for _IO_file_open. * libio/fileops.c: Add libc_hidden_def for _IO_file_open. * malloc/mtrace.c: Add libc_hidden_proto and libc_hidden_def for tr_break. * csu/Makefile (routines): Add dso_handle. * csu/dso_handle.c: New file.
2002-12-122002-12-11 Roland McGrath <roland@redhat.com>Roland McGrath1-5/+5
* csu/Makefile ($(objpfx)elf-init.oS): Remove target, braino. (CPPFLAGS-elf-init.oS, CFLAGS-elf-init.oS): New variables. Turn off PIC for compiling this file.
2002-12-11* csu/Makefile ($(objpfx)elf-init.oS): New target, just cloneRoland McGrath1-0/+5
elf-init.o instead of compiling a PIC version.
2002-12-09* elf/Makefile (tests): Uncomment tst-array[123].Roland McGrath1-1/+2
* Makeconfig (CPPFLAGS-.oS): Add -DLIBC_NONSHARED=1. * csu/elf-init.c: New file. * csu/Makefile (routines, static-only-routines): Add elf-init. * sysdeps/alpha/elf/start.S: Use __libc_csu_init in place of _init and __libc_csu_fini in place of _fini. * sysdeps/arm/elf/start.S: Likewise. * sysdeps/cris/elf/start.S: Likewise. * sysdeps/hppa/elf/start.S: Likewise. * sysdeps/i386/elf/start.S: Likewise. * sysdeps/ia64/elf/start.S: Likewise. * sysdeps/m68k/elf/start.S: Likewise. * sysdeps/mach/hurd/powerpc/static-start.S: Likewise. * sysdeps/mips/elf/start.S: Likewise. * sysdeps/powerpc/powerpc32/elf/start.S: Likewise. * sysdeps/powerpc/powerpc64/elf/start.S: Likewise. * sysdeps/s390/s390-32/elf/start.S: Likewise. * sysdeps/s390/s390-64/elf/start.S: Likewise. * sysdeps/sh/elf/start.S: Likewise. * sysdeps/sparc/sparc32/elf/start.S: Likewise. * sysdeps/sparc/sparc64/elf/start.S: Likewise. * sysdeps/x86_64/elf/start.S: Likewise.
2002-11-11* sysdeps/unix/make-syscalls.sh: Insert $(make-target-directory) atRoland McGrath1-0/+5
the beginning of generated target commands. * csu/Makefile ($(objpfx)crti.o, $(objpfx)crtn.o): Add explicit dependencies for these in case implicit rule search skipped the nonexistent source directory. * sysdeps/gnu/Makefile ($(objpfx)errlist.d): Give this rule all the files with $(object-suffixes) as targets too. * Makerules [no_deps && objpfx] (before-compile): Add $(objpfx). and a target for it using $(make-target-directory). * Rules (before-compile): Add $(common-objpfx)bits/stdio-lim.h. * sysdeps/unix/sysv/linux/bits/pthreadtypes.h: Moved to ... * sysdeps/generic/bits/pthreadtypes.h: ... here.
2002-10-11* sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: ConditionalRoland McGrath1-0/+1
changed from [USE_TLS && HAVE___THREAD]. * sysdeps/i386/dl-machine.h (elf_machine_type_class, elf_machine_rel): Disable TLS relocs if [RTLD_BOOTSTRAP && !USE___THREAD]. * sysdeps/x86_64/dl-machine.h (elf_machine_type_class, elf_machine_rela): Likewise. * sysdeps/sh/dl-machine.h (elf_machine_type_class, elf_machine_rela): Likewise. * include/link.h (struct link_map): Remove member l_tls_tp_initialized. * elf/rtld.c (_dl_start_final, dl_main): Don't use it. (_dl_start): Conditionalize PT_TLS check on [USE___THREAD]. * sysdeps/i386/dl-tls.h (__TLS_GET_ADDR): Use ___tls_get_addr_internal instead of ___tls_get_addr. (___tls_get_addr_internal): Add attribute_hidden to decl. * sysdeps/generic/ldsodefs.h (struct rtld_global): New variable _dl_error_catch_tsd. * elf/rtld.c (startup_error_tsd): New function. (dl_main): Point _dl_error_catch_tsd at that. * elf/dl-error.c: Don't use libc-tsd.h for DL_ERROR, use new function pointer instead. * elf/dl-tsd.c: New file. * elf/Makefile (routines): Add it. 2002-10-07 Roland McGrath <roland@redhat.com> * elf/dl-misc.c (_dl_debug_vdprintf): Use INTERNAL_SYSCALL macro for writev if it's available. Otherwise if [RTLD_PRIVATE_ERRNO] then take _dl_load_lock around calling __writev. * sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL): New macro. (INLINE_SYSCALL): Use that. * sysdeps/generic/dl-sysdep.h: New file. * sysdeps/mach/hurd/dl-sysdep.h: New file. * sysdeps/generic/ldsodefs.h: Include <dl-sysdep.h>. * include/errno.h [IS_IN_rtld]: Include <dl-sysdep.h> to define ... [RTLD_PRIVATE_ERRNO]: Use a hidden global variable for errno and access it directly. * elf/dl-minimal.c (__errno_location): Removed. * sysdeps/unix/i386/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]: Use GOTOFF access for errno. * sysdeps/unix/sysv/linux/i386/sysdep.h [RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise. * sysdeps/unix/x86_64/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]: Use PC-relative access for errno. * sysdeps/unix/sysv/linux/x86_64/sysdep.h [RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise. * include/tls.h: New file. (USE___THREAD): New macro. Define to 1 under [USE_TLS && HAVE___THREAD] and only when compiling libc or libpthread. * sysdeps/unix/sysv/linux/i386/sysdep.h [USE___THREAD]: Conditional changed from [USE_TLS && HAVE___THREAD]. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * sysdeps/unix/i386/sysdep.S: Likewise. * sysdeps/unix/x86_64/sysdep.S: Likewise. * include/errno.h: Likewise. * include/netdb.h: Likewise. * include/resolv.h: Likewise. * sysdeps/generic/errno.c: New file. * csu/Makefile (aux): New variable, list errno. * sysdeps/unix/sysv/linux/i386/sysdep.S (errno, _errno): Remove defns. * sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/cris/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/hppa/sysdep.c: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/sysdep.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep.S: Likewise. * sysdeps/unix/alpha/sysdep.S: Likewise. * sysdeps/generic/start.c: Likewise. * sysdeps/unix/start.c: Likewise. * sysdeps/unix/arm/start.c: Likewise. * sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise. * sysdeps/unix/sparc/start.c: Likewise. * sysdeps/unix/sysv/irix4/start.c: Likewise. * sysdeps/unix/sysv/linux/mips/sysdep.S: File removed. * manual/search.texi (Tree Search Function, Hash Search Function): Mention search.h clearly. 2002-10-05 Roland McGrath <roland@redhat.com> * elf/dl-fxstat64.c: File removed. * elf/dl-xstat64.c: File removed. * elf/Makefile (rtld-routines): Remove them. * sysdeps/unix/sysv/linux/xstat64.c: Remove RTLD_STAT64 conditionals. Instead, use strong_alias instead of versioned_symbol in the !SHLIB_COMPAT case. * sysdeps/unix/sysv/linux/fxstat64.c: Likewise. * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. * include/shlib-compat.h (SHLIB_COMPAT): Require that IS_IN_##lib be defined nonzero. [! NOT_IN_libc] (IS_IN_libc): Define it. * cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Use -Dx=1 not just -Dx. * elf/Makefile (CPPFLAGS-.os): Likewise. * sunrpc/rpc_main.c (main): Don't declare with noreturn attribute. Return the status instead of calling exit. * Makeconfig (CFLAGS): Prepend -std=gnu99. * Makerules (+make-deps): Use $(CFLAGS) only for .c sources. Remove superfluous rm command, whose @ plus make bugs hid all these commands from the make output. * include/stubs-prologue.h: New file. Give #error under #ifdef _LIBC. * Makefile ($(inst_includedir)/gnu/stubs.h): Depend on it. Use that file's contents instead of literal echo's for the prologue. * include/features.h: Include <gnu/stubs.h> unconditionally. * include/gnu/stubs.h: New file. 2002-09-30 Roland McGrath <roland@redhat.com> * elf/rtld-Rules: New file. * elf/Makefile ($(objpfx)librtld.map, $(objpfx)librtld.mk, $(objpfx)rtld-libc.a): New targets. (generated): Add them. (reloc-link): Remove -o $@ from the variable. ($(objpfx)dl-allobjs.os): Add -o $@ after $(reloc-link). (distribute): Add rtld-Rules. (CPPFLAGS-.os): Define this instead of CFLAGS-.os. * Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for rtld-% targets. (common-mostlyclean, common-clean): Clean up rtld-* files. * sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules.
2002-08-15Update.Ulrich Drepper1-1/+1
2002-08-15 Ulrich Drepper <drepper@redhat.com> * csu/Makefile: Define elide-routines.os not static-only-routines. * include/sched.h (__clone): Add varargs at the end. * elf/rtld.c (_dl_start): All TLS_INIT_TP to fail and stop in that case. (TLS_INIT_HELPER): If defined use it. * sysdeps/generic/libc-tls.c (TLS_INIT_HELPER): Likewise. * locale/loadarchive.c (archfname): Add missing slash. * sysdeps/generic/strtold.c (__strtold_internal): Add libc_hidden_def. * wcsmbs/wcstold.c (__wcstold_internal): Add libc_hidden_def.
2002-07-23Update.Ulrich Drepper1-2/+4
2002-07-23 Ulrich Drepper <drepper@redhat.com> * sysdeps/generic/libc-tls.c: New file. * csu/Makefile (routines): Add libc-tls. (static-only-routines): Add libc-tls. * elf/dl-support.c (_dl_phdr): New variable. (_dl_phnum): New variable. (_dl_aux_init): Initialize _dl_phdr and _dl_phnum from aux vector. * sysdeps/generic/libc-start.c (__libc_start_main): Reorganize code for !SHARED. First look through auxiliary vector. If TLS always call __pthread_initialize_minimal. * sysdeps/generic/dl-tls.c (_dl_allocate_tls): Make sure size argument in mmap call is never zero.
2002-02-23Update.Ulrich Drepper1-3/+1
2002-02-23 Ulrich Drepper <drepper@redhat.com> * csu/set-init.c: Moved to... * sysdeps/mach/hurd/set-init.c: ...here. New file. * csu/Makefile: Don't compile set-init. * sysdeps/mach/hurd/Makefile: Compile set-init for subdir csu. * sysdeps/mach/hurd/i386/init-first.c: Call __init_misc in addition to __libc_init. * sysdeps/mach/hurd/mips/init-first.c: Likewise. * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Call __init_misc instead of __libc_init. * misc/init-misc.c: Always export __init_misc. Don't define hooks for __libc_subinit.
2001-07-06Update to LGPL v2.1.Andreas Jaeger1-10/+9
2001-07-06 Paul Eggert <eggert@twinsun.com> * manual/argp.texi: Remove ignored LGPL copyright notice; it's not appropriate for documentation anyway. * manual/libc-texinfo.sh: "Library General Public License" -> "Lesser General Public License". 2001-07-06 Andreas Jaeger <aj@suse.de> * All files under GPL/LGPL version 2: Place under LGPL version 2.1.
2001-05-14* csu/Makefile ($(objpfx)g$(start-installed-name)): Turn this into aRoland McGrath1-3/+11
static pattern rule also that also covers $(objpx)g$(static-start-installed-name). [$(start-installed-name) != $(static-start-installed-name)] (extra-objs, omit-deps, install-lib): Add $(static-start-installed-name) and g$(static-start-installed-name). * sysdeps/mach/hurd/i386/Makefile: Don't add crt0.o to those here; just setting static-start-installed-name is now sufficient. (extra-objs): Add static-start.o here. (CFLAGS-initfini.s): Remove obsolete variable. * sysdeps/mach/hurd/i386/Makeconfig: New file. Define static-start-installed-name here. * Makeconfig: Include existing $(full_config_sysdirs:=/Makeconfig). * Make-dist (+sysdep-tsrcs): Look for Makeconfig files. * Makerules ($(+sysdir_pfx)sysd-Makefile): Remove this target and associated hair. Instead, just use $(wildcard ...) in the include. * configure.in (critic_missing, aux_missing): Collect in these vars the names of the missing programs, and include them in the error msgs. * configure: Regenerated.
2001-03-16Update.Ulrich Drepper1-4/+9
2001-03-12 Jakub Jelinek <jakub@redhat.com> * csu/Makefile (abi-tag.h): Define OS and version separately, allow version to be overriden from config.h. * csu/abi-note.S: Use OS and version separately, include config.h. * elf/dl-load.c (_dl_osversion): New. (_dl_map_object_from_fd): Kill some warnings. (open_verify): Check .note.ABI-tag of the library if present. * elf/Makefile (CPPFLAGS-dl-load.c): Add -I$(csu-objpfx). * elf/cache.c (struct cache_entry): Add osversion. (print_entry): Print osversion. (print_cache): Pass osversion to it. (compare): Sort according to osversion. (save_cache): Set osversion. (add_to_cache): Add osversion argument. * sysdeps/generic/ldconfig.h (add_to_cache, process_file, process_elf_file): Add osversion argument. * elf/readlib.c (process_file): Likewise. * sysdeps/generic/readelflib.c (process_elf_file): Likewise. * sysdeps/unix/sysv/linux/ia64/readelflib.c (process_elf_file, process_elf32_file, process_elf64_file): Likewise. * sysdeps/unix/sysv/linux/i386/readelflib.c (process_elf_file, process_elf32_file, process_elf64_file): Likewise. * sysdeps/unix/sysv/linux/sparc/readelflib.c (process_elf_file, process_elf32_file, process_elf64_file): Likewise. * elf/ldconfig.c (manual_link): Pass it. (search_dir): Issue diagnostic if two libs with the same soname in the same directory have different .note.ABI-tag. Record osversion in dlib_entry and use it from there. (struct lib_entry): Remove. (struct dlib_entry): Add osversion. * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Check osversion. * sysdeps/generic/dl-cache.h (struct file_entry_new): Replace __unused field with osversion. * sysdeps/generic/ldsodefs.h (_dl_osversion): Declare. * sysdeps/unix/sysv/linux/init-first.c: Include ldsodefs.h. * sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): Save kernel version in _dl_osversion. * sysdeps/unix/sysv/linux/configure.in: Define __ABI_TAG_VERSION. * Makerules (build-shlib-helper, build-module-helper): New. (build-shlib, build-module-helper): Make sure .note.ABI-tag comes early. * config.h.in (__ABI_TAG_VERSION): Add. * elf/dl-minimal.c (__strtoul_internal): Set endptr on return. * sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): Handle LD_ASSUME_KERNEL. * sysdeps/unix/sysv/linux/dl-librecon.h: New.