| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
new parameter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/sparc/sparc32/dl-machine.h: Move PLT trampolines there.
Use RESOLVE_MAP instead of RESOLVE to protect relocation code.
(elf_machine_runtime_setup): Test for dl_profile non-null.
* sysdeps/sparc/sparc64/dl-trampoline.S: New file.
(ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): New.
* sysdeps/sparc/sparc64/dl-machine.h: Move PLT trampolines there.
Use RESOLVE_MAP instead of RESOLVE to protect relocation code.
(elf_machine_runtime_setup): Test for dl_profile non-null.
* sysdeps/sparc/bits/link.h: New file.
* sysdeps/generic/ldsodefs.h (La_sparc32_regs, La_sparc32_retval,
La_sparc64_regs, La_sparc64_retval): New.
(struct audit_ifaces): Add sparc entries.
* elf/tst-auditmod1.c: Add sparc entries.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-03-28 Daniel Jacobowitz <dan@codesourcery.com>
[BZ #783]
* elf/tst-auditmod1.c: Add MIPS support.
* sysdeps/generic/ldsodefs.h (La_mips_32_regs): New.
(La_mips_32_retval): New.
(La_mips_64_regs): New.
(La_mips_64_retval): New.
(struct audit_ifaces): Add MIPS entries.
* sysdeps/mips/dl-machine.h: Check RESOLVE_MAP instead of RESOLVE.
(elf_machine_runtime_link_map, ELF_DL_FRAME_SIZE,
ELF_DL_SAVE_ARG_REGS, ELF_DL_RESTORE_ARG_REGS,
ELF_MACHINE_RUNTIME_TRAMPOLINE): Move to dl-trampoline.c.
(RTLD_START): Align the stack before calling _dl_init_internal.
Use .ent for _dl_start_user.
(ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): Define.
(elf_machine_rel, elf_machine_rel_relative, elf_machine_lazy_rel)
(elf_machine_runtime_setup): Use "auto inline".
(elf_machine_rela, elf_machine_rela_relative): Provide empty versions.
(elf_machine_got_rel): Likewise. Use RESOLVE_MAP.
* sysdeps/mips/dl-trampoline.c: New file.
* sysdeps/mips/bits/link.h: New file.
* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
(internal_syscall5): Use register operands instead of non-lvalue
memory operands.
(internal_syscall6): Likewise.
(internal_syscall7): Likewise.
2005-03-28 Daniel Jacobowitz <dan@codesourcery.com>
[BZ #783]
* elf/tst-auditmod1.c: Add MIPS support.
* sysdeps/generic/ldsodefs.h (La_mips_32_regs): New.
(La_mips_32_retval): New.
(La_mips_64_regs): New.
(La_mips_64_retval): New.
(struct audit_ifaces): Add MIPS entries.
* sysdeps/mips/dl-machine.h: Check RESOLVE_MAP instead of RESOLVE.
(elf_machine_runtime_link_map, ELF_DL_FRAME_SIZE,
ELF_DL_SAVE_ARG_REGS, ELF_DL_RESTORE_ARG_REGS,
ELF_MACHINE_RUNTIME_TRAMPOLINE): Move to dl-trampoline.c.
(RTLD_START): Align the stack before calling _dl_init_internal.
Use .ent for _dl_start_user.
(ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): Define.
(elf_machine_rel, elf_machine_rel_relative, elf_machine_lazy_rel)
(elf_machine_runtime_setup): Use "auto inline".
(elf_machine_rela, elf_machine_rela_relative): Provide empty versions.
(elf_machine_got_rel): Likewise. Use RESOLVE_MAP.
* sysdeps/mips/dl-trampoline.c: New file.
* sysdeps/mips/bits/link.h: New file.
* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
(internal_syscall5): Use register operands instead of non-lvalue
memory operands.
(internal_syscall6): Likewise.
(internal_syscall7): Likewise.
|
|
|
|
|
|
|
|
| |
function _dl_sort_fini.
(_dl_sort_fini): New function.
* sysdeps/generic/ldsodefs.h: Declare _dl_sort_fini.
* elf/dl-close.c (_dl_close): Call _dl_sort_fini before running
destructors to call them in the right order.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(_dl_out_of_memory): Use rtld_hidden_proto.
* elf/dl-error.c (_dl_out_of_memory): Use rtld_hidden_data_def.
(_dl_signal_error): Don't use INTUSE on _dl_out_of_memory.
* elf/dl-open.c (_dl_open): Likewise.
* elf/dl-deps.c (_dl_map_object_deps): Likewise.
* sunrpc/des_impl.c (des_set_key): Make first argument unsigned char *.
* elf/dl-addr.c (_dl_addr): Add a cast.
* elf/unload3mod4.c: Declare foo.
* elf/testobj2.c: Include <stdio.h>.
* sysdeps/gnu/errlist.awk: Emit NERR macro for _sys_nerr_internal
value constant, and use it in the defn.
* sysdeps/gnu/errlist-compat.awk: Use NERR in array decl.
Use actual size for compat array decls.
* config.make.in (cc-mtune): New substituted variable.
* configure.in (libc_cv_cc_mtune): New test for -mtune= switch,
done only if libc_mtune_example is defined.
* configure: Regenerated.
* sysdeps/i386/configure.in (libc_mtune_example): Set it.
* sysdeps/i386/configure: Regenerated.
* sysdeps/i386/Makefile (CFLAGS-initfini.s): Use $(cc-mtune).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-01-28 H.J. Lu <hongjiu.lu@intel.com>
* elf/tst-auditmod1.c: Add ia64 entries.
* sysdeps/generic/ldsodefs.h (La_ia64_regs): New.
(La_ia64_retval): New.
(audit_ifaces): Add ia64 entries.
* sysdeps/ia64/bits/link.h: New file.
* sysdeps/ia64/dl-machine.h (elf_machine_runtime_setup): Test
for dl_profile non-null.
(ARCH_LA_PLTENTER): New.
(ARCH_LA_PLTEXIT): New.
* sysdeps/ia64/dl-trampoline.S (_dl_runtime_resolve): Allocate
only 2 output registers. Allocate stack to save/restore
8 incoming fp registers. Call _dl_fixup instead of fixup.
(_dl_runtime_profile): Rewrite.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/s390/bits/link.h: New file.
* sysdeps/s390/s390-32/dl-trampoline.S: New file.
* sysdeps/s390/s390-64/dl-trampoline.S: New file.
* sysdeps/s390/s390-32/dl-machine.h: Move PLT trampolines to
dl-trampoline.S. Use RESOLVE_MAP instead of RESOLVE to protect
relocation code.
(elf_machine_runtime_setup): Test for dl_profile non-null.
(elf_machine_rela): Remove code using RESOLVE.
(ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): New.
* sysdeps/s390/s390-64/dl-machine.h: Likewise.
* sysdeps/generic/ldsodefs.h (La_s390_32_regs, La_s390_32_retval,
La_s390_64_regs, La_s390_64_retval): New.
* elf/tst-auditmod1.c: Add s390 entries.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sysdeps/alpha/dl-machine.h: Move PLT trampolines there. Use RESOLVE_MAP instead of RESOLVE to protect relocation code. (elf_machine_runtime_setup): Test for dl_profile non-null. (ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): New. * sysdeps/alpha/bits/link.h: New file. * sysdeps/generic/ldsodefs.h (La_alpha_regs, La_alpha_retval): New. (struct audit_ifaces): Add alpha entries. * elf/tst-auditmod1.c: Add alpha entries.
2005-01-22 Richard Henderson <rth@redhat.com>
* sysdeps/alpha/dl-trampoline.S: New file.
* sysdeps/alpha/dl-machine.h: Move PLT trampolines there.
Use RESOLVE_MAP instead of RESOLVE to protect relocation code.
(elf_machine_runtime_setup): Test for dl_profile non-null.
(ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): New.
* sysdeps/alpha/bits/link.h: New file.
* sysdeps/generic/ldsodefs.h (La_alpha_regs, La_alpha_retval): New.
(struct audit_ifaces): Add alpha entries.
* elf/tst-auditmod1.c: Add alpha entries.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ARCH_LA_PLTENTER and ARCH_LA_PLTEXIT.
(elf_machine_runtime_setup): If profile != 0 does not anymore mean
GLRO(dl_profile) != NULL.
* sysdeps/m68k/dl-trampoline.S: New file.
* sysdeps/m68k/bits/link.h: New file.
* sysdeps/generic/ldsodefs.h (struct audit_ifaces): Add m68k
variants.
* elf/tst-auditmod1.c: Add m68k support.
2005-01-16 Andreas Schwab <schwab@suse.de>
* sysdeps/m68k/dl-machine.h: Remove trampoline code. Define
ARCH_LA_PLTENTER and ARCH_LA_PLTEXIT.
(elf_machine_runtime_setup): If profile != 0 does not anymore mean
GLRO(dl_profile) != NULL.
* sysdeps/m68k/dl-trampoline.S: New file.
* sysdeps/m68k/bits/link.h: New file.
* sysdeps/generic/ldsodefs.h (struct audit_ifaces): Add m68k
variants.
* elf/tst-auditmod1.c: Add m68k support.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ID if groupname starts with + or -.
* pwd/putpwent.c (putpwent): Don't write 0 as user or
group ID if user name starts with + or -.
2005-01-09 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/generic/ldsodefs.h (struct audit_ifaces): Add sh variants.
* sysdeps/elf/tst-auditmod1.c: Add sh support.
* sysdeps/sh/bits/link.h: New.
* sysdeps/sh/dl-machine.h: Remove trampoline code here. Define
ARCH_LA_PLTENTER and ARCH_LA_PLTEXIT. Remove obsolete comments.
(RTLD_START): Define __fpscr_values.
* sysdeps/sh/dl-trampoline.S: New file.
* sysdeps/sh/sh4/dl-trampoline.S: New file.
* sysdeps/sh/sh4/Versions [ld]: Add __fpscr_values.
* sysdeps/sh/sh4/dl-machine.h: Remove.
2005-01-10 Jakub Jelinek <jakub@redhat.com>
* time/tst-strptime.c (day_tests): Add 2 new tests.
(test_tm, main): Issue an error instead of segfaulting if
strptime returns NULL.
2005-01-10 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/alpha/libc-tls.c (__tls_get_addr): Updated for dtv_t union.
* sysdeps/ia64/libc-tls.c (__tls_get_addr): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-01-09 Ulrich Drepper <drepper@redhat.com>
* elf/dl-debug.c (_dl_debug_initialize): Take extra parameter and
use it to select the r_debug structure for that namespace.
* elf/dl-close.c (_dl_close): Adjust call to _dl_debug_initialize.
* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
* elf/dl-open.c (_dl_open): Likewise.
* elf/rtld.c (dl_main): Likewise.
* sysdeps/generic/ldsodefs.h (struct link_namespaces): Add _ns_debug
member.
(_dl_debug_initialize): Add new parameter in declaration.
* elf/dl-close.c (_dl_close): Make sure auditing callbacks are not
called for the auditing objects themselves.
* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/powerpc/powerpc64/dl-trampoline.S: Use register names.
* sysdeps/powerpc/powerpc32/dl-trampoline.S: New file.
* sysdeps/powerpc/powerpc32/dl-machine.h: Remove trampoline code here.
Define ARCH_LA_PLTENTER and ARCH_LA_PLTEXIT.
* sysdeps/generic/ldsodefs.h (struct audit_ifaces): Add ppc32 variants.
* elf/tst-auditmod1.c: Add ppc32 support.
* sysdeps/powerpc/powerpc32/bits/link.h: New file.
* sysdeps/powerpc/powerpc64/bits/link.h: Add ppc32 definitions.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-01-07 Ulrich Drepper <drepper@redhat.com>
* elf/rtld.c [!DONT_USE_BOOTSTRAP_MAP] (_dl_start_final): Initialize
l_relocated of rtld map.
* sysdeps/powerpc/powerpc64/dl-trampoline.S: New file.
* sysdeps/powerpc/powerpc64/dl-machine.h: Remove trampoline code here.
Define ARCH_LA_PLTENTER and ARCH_LA_PLTEXIT.
* sysdeps/generic/ldsodefs.h (struct audif_ifaces): Add ppc64 variants.
* elf/tst-auditmod1.c: Add ppc64 support.
* sysdeps/powerpc/powerpc64/bits/link.h: New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/generic/libc-start.c: Don't register program destructor here.
* dlfcn/Makefile: Add rules to build dlfcn.c.
(LDFLAGS-dl.so): Removed.
* dlfcn/dlclose.c: _dl_close is now in ld.so, use function pointer
table.
* dlfcn/dlmopen.c: Likewise for _dl_open.
* dlfcn/dlopen.c: Likewise.
* dlfcn/dlopenold.c: Likewise.
* elf/dl-libc.c: Likewise for _dl_open and _dl_close.
* elf/Makefile (routines): Remove dl-open and dl-close.
(dl-routines): Add dl-open, dl-close, and dl-trampoline.
Add rules to build and run tst-audit1.
* elf/tst-audit1.c: New file.
* elf/tst-auditmod1.c: New file.
* elf/Versions [libc]: Remove _dl_open and _dl_close.
* elf/dl-close.c: Change for use inside ld.so instead of libc.so.
* elf/dl-open.c: Likewise.
* elf/dl-debug.c (_dl_debug_initialize): Allow reinitialization,
signaled by nonzero parameter.
* elf/dl-init.c: Fix use of r_state.
* elf/dl-load.c: Likewise.
* elf/dl-close.c: Add auditing checkpoints.
* elf/dl-open.c: Likewise.
* elf/dl-fini.c: Likewise.
* elf/dl-load.c: Likewise.
* elf/dl-sym.c: Likewise.
* sysdeps/generic/libc-start.c: Likewise.
* elf/dl-object.c: Allocate memory for auditing information.
* elf/dl-reloc.c: Remove RESOLV. We now always need the map.
Correctly initialize slotinfo.
* elf/dynamic-link.h: Adjust after removal of RESOLV.
* sysdeps/hppa/dl-lookupcfg.h: Likewise.
* sysdeps/ia64/dl-lookupcfg.h: Likewise.
* sysdeps/powerpc/powerpc64/dl-lookupcfg.h: Removed.
* elf/dl-runtime.c (_dl_fixup): Little cleanup.
(_dl_profile_fixup): New parameters to point to register struct and
variable for frame size.
Add auditing checkpoints.
(_dl_call_pltexit): New function.
Don't define trampoline code here.
* elf/rtld.c: Recognize LD_AUDIT. Load modules on startup.
Remove all the functions from _rtld_global_ro which only _dl_open
and _dl_close needed.
Add auditing checkpoints.
* elf/link.h: Define symbols for auditing interfaces.
* include/link.h: Likewise.
* include/dlfcn.h: Define __RTLD_AUDIT.
Remove prototypes for _dl_open and _dl_close.
Adjust access to argc and argv in libdl.
* dlfcn/dlfcn.c: New file.
* sysdeps/generic/dl-lookupcfg.h: Remove all content now that RESOLVE
is gone.
* sysdeps/generic/ldsodefs.h: Add definitions for auditing interfaces.
* sysdeps/generic/unsecvars.h: Add LD_AUDIT.
* sysdeps/i386/dl-machine.h: Remove trampoline code here.
Adjust for removal of RESOLVE.
* sysdeps/x86_64/dl-machine.h: Likewise.
* sysdeps/generic/dl-trampoline.c: New file.
* sysdeps/i386/dl-trampoline.c: New file.
* sysdeps/x86_64/dl-trampoline.c: New file.
* sysdeps/generic/dl-tls.c: Cleanups. Fixup for dtv_t change.
Fix updating of DTV.
* sysdeps/generic/libc-tls.c: Likewise.
* sysdeps/arm/bits/link.h: Renamed to ...
* sysdeps/arm/buts/linkmap.h: ...this.
* sysdeps/generic/bits/link.h: Renamed to...
* sysdeps/generic/bits/linkmap.h: ...this.
* sysdeps/hppa/bits/link.h: Renamed to...
* sysdeps/hppa/bits/linkmap.h: ...this.
* sysdeps/hppa/i386/link.h: Renamed to...
* sysdeps/hppa/i386/linkmap.h: ...this.
* sysdeps/hppa/ia64/link.h: Renamed to...
* sysdeps/hppa/ia64/linkmap.h: ...this.
* sysdeps/hppa/s390/link.h: Renamed to...
* sysdeps/hppa/s390/linkmap.h: ...this.
* sysdeps/hppa/sh/link.h: Renamed to...
* sysdeps/hppa/sh/linkmap.h: ...this.
* sysdeps/hppa/x86_64/link.h: Renamed to...
* sysdeps/hppa/x86_64/linkmap.h: ...this.
2005-01-06 Ulrich Drepper <drepper@redhat.com>
* allocatestack.c (init_one_static_tls): Adjust initialization of DTV
entry for static tls deallocation fix.
* sysdeps/alpha/tls.h (dtv_t): Change pointer type to be struct which
also contains information whether the memory pointed to is static
TLS or not.
* sysdeps/i386/tls.h: Likewise.
* sysdeps/ia64/tls.h: Likewise.
* sysdeps/powerpc/tls.h: Likewise.
* sysdeps/s390/tls.h: Likewise.
* sysdeps/sh/tls.h: Likewise.
* sysdeps/sparc/tls.h: Likewise.
* sysdeps/x86_64/tls.h: Likewise.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
_dl_sysinfo_dso under [NEED_DL_SYSINFO_DSO] as well.
* elf/rtld.c (dl_main): Set up GLRO(dl_sysinfo_dso) under
[NEED_DL_SYSINFO_DSO] as well.
* sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Always include
AT_SYSINFO and AT_SYSINFO_EHDR in name table.
(_dl_sysdep_start) [NEED_DL_SYSINFO_DSO]: Match AT_SYSINFO_EHDR.
* elf/dl-support.c (_dl_sysinfo_dso): Define also under
[NEED_DL_SYSINFO_DSO].
(_dl_aux_init) [NEED_DL_SYSINFO || NEED_DL_SYSINFO_DSO]:
Match AT_SYSINFO_EHDR and set GL(dl_sysinfo_dso).
2004-11-05 Roland McGrath <roland@redhat.com>
|
|
|
|
|
|
|
|
|
| |
2004-10-19 Ulrich Drepper <drepper@redhat.com>
* elf/Versions [ld, GLIBC_PRIVATE]: Add _dl_debug_state.
* elf/dl-debug.c (_dl_debug_state): Add rtld_hidden_def.
* sysdeps/generic/ldsodefs.h (_dl_debug_state): Don't maek as
hidden but use rtld_hidden_proto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update.
Add support for namespaces in the dynamic linker.
* dlfcn/Makefile (libdl-routines): Add dlmopen.
* dlfcn/Versions [libdl, GLIBC_2.3.4]: Add dlmopen.
* dlfcn/dlfcn.h: Define Lmid_t, LM_ID_BASE, and LM_ID_NEWLM.
Declare dlmopen. Document RTLD_DI_LMID.
* dlfcn/dlinfo.c: Handle RTLD_DI_LMID.
* dlfcn/dlmopen.c: New file.
* dlfcn/dlopen.c: Pass new parameter to _dl_open.
* dlfcn/dlopenold.c: Likewise.
* elf/dl-addr.c: Adjust for removal of GL(dl_loaded).
* elf/dl-caller.c: Likewise.
* elf/dl-close.c: Likewise.
* elf/dl-conflict.c: Likewise.
* elf/dl-debug.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-sym.c: Likewise.
* elf/dl-version.c: Likewise.
* elf/do-lookup.h: Likewise.
* elf/rtld.c: Likewise.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
* elf/dl-depsc: Likewise. Add new parameter to _dl_map_object.
* elf/dl-fini.c: Call destructors in all namespaces.
* elf/dl-iteratephdr.c: Compute total nloaded. Adjust for removal of
GL(dl_loaded).
* elf/dl-libc.c: Pass new parameter to _dl_open. Adjust for removal
of GL(dl_loaded).
* elf/dl-load.c (_dl_map_object_from_fd): Don't load ld.so a second
time. Reuse the one from the main namespace in all others.
Pass new parameter to _dl_new_object.
Adjust for removal of GL(dl_loaded).
* elf/dl-object.c: Take new parameter. Use it to initialize l_ns.
Adjust for removal of GL(dl_loaded).
* elf/dl-open.c (_dl_open): Take new parameter.
Adjust for removal of GL(dl_loaded).
* elf/dl-support.c: Replace global _dl_loaded etc variables with
_dl_ns variable.
* include/dlfcn.h: Adjust prototype of _dl_open.
Define __LM_ID_CALLER.
* include/link.h: Add l_real, l_ns, and l_direct_opencount elements.
* sysdeps/generic/dl-tls.c: Bump TLS_STATIC_SURPLUS. Since libc is
using TLS we need memory appropriate to the number of namespaces.
* sysdeps/generic/ldsodefs.h (struct rtld_global): Replace _dl_loaded,
_dl_nloaded, _dl_global_scope, _dl_main_searchlist, and
_dl_global_scope_alloc with _dl_ns element. Define DL_NNS.
Adjust prototypes of _dl_map_object and member in rtld_global_ro.
* malloc/malloc.c: Include <dlfcn.h>.
* malloc/arena.c (ptmalloc_init): If libc is not in primary namespace,
never use brk.
* elf/Makefile: Add rules to build and run tst-dlmopen1 and
tst-dlmopen2.
* elf/tst-dlmopen1.c: New file.
* elf/tst-dlmopen1mod.c: New file.
* elf/tst-dlmopen2.c: New file.
* elf/dl-close.c: Improve reference counting by tracking direct loads.
* elf/dl-lookup.c (add_dependency): Likewise.
* elf/dl-open.c (dl_open_worker): Likewise.
* elf/rtld.c (dl_main): Likewise.
2004-09-09 GOTO Masanori <gotom@debian.or.jp>
[BZ #77]
* elf/dl-close.c: Count down l_opencount to check not only for
l_reldeps, but also l_initfini.
2004-10-13 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-09-23 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/bits/dlfcn.h: Add RTLD_DEEPBIND.
* elf/dl-object.c (_dl_new_object): Add new parameter mode. If mode
has RTLD_DEEPBIND set add local searchlist before global scope.
* sysdeps/generic/ldsodefs.h (_dl_new_object): Adjust prototype.
* elf/rtld.c: Adjust callers of _dl_new_object.
* elf/dl-load.c: Likewise.
(_dl_map_object_from_fd): If RTLD_DEEPBIND is used, don't do anything
for DF_SYMBOLIC.
* elf/dl-open.c (dl_open_writer): Pass RTLD_DEEPBIND flag on to
_dl_map_object_deps.
* elf/tst-deep1.c: New file.
* elf/tst-deep1mod1.c: New file.
* elf/tst-deep1mod2.c: New file.
* elf/tst-deep1mod3.c: New file.
* elf/Makefile: Add rules to build and run new tests.
* elf/dl-deps.c: Pretty printing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-09-17 Ulrich Drepper <drepper@redhat.com>
* include/link.h (struct link_map): Add l_used element.
* sysdeps/generic/ldsodefs.h: Define DL_DEBUG_UNUSED.
* elf/rtld.c (process_dl_debug): Recognize unused.
(dl_main): When unused debug flag is set check for unused direct
dependencies.
When printing dependencies and SONAME starts with /, omit the SONAME =>
part.
* elf/dl-lookup.c (_dl_lookup_symbol_x): Mark object in which the
symbol has been found as used.
* elf/ldd.bash.in: Add -u option.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-07-10 Ulrich Drepper <drepper@redhat.com>
* elf/ldconfig.c: Define PROCINFO_CLASS as static before including
ldsodefs.h.
* sysdeps/generic/ldsodefs.h: Only define PROCINFO_CLASS if it is not
already defined.
* sysdeps/i386/dl-procinfo.c: Define PROCINFO_CALLS only if not
already defined.
* elf/rtld.c (print_statistics): Mark with noinline attribute.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Mark with always_inline
attribute.
(elf_machine_rel_relative): Likewise.
* include/string.h: Add libc_hidden_proto for __strtok_r and
__strsep_g.
* sysdeps/generic/strsep.c: Add libc_hidden_def.
* sysdeps/generic/strtok_r.c: Likewise.
* sysdeps/i386/strtok_r.S: Add alias for internal symbol.
* sysdeps/i386/i686/strtok_r.S: Likewise.
* sysdeps/x86_64/strtok_r.S: Likewise.
2004-07-09 Alexandre Oliva <aoliva@redhat.com>
* inet/getnetgrent_r.c (internal_setnetgrent): Make it hidden
instead of internal-linkage, such that we can alias to it.
(internal_endnetgrent, internal_getnetgrent_r): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-03-26 Ulrich Drepper <drepper@redhat.com>
* elf/dl-caller.c: New file.
* include/caller.h: New file.
* Makefile (distribute): Add include/caller.h.
* elf/Makefile (dl-routines): Add dl-caller.
* elf/dl-load.c (_dl_map_object_from_fd): Record l_text_end.
* elf/dl-open.c (check_libc_caller): Removed.
(dl_open_worker): Use __check_caller instead.
* elf/rtld.c (_rtld_global_ro): Initialize _dl_check_caller.
(_dl_start_final): Record l_text_end for ld.so map.
(dl_main): Record l_text_end for main object and vdso.
* include/link.h (struct link_map): Add l_text_end field.
* sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Add
_dl_check_caller field.
Define enum allowmask. Add declaration of _dl_check_caller.
* sysdeps/unix/sysv/linux/dl-execstack.c: Also use __check_caller test.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-03-07 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/ldsodefs.h: Move _dl_initial_searclist,
_dl_hp_timing_overhead, _dl_init_all_dirs, and the content of
dl-procinfo.c from _rtld_global to _rtld_global_ro.
* elf/rtld.c: Adjust initializer for _rtld_global_ro.
* elf/dl-close.c: Use GLRO instead of GL where appropriate.
* elf/dl-libc.c: Likewise.
* elf/dl-load.c: Likewise.
* sysdeps/i386/dl-procinfo.h: Likewise.
* sysdeps/i386/i686/hp-timing.h: Likewise.
* sysdeps/ia64/hp-timing.h: Likewise.
* sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Likewise.
* sysdeps/sparc/sparc64/hp-timing.h: Likewise.
* sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise.
* sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-03-06 Ulrich Drepper <drepper@redhat.com>
* elf/dl-lookup.c: We don't need for specialized lookup functions.
Combining the functionality does not slow down relocation processing,
it might even speed it up a little.
* sysdeps/generic/ldsodefs.h: Adjust prototypes for lookup function.
Add only one function pointer to rtlf_global_ro.
* elf/do-lookup.h: Replace #ifs with ifs.
* elf/dl-libc.c: Adjust _dl_lookup_* callers.
* elf/dl-reloc.c: Likewise.
* elf/dl-runtime.c: Likewise.
* elf/dl-sym.c: Likewise.
* elf/rtld.c: Likewise. Adjust _rtld_global_ro initialization.
* sysdeps/generic/ldsodefs.h (__rtld_local_attribute__,
__rtld_global_attribute__): Undef after use.
(_rtld_local_ro): Define __rtld_local_attribute__ with just hidden
if available.
* sysdeps/alpha/Subdirs: New file.
* sysdeps/alpha/soft-fp/Makefile: New file.
* sysdeps/alpha/soft-fp/Versions: New file.
* sysdeps/alpha/soft-fp/local-soft-fp.h: New file.
* sysdeps/alpha/soft-fp/ots_add.c: New file.
* sysdeps/alpha/soft-fp/ots_cmp.c: new file.
* sysdeps/alpha/soft-fp/ots_cmpe.c: New file.
* sysdeps/alpha/soft-fp/ots_cvtqux.c: New file.
* sysdeps/alpha/soft-fp/ots_cvtqx.c: New file.
* sysdeps/alpha/soft-fp/ots_cvttx.c: New file.
* sysdeps/alpha/soft-fp/ots_cvtxq.c: New file.
* sysdeps/alpha/soft-fp/ots_cvtxt.c: New file.
* sysdeps/alpha/soft-fp/ots_div.c: New file.
* sysdeps/alpha/soft-fp/ots_mul.c: New file.
* sysdeps/alpha/soft-fp/ots_nintxq.c: New file.
* sysdeps/alpha/soft-fp/ots_sub.c: New file.
|
|
|
|
|
|
|
|
|
|
|
| |
2004-03-06 Ulrich Drepper <drepper@redhat.com>
* elf/dl-open.c: No need to pass any parameter to _dl_start_profile.
They are the same in both places.
* elf/dl-profile.c: Likewise.
* elf/rtld.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* elf/dl-support.c: Define _dl_profile_output variable. Initialize it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elf/Versions: Remove functions which are not exported anymore.
* dlfcn/dlerror.c: Call ld.so functions through GLSO.
* dlfcn/dlinfo.c: Likewise.
* elf/dl-close.c: Likewise.
* elf/dl-libc.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-sym.c: Likewise.
* sysdeps/generic/libc-start.c: Likewise.
* elf/dl-debug.c: Remove *_internal definition. Don't use INTUSE for
functions which are not exported anymore.
* elf/dl-deps.c: Likewise.
* elf/dl-dst.h: Likewise.
* elf/dl-error.c: Likewise.
* elf/dl-fini.c: Likewise.
* elf/dl-init.c: Likewise.
* elf/dl-load.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-misc.c: Likewise.
* elf/dl-profile.c: Likewise.
* elf/dl-profstub.c: Likewise.
* elf/dl-reloc.c: Likewise.
* elf/dl-runtime.c: Likewise.
* elf/dl-version.c: Likewise.
* elf/do-lookup.h: Likewise.
* include/dlfcn.h: Likewise.
* sysdeps/generic/dl-cache.c: Likewise.
* sysdeps/generic/dl-fptr.c: Likewise.
* sysdeps/generic/dl-origin.c: Likewise.
* sysdeps/generic/dl-sysdep.c: Likewise.
* sysdeps/generic/dl-tls.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/i386/dl-tls.h: Likewise.
* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
* elf/rtld.c: Likewise. Export function though _rtld_global_ro.
* generic/dl-fptr.c: Likewise.
* mach/hurd/dl-sysdep.c: Likewise.
* unix/sysv/linux/ia64/dl-static.c: Likewise.
* unix/sysv/linux/ia64/getpagesize.c: Likewise.
* unix/sysv/linux/m68k/getpagesize.c: Likewise.
* unix/sysv/linux/sparc/sparc32/getpagesize.c: Likewise.
|
|
|
|
|
|
|
| |
* sysdeps/generic/ldsodefs.h (struct rtld_global): Move
dl_debug_fd to rtld_global_ro.
* elf/rtld.c: Use GLRO instead of GL for dl_debug_fd.
* elf/dl-misc.c: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-03-05 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/ldsodefs.h: Define new structure rtld_global_ro.
Declare _rtld_global_ro and _rtld_local_ro. Move members of
rtld_global structure into the new one if they are modified only
at startup time. Define GLRO to access _rtld_global_ro.
* elf/Versions: Export _rtld_global_ro.
* elf/dl-close.c: Use GLRO instead of GL where appropriate.
* elf/dl-conflict.c: Likewise.
* elf/dl-deps.c: Likewise.
* elf/dl-dst.h: Likewise.
* elf/dl-error.c: Likewise.
* elf/dl-fini.c: Likewise.
* elf/dl-init.c: Likewise.
* elf/dl-load.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-minimal.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-profile.c: Likewise.
* elf/dl-reloc.c: Likewise.
* elf/dl-runtime.c: Likewise.
* elf/dl-support.c: Likewise.
* elf/dl-version.c: Likewise.
* elf/do-lookup.h: Likewise.
* elf/rtld.c: Likewise.
* sysdeps/generic/dl-cache.c: Likewise.
* sysdeps/generic/dl-origin.c: Likewise.
* sysdeps/generic/dl-sysdep.c: Likewise.
* sysdeps/generic/libc-start.c: Likewise.
* sysdeps/generic/dl-cache.c: Likewise.
* sysdeps/i386/dl-machine.h: Likewise.
* sysdeps/i386/setfpucw.c: Likewise.
* sysdeps/i386/fpu/fclrexcpt.c: Likewise.
* sysdeps/i386/fpu/fedisblexcpt.c: Likewise.
* sysdeps/i386/fpu/feenablxcpt.c: Likewise.
* sysdeps/i386/fpu/feholdexcpt.c: Likewise.
* sysdeps/i386/fpu/fesetround.c: Likewise.
* sysdeps/i386/fpu/fsetexcptflg.c: Likewise.
* sysdeps/i386/fpu/ftestexcept.c: Likewise.
* sysdeps/unix/sysv/linux/dl-execstat.c: Likewise.
* sysdeps/unix/sysv/linux/dl-librecon.h: Likewise.
* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
* sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise.
* sysdeps/unix/sysv/linux/getclktck.c: Likewise.
* sysdeps/unix/sysv/linux/getpagesize.c: Likewise.
* sysdeps/unix/sysv/linux/init-first.c: Likewise.
* sysdeps/unix/sysv/linux/prof-freq.c: Likewise.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
* sysdeps/unix/sysv/linux/i386/sigaction.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
* sysdeps/x86_64/dl-machine.h: Likewise.
|
|
|
|
|
|
| |
* sysdeps/generic/ldsodefs.h: Don't define _dl_name_match_p as inline.
* elf/dl-misc.c: Define _dl_name_match_p here.
* elf/dl-open.c (check_libc_caller): Don't use _dl_name_match_p.
|
|
|
|
|
| |
* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Add ulps for the
2003-11-27 atan2 test.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-01-26 David Mosberger <davidm@hpl.hp.com>
* elf/link.h (struct dl_phdr_info): Fix typo in comment.
* elf/rtld.c (dl_main): After incrementing dl_nloaded, also
increment dl_load_adds.
* elf/dl-iteratephdr.c (__dl_iterate_phdr): Replace GL(dl_load_subs)
with equivalent GL(dl_load_adds - GL(dl_nloaded).
(dl_iterate_phdr): Likewise.
* elf/dl-close.c (_dl_close): Delete increment of GL(dl_load_subs).
* elf/dl-support.c: Remove global variable _dl_load_subs.
* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
_dl_load_subs member.
2004-01-27 Jakub Jelinek <jakub@redhat.com>
* elf/rtld.c (_dl_start_final): Don't set l_relro_* here.
(_dl_start): And neither here.
(dl_main): Set GL(dl_loaded)->l_relro_* and
GL(dl_rtld_map)->l_relro_*.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-01-22 Jakub Jelinek <jakub@redhat.com>
* elf/dl-reloc.c (_dl_relocate_object): Move PT_GNU_RELRO protection
into...
(_dl_protect_relro): New routine.
* sysdeps/generic/ldsodefs.h (_dl_protect_relro): New prototype.
* elf/rtld.c (_dl_start_final): Copy l_relro_addr and l_relro_size
from bootstrap_map.
(_dl_main): Don't set GL(_dl_loaded)->l_relro_{addr,size} here.
Call _dl_protect_relro for libraries if prelinking.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-01-14 Ulrich Drepper <drepper@redhat.com>
* configure.in: Define HAVE_Z_RELRO if the linker supports -z relro.
* config.h.in: Add entry for HAVE_Z_RELRO.
* include/libc-symbols.h: Define attribute_relro.
* elf/dl-load.c: Add attribute_relro to env_path_list, capstr, ncapstr,
max_capstrlen, and max_dirnamelen definitions.
* elf/rtld.c: Add attribute_relro to _dl_argc, _dl_argv, _dl_skip_args,
load_time, start_time, library_path, preloadlist, version_info,
any_debug.
Remove rtld_total_time. Make it a local variable. Pass pointer to
it to print_statistics. Change print_statistics accordingly.
* sysdeps/generic/dl-sysdep.c: Add attribute_relro to _dl_auxv. Use
attribute_relro instead of explicitly assigning variable to the
.data.rel.ro section for __libc_enable_secure and __libc_stack_end.
* sysdeps/generic/ldsodefs.h: Declare __libc_stack_end, _dl_argc,
_dl_argv, _dl_argv_internal with attribute_relro.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-01-13 Ulrich Drepper <drepper@redhat.com>
* sysdeps/x86_64/dl-machine.h: Include <tls.h>.
* elf/rtld.c (_dl_start_final): Initialze __libc_stack_end here.
* sysdeps/generic/dl-sysdep.c: Define __libc_stack_end with
rtld_hidden_def and move into .data.rel.ro section.
* sysdeps/generic/ldsodefs.h: Declare __libc_stack_end with
rtld_hidden_proto.
* sysdeps/generic/libc-start.c: Only initialize __libc_stack_end here
if !SHARED.
* sysdeps/unix/sysv/linux/dl-execstack.c
(_dl_make_stack_executable): Move common code in front. Use
__builtin_expect.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-01-13 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/dl-execstack.c: Change interface. Add
challenge for caller.
* sysdeps/generic/ldsodefs.h: Change declaration and type of hook
member in rtld_global appropriately.
* elf/dl-support.c: Likewise.
* elf/dl-load.c (_dl_map_object_from_fd): Take additional paramter.
Pass it on to the changed function.
(_dl_map_object): Pass new parameter to _dl_map_object_from_fd.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-11-25 Ulrich Drepper <drepper@redhat.com>
* posix/runptests.c (main): Make errors fatal.
* posix/PTESTS: One test in GA135 and GA136 check functionality
which seems not guaranteed.
2003-11-25 Jakub Jelinek <jakub@redhat.com>
* posix/regexec.c (re_search_internal): If prune_impossible_nodes
returned REG_NOMATCH, set match_last to -1. Don't initialize
pmatch[0] needlessly. Fix comment.
(prune_impossible_nodes): Don't segfault on NULL state_log entry.
(set_regs): Fix comment.
* posix/regcomp.c (parse_bracket_exp): Only set has_plural_match
if adding both SIMPLE_BRACKET and COMPLEX_BRACKET.
(build_charclass_op): Set has_plural_match if adding both
SIMPLE_BRACKET and COMPLEX_BRACKET.
* posix/bug-regex11.c (tests): Fix register values for one commented
out test. Add new tests.
* posix/regex_internal.c (re_string_allocate): Make sure init_len
is at least dfa->mb_cur_max.
(re_string_reconstruct): If is_utf8, don't fall back into
re_string_skip_chars just because idx points into a middle of
valid UTF-8 character. Instead, set the wcs bytes which correspond
to the partial character bytes to WEOF.
* posix/regexec.c (re_search_internal): Allocate input.bufs_len + 1
instead of dfa->nodes_len + 1 state_log entries initially.
* posix/bug-regex20.c (main): Uncomment backwards case insensitive
tests.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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-08-07 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/ldsodefs.h (_rtld_global): Add
_dl_rtld_lock_recursive and _dl_rtld_unlock_recursive.
* elf/rtld.c (rtld_lock_default_lock_recursive,
rtld_lock_default_unlock_recursive): New functions.
(dl_main): Initialize _dl_rtld_lock_recursive and
_dl_rtld_unlock_recursive.
2003-08-05 Jakub Jelinek <jakub@redhat.com>
* elf/ldconfig.c (main): Append SLIBDIR and LIBDIR to
config_file directories instead of prepending.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-07-30 Jakub Jelinek <jakub@redhat.com>
* elf/dl-reloc.c (_dl_allocate_static_tls): Don't return any value,
call dl_signal_error directly. If already relocated, call
GL(dl_init_static_tls) directly, otherwise queue it for later.
(CHECK_STATIC_TLS): Undo 2003-07-24 change.
* elf/rtld.c (dl_main): Initialize GL(dl_init_static_tls).
* elf/dl-open.c (dl_open_worker): Call GL_dl_init_static_tls
for all static TLS initializations delayed in _dl_allocate_static_tls.
* elf/dl-support.c (_dl_init_static_tls): New variable.
* include/link.h (struct link_map): Add l_need_tls_init.
* sysdeps/generic/ldsodefs.h (_rtld_global): Add _dl_init_static_tls.
(_dl_nothread_init_static_tls): New prototype.
(_dl_allocate_static_tls): Adjust prototype.
* elf/tls-macros.h (VAR_INT_DEF): Add alignment directive.
elf_machine_rela_relative): Adjust.
(CHECK_STATIC_TLS): _dl_allocate_static_tls can fail now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-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-06-11 Ulrich Drepper <drepper@redhat.com>
* time/tzfile.c: Add a couple of __builtin_expect.
Remove warnings gcc 3.3 shows.
* argp/argp-help.c (hol_entry_short_iterate): Don't inline.
* elf/dl-load.c (fillin_rpath): Likewise.
(add_path): Likewise.
* elf/dl-version.c (find_needed): Always inline.
* elf/do-lookup.c (FCT): Don't inline.
* iconv/Makefile: Extend vpath to intl subdir.
(iconvconfig-modules): Add hash-string.
* iconv/gconv_charset.h (strip): Don't inline.
(upstr): Always inline.
Move __gconv_compare_alias prototype to...
* iconv/gconv_int.h: ...here.
* iconv/gconv_db.c: Don't include gconv_charset.h.
* iconv/gconv_conf.c (add_alias): Don't inline.
(insert_module): Likewise.
* iconv/gconv_simple.c (internal_ucs4_loop): Always inline.
(internal_ucs4_loop_unaligned): Likewise.
(internal_ucs4_loop_single): Likewise.
(ucs4_internal_loop): Likewise.
(ucs4_internal_loop_unaligned): Likewise.
(ucs4_internal_loop_single): Likewise.
(internal_ucs4le_loop): Always inline.
(internal_ucs4le_loop_unaligned): Likewise.
(internal_ucs4le_loop_single): Likewise.
(ucs4le_internal_loop): Likewise.
(ucs4le_internal_loop_unaligned): Likewise.
(ucs4le_internal_loop_single): Likewise.
* iconv/loop.c: Always inline the defined functions.
* iconvdata/cns11642.h: Likewise.
* iconvdata/cns11642l1.h: Likewise.
* iconvdata/euc-kr.c: Likewise.
* iconvdata/gb2312.h: Likewise.
* iconvdata/jis0201.h: Likewise.
* iconvdata/jis0208.h: Likewise.
* iconvdata/jis0212.h: Likewise.
* iconvdata/jisx0213.h: Likewise.
* iconvdata/ksc5601.h: Likewise.
* iconvdata/utf-7.c (base64): Don't inline.
* include/libc-symbols.h (symbol_set_first_element): Add cast
(symbol_set_end_p): Likewise.
* include/set-hooks (RUN_HOOK): Likewise.
* inet/Makefile (aux): Add ifreq.
* intl/Makefile (aux): Add some entries from routines. Add
hash-string.
* intl/hash-string.c: New file.
* intl/hash-string.h: Remove hash_string definition. Declare
__hash_string.
* iconv/gconv_cache.c (find_module_idx): Adjust hash_string caller.
* iconv/iconvconfig.c (new_name): Likewise.
* intl/dcigettext.c (_nl_find_msg): Likewise.
* intl/loadmsgcat.c (_nl_load_domain): Likewise.
* io/ftw.c (open_dir_stream): Always inline.
(process_entry): Don't inline.
* locale/findlocale.c: Include gconv_int.h.
* locale/setlocale.c (new_composite_name): Don't inline.
* locale/weight.h (findidx): Always inline.
* locale/weightwc.h (findidx): Likewise.
* locale/programs/linereader.c (lr_ignore_rest): Define here.
* locale/programs/linereader.h (lr_ignore_rest): Don't define here,
just declare it.
(lr_getc): Always inline.
(lr_ungetc): Likewise.
* nss/nss_files/files-parse.c (parse_list): Likewise.
* stdio-common/Makefile (aux): Add printf-parsemb and
printf-parsewc.
* stdio-common/_itoa.h (_itoa_word): Always inline.
(_fitoa_word, _fitoa): Don't define here, only declare.
* stdio-common/_itoa.c (_iftoa_word): Add here.
(_fitoa): Likewise.
* stdio-common/_itowa.h (_itowa_word): Always inline.
* stdio-common/printf-parse.h (read_int): Don't inline.
(find_spec): Don't define.
Declare __find_specmb and __find_specwc.
(parse_one_spec): Don't define.
Declare __parse_one_specmb and __parse_one_specwc.
* stdio-common/printf-parsemb.c: New file.
* stdio-common/printf-parsewc.c: New file.
* stdio-common/vfprintf.c: Update calls to find_spec and
parse_one_spec for new names.
* stdio-common/printf-prs.c: Likewise. Define DONT_NEED_READ_INT.
* stdlib/Makefile (aux): Add grouping and groupingwc.
* stdlib/grouping.c: New file.
* stdlib/groupingwc.c: New file.
* stdlib/grouping.h (correctly_grouped_prefix): Don't define here.
Just prototype.
* stdlib/rpmatch.c (try): Don't inline.
* stdlib/strtod.c (round_and_return): Don't line.
(str_to_mpn): Likewise.
(__mpn_lshift_1): Always inline. Optimize only for constant count.
Adjust for name change of correctly_grouped_prefix.
* sysdeps/generic/strtol.c: Adjust for name change of
correctly_grouped_prefix.
* string/strxfrm.c (utf8_encode): Don't inline.
* sysdeps/generic/dl-cache.c: Define _dl_cache_libcmp.
* sysdeps/generic/dl-cache.h: Just declare _dl_cache_libcmp.
* sysdeps/generic/ifreq.c: New file.
* sysdeps/unix/sysv/linux/ifreq.c: New file.
* sysdeps/generic/ifreq.h (__ifreq): Only declare here.
* sysdeps/unix/sysv/linux/ifreq.h: Likewise.
* sysdeps/generic/ldsodefs.h (_dl_name_match_p): Always inline.
* sysdeps/generic/unwind-dw2-fde.c (start_fde_sort): Don't inline.
(fde_split): Likewise.
(fde_merge): Likewise.
(end_fde_sort): Likewise.
(init_object): Likewise.
(binary_search_unencoded_fdes): Likewise.
(binary_search_single_encoding_fdes): Likewise.
(binary_search_mixed_encoding_fdes): Likewise.
* sysdeps/generic/wordexp.c (w_addchar): Don't inline.
* sysdeps/i386/dl-machine.c (elf_machine_runtime_setup): Always inline.
* sysdeps/posix/sprofil.c (profil_count): Don't inline.
* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
Add xstatconv.
* sysdeps/unix/sysv/linux/xstatconv.h: New file.
* sysdeps/unix/sysv/linux/xstatconv.c: Don't inline the function.
Export them. Prepend __ to name.
* sysdeps/unix/sysv/linux/Dist: Add xstatconv.h.
* sysdeps/unix/sysv/linux/fxstat.c: Adjust for name change of
conversion functions.
* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
* sysdeps/unix/sysv/linux/lxstat.c: Likewise.
* sysdeps/unix/sysv/linux/lxstat64.c: Likewise.
* sysdeps/unix/sysv/linux/xstat.c: Likewise.
* sysdeps/unix/sysv/linux/xstat64.c: Likewise.
* sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise.
* sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise.
* sysdeps/unix/sysv/linux/i386/xstat.c: Likewise.
* sysdeps/unix/sysv/linux/pathconf.c (__statfs_link_max,
__statfs_filesize_max, __statfs_symlinks): Define here. __ prepended
to name. Change callers.
* sysdeps/unix/sysv/linux/pathconf.h (__statfs_link_max,
__statfs_filesize_max, __statfs_symlinks): Don't define here, just
declare.
* sysdeps/unix/sysv/linux/fpathconf.c: Change all callers.
* time/tzfile.c (decode): Always inline.
* wcsmbs/wcsnrtombs.c: Change type of inbuf to unsigned char*.
Remove cast in tomb function call.
* wcsmbs/wcsrtombs.c Likewise.
* wcsmbs/wcstob.c: Introduce new temp variable to take pointer in
tomb function call.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-04-22 Roland McGrath <roland@redhat.com>
* elf/elf.h (AT_SYSINFO_EHDR): New macro, replaces AT_SYSINFO_EH_FRAME.
* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
dl_sysinfo_eh_frame member, add dl_sysinfo_dso member instead.
* elf/dl-support.c: Update defn.
* sysdeps/generic/libc-start.c: Don't call __register_frame_info_bases.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]:
Set GL(dl_sysinfo_dso) from AT_SYSINFO_EHDR.
(_dl_show_auxv): Grok AT_SYSINFO_EHDR, not AT_SYSINFO_EH_FRAME.
* elf/rtld.c (dl_main) [NEED_DL_SYSINFO]: If GL(dl_sysinfo_dso) is
set, set up a link_map for the preloaded, prelinked object.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elf/dl-reloc.c (allocate_static_tls): Rename to...
(_dl_allocate_static_tls): ... this function. No longer static.
(CHECK_STATIC_TLS): Adjust.
* sysdeps/generic/ldsodefs.h (_dl_allocate_static_tls): New prototype.
* sysdeps/powerpc/powerpc32/dl-machine.h (__process_machine_rela):
Add SYM_MAP argument.
(elf_machine_rela): Adjust caller. Declare SYM_MAP unconditionally.
Check if SYM_MAP != NULL for R_PPC_DTPREL32. Only handle 32-bit
TLS relocs here. #ifdef out relocs which never appear in
.gnu.conflict section from dl-conflict.c processing.
* sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela):
Add SYM_MAP argument. Handle 16-bit TLS relocs here.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-04-15 Ulrich Drepper <drepper@redhat.com>
* elf/elf.h: Define AT_SYSINFO_EH_FRAME.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Handle
AT_SYSINFO_EH_FRAME.
(_dl_show_auxv):Display AT_SYSINFO_EH_FRAME value.
* sysdeps/generic/ldsodefs.h [NEED_DL_SYSINFO] (struct rtld_global):
Add _dl_sysinfo_eh_frame field.
* elf/dl-support.c [NEED_DL_SYSINFO]: Define _dl_sysinfo_eh_frame.
* sysdeps/generic/libc-start.c [NEED_DL_SYSINFO] Define eh_obj
variable.
[NEED_DL_SYSINFO] (LIBC_START_MAIN): Call __register_frame_info_bases
if _dl_sysinfo_eh_frame is non-NULL.
* Makeconfig (gnulib): Add -lgcc_eh.
* config.h.in: Define HAVE_FORCED_UNWIND.
|
|
|
|
|
|
|
|
| |
2003-03-26 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/ldsodefs.h (ELF_RTYPE_CLASS_COPY): Define to 2
only if DL_NO_COPY_RELOCS is not defined.
* sysdeps/ia64/dl-lookupcfg.h: Define DL_NO_COPY_RELOCS.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dlfcn/Makefile (tests): Add tst-dlinfo.
($(objpfx)tst-dlinfo): New target.
* dlfcn/dlinfo.c: New file.
* dlfcn/Makefile (libdl-routines): Add it.
* dlfcn/Versions (libdl: GLIBC_2.3.3): Add dlinfo.
* dlfcn/dlfcn.h [__USE_GNU]: Declare dlinfo.
[__USE_GNU] (RTLD_DI_*): New enum constants.
[__USE_GNU] (Dl_serpath, Dl_serinfo): New types.
* elf/dl-load.c (cache_rpath): New inline function.
(_dl_map_object): Use it.
(_dl_rtld_di_serinfo): New function.
* sysdeps/generic/ldsodefs.h: Declare it.
* elf/Versions (ld: GLIBC_PRIVATE): Add it.
|
|
|
|
|
|
|
|
|
| |
2003-01-03 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/ldsodefs.h (_dl_allocate_tls, _dl_deallocate_tls):
Add rtld_hidden_proto.
* sysdeps/generic/dl-tls.c (_dl_deallocate_tls): Add rtld_hidden_def.
(_dl_allocate_tls): Likewise. Remove INTDEF.
|