aboutsummaryrefslogtreecommitdiff
path: root/elf/Makefile
AgeCommit message (Collapse)Author
2004-01-24Update.Ulrich Drepper
2004-01-23 David Mosberger <davidm@hpl.hp.com> * sysdeps/generic/ldsodefs.h (struct rtld_global): Add members _dl_load_adds and _dl_load_subs. * elf/dl-support.c (_dl_load_adds): New variable. (_dl_load_subs): Likewise. * elf/dl-object.c (_dl_new_object): Increment dl_load_adds. * elf/dl-close.c (_dl_close): Increment dl_load_subs. * elf/link.h (struct dl_phdr_info): Add members dlpi_adds and dlpi_subs. * include/link.h: Likewise. * elf/dl-iteratephdr.c (__dl_iterate_phdr): Initialize dlpi_adds and dlpi_subs members. (dl_iterate_phdr): Likewise. * elf/tst-dlmodcount.c: New file. * elf/Makefile (distribute): Mention tst-dlmodcount.c. (tests): If build-shared, mention tst-dlmodcount. ($(objpfx)tst-dlmodcount): If build-shared, build and run tst-dlmodcount.
2003-10-22* sysdeps/unix/sysv/linux/hppa/sysdep.h: Fix merge error.Roland McGrath
2003-10-15 Roland McGrath <roland@redhat.com> * elf/dl-iteratephdr.c [! SHARED] (dl_iterate_phdr): New function. Fake an entry for the main executable and then call __dl_iterate_phdr. * elf/Makefile (routines): Remove dl-iteratephdr-static. (elide-routines.os): Likewise. (CFLAGS-dl-iterate-phdr-static.c): Variable removed. * sysdeps/generic/dl-iteratephdr-static.c: File removed. * sysdeps/unix/sysv/linux/ia64/dl-iteratephdr-static.c: File removed.
2003-09-24* elf/rtld.c (dl_main): In rtld_is_main case, reinitializeRoland McGrath
GL(dl_stack_flags) according to rtld's own PT_GNU_STACK. Move GL(dl_make_stack_executable_hook) initialization up. * elf/tst-execstack-prog.c: New file. * elf/Makefile (tests-execstack-yes): Add it. (LDFLAGS-tst-execstack-prog): New variable.
2003-09-23* sysdeps/i386/dl-machine.h (RTLD_START): Set __libc_stack_end beforeRoland McGrath
calling _dl_start, using GOTOFF access. * configure.in (libc_cv_z_execstack): New check. * configure: Regenerated. * config.make.in (have-z-execstack): New variable set by it. * elf/tst-execstack.c: New file. * elf/tst-execstack-mod.c: New file. * elf/tst-execstack-needed.c: New file. * elf/Makefile (tests-execstack-yes, modules-execstack-yes): New variables. (tests, modules-names): Conditionally include them. (distribute): Add tst-execstack-mod.c here. ($(objpfx)tst-execstack, $(objpfx)tst-execstack.out): New targets. (LDFLAGS-tst-execstack, LDFLAGS-tst-execstack-mod): New variables. ($(objpfx)tst-execstack-needed): New target. (LDFLAGS-tst-execstack-needed): New variable. * sysdeps/generic/ldsodefs.h (struct rtld_global): Add _dl_stack_flags and _dl_make_stack_executable_hook. Declare _dl_make_stack_executable. * elf/rtld.c (_rtld_global): Add initializer for _dl_stack_flags. (dl_main): Reset _dl_stack_flags according to PT_GNU_STACK phdr. Initialize _dl_make_stack_executable_hook. * elf/dl-support.c: Define those new variables. (_dl_non_dynamic_init): Scan phdrs for PT_GNU_STACK. (_dl_phdr): Fix type. * elf/dl-load.c (_dl_map_object_from_fd): Grok PT_GNU_STACK phdr and enable execute permission for the stack if necessary. * sysdeps/generic/dl-execstack.c: New file. * elf/Makefile (dl-routines): Add it. * elf/Versions (ld: GLIBC_PRIVATE): Add _dl_make_stack_executable. * sysdeps/unix/sysv/linux/dl-execstack.c: New file.
2003-09-20Update.Ulrich Drepper
* elf/Makefile ($(objpfx)librtld.os): Create link map also for final build to ease quality control.
2003-09-17Update.Ulrich Drepper
2003-09-17 Philip Blundell <philb@gnu.org> * sysdeps/unix/sysv/linux/arm/vfork.S: Branch to fork if libpthread is loaded. Elide backwards compatibility code when not required.
2003-09-16Update.Ulrich Drepper
2003-09-15 Jakub Jelinek <jakub@redhat.com> * argp/argp.h (argp_parse, __argp_parse): Remove __THROW. * argp/Makefile (CFLAGS-argp-help.c, CFLAGS-argp-parse.c): Add $(uses-callbacks). * dirent/Makefile (CFLAGS-scandir.c, CFLAGS-scandir64.c): Likewise. * elf/Makefile (CFLAGS-dl-iterate-phdr.c, CFLAGS-dl-iterate-phdr-static.c): Add $(uses-callbacks). * elf/dl-iteratephdr.c (cancel_handler): New function. (__dl_iterate_phdr): Add __libc_cleanup_{push,pop}. * elf/link.h (dl_iterate_phdr): Remove __THROW. * io/Makefile (CFLAGS-fts.c): Merge into one assignment. Add $(uses-callbacks). (CFLAGS-ftw.c, CFLAGS-ftw64.c): Add $(uses-callbacks). * misc/Makefile (CFLAGS-tsearch.c, CFLAGS-lsearch.c): Change $(exceptions) to $(uses-callbacks). * Makeconfig (uses-callbacks): Set to $(exceptions). * posix/Makefile (CFLAGS-glob.c, CFLAGS-glob64.c): Add $(uses-callbacks). * stdlib/Makefile (CFLAGS-bsearch.c, CFLAGS-msort.c, CFLAGS-qsort.c): Likewise.
2003-08-14Update.Ulrich Drepper
2003-08-13 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/i386/syscalls.list: Add time syscall. * elf/Makefile: Use LC_ALL=C in a few cases where we call external text processing tools. * sysdeps/pthread/aio_misc.h (struct waitlist): Don't add caller_pid element unless BROKEN_THREAD_SIGNALS is defined. (struct requestlist): Likewise. * sysdeps/pthread/aio_misc.c (__aio_enqueue_request): Don't fill in caller_pid of new request unless BROKEN_THREAD_SIGNALS is defined. * sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise. * sysdeps/pthread/aio_notify.c (__aio_notify_only): Remove caller_pid parameter unless BROKEN_THREAD_SIGNALS is defined. Adjust callers. Pass current PID to __aio_sigqueue. * sysdeps/pthread/lio_listio.c (lio_listio): Adjust __aio_notify_only call. Don't initialize caller_pid field of waitlist element.
2003-07-30revert bogus commitRoland McGrath
2003-07-29* elf/dl-support.c: Likewise.Roland McGrath
2003-07-29* elf/Makefile: Revert accidental changes in last commit.Roland McGrath
2003-07-29* elf/Makefile (tests) [$(build-shared) = yes]:Roland McGrath
Depend on $(test-modules). * dlfcn/Makefile: Likewise.
2003-07-24Update.Ulrich Drepper
2003-07-24 Ulrich Drepper <drepper@redhat.com> * include/link.h (struct link_map): Add l_tls_firstbyte_offset field. * sysdeps/generic/dl-tls.c [TLS_TCB_AT_TP] (_dl_determine_tlsoffset): Fix calculation of offsets to take misalignment of first byte in file into account. * elf/dl-load.c (_dl_map_object_from_fd): Initialize l_tls_firstbyte_offset field. * elf/rtld.c (_dl_start_final, _dl_start, dl_main): Likewise. * elf/dl-reloc.c (_dl_allocate_static_tls): Change return type to int. Take l_tls_firstbyte_offset information into account. (CHECK_STATIS_TLS): _dl_allocate_static_tls can fail now. * sysdeps/generic/ldsodefs.h: Adjust _dl_allocate_static_tls prototype. * elf/Makefile: Add rules to build and run tst-tls14. * elf/tst-tls14.c: New file. * elf/tst-tlsmod14a.c: New file. * elf/tst-tlsmod14b.c: New file.
2003-07-22Update.Ulrich Drepper
2003-07-22 H.J. Lu <hongjiu.lu@intel.com> * elf/dl-support.c (_dl_hwcap): New variable. (_dl_aux_init): Initialize GL(dl_hwcap) for static binaries. * sysdeps/i386/fpu/fclrexcpt.c: Include <unistd.h>, <ldsodefs.h> and <dl-procinfo.h>. (__feclearexcept): Clear MXCSR if needed. * sysdeps/i386/fpu/fsetexcptflg.c: Likewise. * sysdeps/i386/fpu_control.h (_FPU_GETCW, _FPU_SETCW): Document that newer hardware needs more than these macros. * sysdeps/i386/setfpucw.c: New file. 2003-07-22 Jakub Jelinek <jakub@redhat.com> * elf/Makefile (CFLAGS-ldconfig.c): Define IS_IN_ldconfig. * elf/ldconfig.c: Include dl-procinfo.c. (PROCINFO_CLASS): Define. * sysdeps/generic/ldsodefs.h (PROCINFO_CLASS): Define. * sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c: New file. * sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h: New file. * sysdeps/unix/sysv/linux/i386/dl-procinfo.c (PROCINFO_CLASS): Define if not yet defined. Use it instead of EXTERN. Undefine at the end of the file. * sysdeps/unix/sysv/linux/arm/dl-procinfo.c (PROCINFO_CLASS): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c (PROCINFO_CLASS): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c (PROCINFO_CLASS): Likewise. 2003-07-22 H.J. Lu <hongjiu.lu@intel.com> * elf/ldconfig.c (main): Issue a fatal error if relative path is used to build cache. 2003-07-22 Ulrich Drepper <drepper@redhat.com> * elf/readlib.c (process_file): Avoid possible overflow in assignment.
2003-07-21Update.Ulrich Drepper
2003-07-21 Ulrich Drepper <drepper@redhat.com> * Makerules (build-module-helper): Add -z defs unless explicitly said not to do it. * dlfcn/Makefile: Define various *-no-z-defs variables for test DSOs which has undefined symbols. * elf/Makefile: Likewise.
2003-06-02Update.Ulrich Drepper
2003-06-02 Ulrich Drepper <drepper@redhat.com> * posix/getconf.c (main): Also recognize names without the __POSIX_ prefix. * elf/Makefile (CFLAGS-dl-lookup.c): Define.
2003-06-01Update.Ulrich Drepper
2003-06-01 Ulrich Drepper <drepper@redhat.com> * elf/Makefile (CFLAGS-dl-runtime.c): Define. * wcsmbs/wcpncpy.c (__wcpncpy): Fix broken implementation to match stpncpy.
2003-04-27Update.Ulrich Drepper
2003-04-26 Ulrich Drepper <drepper@redhat.com> * elf/dl-close.c [USE_TLS && TLS_TCB_AT_TP] (_dl_close): Reimplement tracking of freed memory in static TLS block. * elf/Makefile: Add rules to build and run tst-tls13. * elf/tst-tls13.c: New file. * elf/tst-tlsmod13.c: New file. * elf/tst-tlsmod13a.c: New file. * elf/tst-tls8.c: Adjust types of variables to avoid warnings. * elf/dl-reloc.c: Pretty printing.
2003-04-17Update.Ulrich Drepper
2003-04-16 Jakub Jelinek <jakub@redhat.com> * elf/Makefile (distribute): Add tst-tlsmod{[7-9],1[0-2]}.c and tst-tls10.h. (tests): Add tst-tls1[0-2]. (modules-names): Add tst-tlsmod{[7-8],1[0-2]}. ($(objpfx)tst-tlsmod8.so): Depend on tst-tlsmod7.so. ($(objpfx)tst-tlsmod10.so): Depend on tst-tlsmod9.so. ($(objpfx)tst-tlsmod12.so): Depend on tst-tlsmod11.so. ($(objpfx)tst-tls10): Depend on tst-tlsmod8.so. ($(objpfx)tst-tls11): Depend on tst-tlsmod10.so. ($(objpfx)tst-tls12): Depend on tst-tlsmod12.so. * elf/tst-tls10.c: New test. * elf/tst-tls11.c: New test. * elf/tst-tls12.c: New test. * elf/tst-tls10.h: New file. * elf/tst-tlsmod7.c: New file. * elf/tst-tlsmod8.c: New file. * elf/tst-tlsmod9.c: New file. * elf/tst-tlsmod10.c: New file. * elf/tst-tlsmod11.c: New file. * elf/tst-tlsmod12.c: New file. 2003-04-15 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/powerpc/bits/atomic.h: Moved ppc32/64 specific code to ... * sysdeps/powerpc/powerpc32/bits/atomic.h: New file. * sysdeps/powerpc/powerpc64/bits/atomic.h: New file. * posix/regex.h: Include <sys/types.h>.
2003-03-27* Makerules (check-abi) [$(enable-check-abi) = warn]:Roland McGrath
Ignore exit status from diff. * configure.in (enable_check_abi): Document possible value "warn". Change default to no for now. * configure: Regenerated. * sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Emit stub_warning macro calls and a #include <stub-tag.h> at the end. * Makerules ($(objpfx)stubs): Tweak sed commands. * sysdeps/unix/sysv/linux/syscalls.list: Use - rather than EXTRA in caller column for *xattr syscalls, since they are in sysdeps/generic. * sysdeps/unix/sysv/linux/i386/setfsuid.c: setfsgid -> setfsuid * sysdeps/unix/sysv/linux/i386/setfsgid.c: setfsuid -> setfsgid 2003-03-26 Roland McGrath <roland@redhat.com> * Makerules (check-abi-config): Use /thread instead of /tls when use-thread and not just use-tls is set. * Makerules (update-abi): Put quotes around $(update-abi-config). * elf/Makefile (check-abi): Depend on check-abi-ld. (update-abi): Depend on update-abi-ld.
2003-03-13* elf/Makefile ($(objpfx)librtld.mk): Tweak regexp so that one-lineRoland McGrath
entries in the map file match too.
2003-02-21Update.Ulrich Drepper
2003-02-20 Ulrich Drepper <drepper@redhat.com> * version.h (VERSION): Bump to 2.3.2. * elf/Makefile (distribute): Add reldep9.c, tst-array1.exp, tst-array2.exp, tst-array4.exp, tst-array2dep.c, check-textrel.c, and dl-sysdep.h. * sysdeps/generic/Dist: Add sysdep-cancel.h. * sysdeps/powerpc/nofpu/Dist: Add soft-supp.h. * sysdeps/unix/Dist: Add s-proto-bp.S and s-proto-cancel.S. * sysdeps/unix/sysv/linux/Dist: Add pathconf.h. * sysdeps/unix/sysv/linux/i386/Dist: Add bp-thunk.h. * sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist: Add fe_nomask.c and ucontext_i.h. * Makefile (distribute): Add include/stubs-prologue.h, include/gnu/stubs.h, scripts/merge-abilist.awk, and scripts/extract-abilist.awk. 2002-02-20 Paolo Bonzini <bonzini@gnu.org>
2003-02-11Update.Ulrich Drepper
2003-02-10 Ulrich Drepper <drepper@redhat.com> * elf/Makefile (check-textrel-CFLAGS): Pass _XOPEN_SOURCE and _BSD_SOURCE to compiler. * elf/check-textrel.c (SWAP): Add parenthesis to avoid warnings. Patches by Alan Modra.
2003-01-27Update.Ulrich Drepper
2003-01-26 Andreas Schwab <schwab@suse.de> * sysdeps/wordsize-32/divdi3.c: Export the functions only as compatibility symbols. Remove INTDEF for __divdi3. * sysdeps/wordsize-32/lldiv.c: Don't use __divdi3_internal. * sysdeps/powerpc/powerpc32/divdi3.c: Remove. * sysdeps/powerpc/powerpc32/Makefile (CPPFLAGS-divdi3.c): Don't define. * sysdeps/powerpc/powerpc32/Dist: Remove divdi3.c. 2003-01-24 Jakub Jelinek <jakub@redhat.com> * elf/tls-macros.h: Add SPARC 32-bit definitions. * sysdeps/sparc/sparc32/elf/configure.in: Add TLS check. * sysdeps/sparc/sparc32/dl-machine.h: Add dl_machine_h guards for the first half of the header. Include tls.h. (elf_machine_type_class): Return ELF_RTYPE_CLASS_PLT for TLS relocs too. (elf_machine_rela): Handle TLS relocs. * sysdeps/sparc/dl-tls.h: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Add cancellation support. * sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Use %g6 instead of %g7. * sysdeps/sparc/sparc32/memchr.S: Likewise. * sysdeps/sparc/sparc32/memcpy.S: Likewise. * sysdeps/sparc/sparc32/strcat.S: Likewise. * sysdeps/sparc/sparc32/strchr.S: Likewise. * sysdeps/sparc/sparc32/strcmp.S: Likewise. * sysdeps/sparc/sparc32/strcpy.S: Likewise. * sysdeps/sparc/sparc64/sparcv9b/memcpy.S: Likewise. * sysdeps/sparc/sparc64/hp-timing.h: Likewise. * sysdeps/sparc/sparc64/memcpy.S: Likewise. * sysdeps/sparc/sparc64/stpcpy.S: Likewise. * sysdeps/sparc/sparc64/stpncpy.S: Likewise. * sysdeps/sparc/sparc64/strcat.S: Likewise. * sysdeps/sparc/sparc64/strchr.S: Likewise. * sysdeps/sparc/sparc64/strcmp.S: Likewise. * sysdeps/sparc/sparc64/strcpy.S: Likewise. * sysdeps/sparc/sparc64/strncmp.S: Likewise. * sysdeps/sparc/sparc64/strncpy.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. 2003-01-24 Andreas Schwab <schwab@suse.de> * elf/dl-close.c (_dl_close): Don't relocate DT_FINI_ARRAY elements, and process them backwards. * elf/Makefile ($(objpfx)tst-array4): New target. ($(objpfx)tst-array4.out): Likewise. (tests) [$(have-initfini-array) = yes]: Add tst-array4. * elf/tst-array4.c: New file. * elf/tst-array4.exp: Likewise. 2003-01-24 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c: New file. 2003-01-27 Guido Guenther <agx@sigxcpu.org> * sysdeps/unix/sysv/linux/mips/sysdep.h (SYSCALL_ERROR_LABEL): Define. * sysdeps/unix/sysv/linux/mips/pread.c: Add support for cancellation handling and handle both __NR_pread64 and __NR_pread. * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. * sysdeps/unix/sysv/linux/mips/pwrite.c: Add support for cancellation handling and handle both __NR_pwrite64 and __NR_pwrite. * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. * sysdeps/unix/mips/sysdep.S: Don't set errno in the _LIBC_REENTRANT case, use register names consistently. 2003-01-27 Wolfram Gloger <wg@malloc.de> * malloc/hooks.c (mem2chunk_check): Check alignment of mem pointer, not of the computed chunk. Bug report from Carlos O'Donell <carlos@baldric.uwo.ca>.
2003-01-15* Makerules (check-abi-%): Use two rules for $(common-objpfx) andRoland McGrath
$(objpfx) directories, and get rid of vpath directives. The previous arrangement resulted in files being written to the source directories when run in a clean build. Find all .abilist files in $(..)abilist/. (update-abi-%): Likewise. (generated): Don't add .symlist files, they'll be intermediates. * sysdeps/generic/init-first.c: Add a comment. * elf/Makefile ($(objpfx)ld.so): Pass -z defs in link. * scripts/gen-as-const.awk: Grok lone "--" as a separator between #includes and expressions. * scripts/merge-abilist.awk: Omit cpu-.*-os.*/modifier from merged config list when it already contains cpu-.*-os.* without / part. * Makerules (sed-remove-dotdot): New variable. ($(common-objpfx)%.make): Use it. Depend on $(before-compile). ($(common-objpfx)%.h $(common-objpfx)%.h.d): Likewise. (check-abi-config): New variable, append /tls or /notls to the tuple. (check-abi-%): Use that for -v config value. Find .abilist files in abilist/libfoo.abilist, not in subdir. * Rules: Move bits/stdio_lim.h generation rules to Makerules.
2003-01-12Update.Ulrich Drepper
2003-01-11 Jim Meyering <jim@meyering.net> * io/ftw.c [HAVE_CONFIG_H]: Include <config.h>. [HAVE_SYS_PARAM_H || _LIBC]: Guard inclusion of <sys/param.h>. Include <sys/stat.h>, not <include/sys/stat.h>, if !_LIBC. [!_LIBC] (__chdir, __closedir, __fchdir, __getcwd, __opendir): Define. [!_LIBC] (__readdir64, __tdestroy, __tfind, __tsearch): Define. [!_LIBC] (internal_function, dirent64, MAX): Define. (__set_errno): Define if not already defined. (open_dir_stream): When FTW_CHDIR is enabled, invoke opendir on the basename, not the entire file name. (process_entry): When FTW_CHDIR is enabled, invoke XSTAT or LXSTAT on the basename, not the entire file name. 2003-01-12 Ulrich Drepper <drepper@redhat.com> * string/tester.c (test_strcpy): Disable last added strcpy until it is fixed. 2003-01-11 Philip Blundell <philb@gnu.org> * sysdeps/unix/sysv/linux/arm/socket.S: Add cancellation support. 2003-01-11 Andreas Schwab <schwab@suse.de> * Makerules: Add vpath for %.dynsym and %.so so that the implicit rule chaining for check-abi works. 2003-01-11 Kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER): Add non-PIC case. 2003-01-11 Jakub Jelinek <jakub@redhat.com> * elf/tls-macros.h [__ia64__] (__TLS_CALL_CLOBBERS): Define. [__ia64__] (TLS_LE, TLS_IE): Fix typos. Add ;; at start of asm if gp is used early. [__ia64__] (TLS_LD, TLS_GD): Likewise. Use __TLS_CALL_CLOBBERS. * elf/Makefile ($(objpfx)tst-tlsmod5.so, $(objpfx)tst-tlsmod6.so): Ensure libc.so in DT_NEEDED. * sysdeps/alpha/dl-machine.h (elf_machine_rela): Move CHECK_STATIC_TLS before l_tls_offset use. * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela): Likewise. * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage) [TLS_DTV_AT_TP]: Allocate TLS_PRE_TCB_SIZE bytes below result. (_dl_deallocate_tls) [TLS_DTV_AT_TP]: Adjust before freeing. * sysdeps/generic/libc-tls.c (__libc_setup_tls): If TLS_INIT_TP_EXPENSIVE is not defined, allocate even if no PT_TLS segment has been found. If TLS_DTV_AT_TP, allocate TLS_PRE_TCB_SIZE bytes below result and add tcb_offset to memsz. * sysdeps/ia64/dl-tls.h (__tls_get_addr): New prototype. * sysdeps/ia64/dl-machine.h: Include tls.h. (elf_machine_type_class): Return ELF_RTYPE_CLASS_PLT for TLS relocs too. (elf_machine_rela): Assume if sym_map != NULL sym is non-NULL too. Handle R_IA64_DTPMOD*, R_IA64_DTPREL* and R_IA64_TPREL* relocations. * sysdeps/ia64/libc-tls.c: New file. 2003-01-10 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_RET): Add branch hit. * sysdeps/unix/sysv/linux/powerpc/bits/stat.h (STAT_VER_LINUX): Fix type. Move definition out of #if. * sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Add cancellation support. * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Remove ftruncate64, pread64, pwrite64, truncate64 entries. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (INLINE_SYSCALL): New version that supports function call like syscalls. Add __builtin_expect. (LOADARGS_n): Add argument size safety checks. (INTERNAL_SYSCALL): New Macro. * sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c: New file. * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [__PPC_ELF_H]: Avoid redefinition of elf_fpreg_t and elf_fpregset_t. 2003-01-12 Ulrich Drepper <drepper@redhat.com> * elf/dl-close.c (_dl_close): Add several asserts. Correct and simplify test for unloading. If loader of a DSO is unloaded do not use its scope anymore. Fall back to own scope and adjust opencounts. Fix several comments. * elf/dl-deps.c (_dl_map_object_deps): Always allocate memory for the l_searchlist, not only for l_initfini. * elf/dl-lookup.c (add_dependencies): Avoid creating relocation dependencies if objects cannot be removed. Remove object with the definition as not unloadable if necessary. * elf/reldep6.c: Create relocation dependency before closing the first module. 2003-01-10 Guido Günther <agx@sigxcpu.org> * elf/Makefile: Add rules to build and run reldep9 test. * elf/reldep9.c: New file. * elf/reldep9mod1.c: New file. * elf/reldep9mod2.c: New file. * elf/reldep9mod3.c: New file. 2003-01-09 Jakub Jelinek <jakub@redhat.com> * elf/Makefile: Add rules to build and run nodelete2 test. * elf/nodelete2.c: New file. * elf/nodel2mod1.c: New file. * elf/nodel2mod2.c: New file. * elf/nodel2mod3.c: New file. 2003-01-09 Jakub Jelinek <jakub@redhat.com>
2002-12-30(_dl_close): Handle relocation dependencies among the to-be-deleted objects ↵Ulrich Drepper
right away instead of later separately. The latter fails because the scope data structures of the DSO might already have gone.
2002-12-30Update.Ulrich Drepper
2002-12-30 Ulrich Drepper <drepper@redhat.com> * elf/Makefile: Add rules to build and run reldep8 test. * elf/reldep8.c: New file. * elf/reldep8mod1.c: New file. * elf/reldep8mod2.c: New file. * elf/reldep8mod3.c: New file. Contributed by Jakub Jelinek.
2002-12-13Update.Ulrich Drepper
* elf/Makefile: Also check all iconv modules for text relocations.
2002-12-12Update.Ulrich Drepper
* elf/Makefile (tests): Add rules to build and run check-textrel. * elf/check-textrel.c: New file.
2002-12-09* elf/Makefile (tests): Uncomment tst-array[123].Roland McGrath
* 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-232002-11-23 Roland McGrath <roland@redhat.com>Roland McGrath
* elf/Makefile ($(objpfx)librtld.mk): Tighten up regexp. Reported by Luca Barbieri <ldb@ldb.ods.org>.
2002-11-22Update.Ulrich Drepper
* elf/Makefile (tests): Don't run test-arrayX tests for now.
2002-11-07* sysdeps/ia64/elf/initfini.c [HAVE_INITFINI_ARRAY]Roland McGrath
(gmon_initializer): New function. (.init prologue): If HAVE_INITFINI_ARRAY is true, don't call __gmon_start__ here. Call it from gmon_initializer() instead. 2002-03-12 H.J. Lu <hjl@gnu.org> * elf/Makefile [$(have-initfini-array) = yes] (tests): Add tst-array1, tst-array2, and tst-array3. [$(have-initfini-array) = yes] (tests-static): Add tst-array3. [$(have-initfini-array) = yes] (modules-names): Add tst-array2dep. ($(objpfx)tst-array1.out): New target. ($(objpfx)tst-array2): Likewise. ($(objpfx)tst-array2.out): Likewise. ($(objpfx)tst-array3.out): Likewise. * elf/tst-array1.c: New file. * elf/tst-array1.exp: Likewise. * elf/tst-array2.c: Likewise. * elf/tst-array2dep.c: Likewise. * elf/tst-array2.exp: Likewise. * elf/tst-array3.c: Likewise.
2002-10-24* posix/regcomp.c (re_comp): Call __regfree on re_comp_buf.Roland McGrath
(free_mem): New function. * posix/Makefile (tests): Add bug-regex14. Add bug-regex14-mem if not cross compiling. (generated): Add bug-regex14-mem and bug-regex14.mtrace. (bug-regex14-ENV): Set. (bug-regex14-mem): New target. * posix/bug-regex14.c: New file. * elf/Makefile ($(objpfx)librtld.map): Use temporary file for output target, so we don't touch it when the link fails.
2002-10-222002-10-21 Roland McGrath <roland@redhat.com>Roland McGrath
* elf/tst-tls9.c, elf/tst-tls9-static.c: New files. * elf/tst-tlsmod5.c, elf/tst-tlsmod6.c: New files. * elf/Makefile (tests): Add tst-tls9. (tests-static): Add tst-tls9-static. (tst-tls9-static-ENV): New variable. ($(objpfx)tst-tls9-static, $(objpfx)tst-tls9-static.out): New targets.
2002-10-11* sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: ConditionalRoland McGrath
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-10-02Update.Ulrich Drepper
2002-10-02 Ulrich Drepper <drepper@redhat.com> * version.h (VERSION): Bump to 2.3. * elf/Makefile (distribute): Add tst-tlsmod1.c, tst-tlsmod2.c, tst-tlsmod3.c, tst-tlsmod4.c, circlemod1.c, circlemod1a.c, circlemod2.c, circlemod2a.c, circlemod3.c, circlemod3a.c, and nodlopenmod2.c. * login/Makefile (distribute): Add utmp-equal.h. * iconvdata/Makefile (distribute): Add TSCII.precomposed and TSCII.irreversible. * Make-dist (dist): Create .bz2 file. Add rule to create .bz2 files. Also distribute xtests sources. 2002-10-02 Kaz Kojima <kkojima@rr.iij4u.or.jp> * elf/elf.h: Change TLS ELF relocation numbers. * elf/tls-macros.h: Fix code sequences for SH TLS_LD and TLS_GD macros. * sysdeps/sh/dl-machine.h (dl_machine_rela) [case R_SH_TLS_TPOFF32]: Use addend. * sysdeps/sh/elf/initfini.c: Move __fpscr_values to... * sysdeps/sh/elf/start.S: ...here.
2002-09-23* elf/Makefile (test-extras): Define this instead of test-srcs.Roland McGrath
* Makerules (all-nonlib): Include $(test-extras) too.
2002-08-28* elf/tst-tls1-static.c: New file.Roland McGrath
* elf/tst-tls2-static.c: New file. * elf/Makefile ($(tests-static):%=$(objfpx)%.o): Remove rule.
2002-08-282002-08-28 Roland McGrath <roland@redhat.com>Roland McGrath
* elf/Makefile (tests): List tst-tls1 and tst-tls2 unconditionally. [$(build-static) = yes] (tests): Add tst-tls1-static, tst-tls2-static. [$(build-static) = yes] (tests-static): New variable. ($(tests-static):%=$(objfpx)%.o)): New static pattern rule.
2002-08-20* locale/loadarchive.c (_nl_load_locale_from_archive): HandleRoland McGrath
partially overlapping mappings. Remove unneeded (char *) casts. Never allow duplication of ranges in mapped areas. 2002-08-20 Roland McGrath <roland@redhat.com> * elf/Makefile ($(objpfx)ld.so): Separate commands in rule so errors can be detected by make. Reported by H.J. Lu <hjl@gnu.org>. (dl_main): Pass extra argument 0 to TLS_INIT_TP.
2002-08-052002-08-04 Roland McGrath <roland@frob.com>Roland McGrath
* elf/Makefile (test-srcs): Add $(modules-names) to it. (CFLAGS-vismod2.c, CFLAGS-failobj.c, CFLAGS-constload2.c, CFLAGS-reldepmod3.c, CFLAGS-reldepmod4.c, CFLAGS-ltglobmod2.c): Remove all these variables.
2002-08-04* locale/nl_langinfo.c: Use _NL_CURRENT_DATA.Roland McGrath
* elf/Makefile (CFLAGS-vismod2.c): New variable.
2002-08-02* elf/Makefile ($(objpfx)interp.os): Depend on config.make,Roland McGrath
since it sets the variables we use in a -D switch.
2002-06-30Update.Ulrich Drepper
2002-06-30 Ulrich Drepper <drepper@redhat.com> * elf/dl-lookup.c (add_dependency): It is not necessary to add dependencies if they are created between objects which are created while processing RTLD_NOW for objects loaded as part of the same dlopen call. 2002-06-14 H.J. Lu <hjl@gnu.org> * elf/Makefile (tests): Add circleload1. (modules-names): Add circlemod1, circlemod2, circlemod3, circlemod1a, circlemod2a and circlemod3a. ($(objpfx)circleload1): New target. ($(objpfx)circleload1.out): Likewise. ($(objpfx)circlemod1.so): Likewise. ($(objpfx)circlemod2.so): Likewise. ($(objpfx)circlemod1a.so): Likewise. ($(objpfx)circlemod2a.so): Likewise. * elf/circleload1.c: New file. * elf/circlemod1.c: New file. * elf/circlemod1a.c: New file. * elf/circlemod2.c: New file. * elf/circlemod2a.c: New file. * elf/circlemod3.c: New file. * elf/circlemod3a.c: New file.
2002-05-16Update.Ulrich Drepper
2002-05-15 Ulrich Drepper <drepper@redhat.com> * elf/Makefile (rtld-routines): Remove dl-brk and dl-sbrk. * sysdeps/unix/sysv/linux/Makefile (sysdep-rtld-routines): Add dl-brk and dl-sbrk. * sysdeps/sparc/fpu/bits/mathinline.h (fdim): Add __THROW. (fdimf): Likewise.
2002-04-15Update.Ulrich Drepper
2002-02-17 Andreas Schwab <schwab@suse.de> * reldep7.c: New file. * reldep7mod1.c: New file. * reldep7mod2.c: New file. * Makefile: Add rules to build and run reldep7.
2002-04-08Update.Ulrich Drepper
2002-04-08 Ulrich Drepper <drepper@redhat.com> * cppflags-iterator.mk (cpp-srcs-left): Define NOT_IN_libc instead of NOT_IN_LIBC. * include/libintl.h: Test for NOT_IN_libc not NOT_IN_LIBC. * include/stdlib.h: Likewise. 2002-04-08 Jakub Jelinek <jakub@redhat.com> * elf/Makefile (CFLAGS-.os): Define NOT_IN_libc and IS_IN_rtld instead of _RTLD_LOCAL. * elf/dl-dst.h: Use IS_IN_rtld instead of _RTLD_LOCAL. * include/unistd.h: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * stdio-common/_itoa.h (_itoa_word): Only use internal digit arrays if in libc or ld.so. * include/stdlib.h: For libc itself replace MB_CUR_MAX definition with one accessing the locale data structures directly. * stdio-common/printf-prs.c: Include localeinfo.h for new MB_CUR_MAX definition.
2002-03-15Update.Ulrich Drepper
* elf/rtld.c: Declare _environ as hidden. * sysdeps/generic/dl-environ.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/ldsodefs.h: Declare _dl_debug_state_internal and _dl_mcount_internal as hidden. * elf/Makefile (rtld-routines): Add dl-sbrk and dl-brk. * sysdeps/generic/dl-brk.c: New file. * sysdeps/generic/dl-sbrk.c: New file. * sysdeps/unix/sysv/linux/i386/dl-brk.c: New file. * sysdeps/unix/sysv/linux/i386/dl-sbrk.c: New file.