Commit Graph

1977 Commits

Author SHA1 Message Date
Joseph Myers
150dc1a05a Remove ELF_MACHINE_NO_PLT conditionals. 2012-11-17 01:51:20 +00:00
H.J. Lu
bcbf9830b7 Set constructor/destructor priority to 1000 2012-11-16 07:40:38 -08:00
H.J. Lu
2e64d2659d Skip audit if l_reloc_result is NULL 2012-11-14 15:44:40 -08:00
Joseph Myers
8b748aed2a Support --with-pkgversion and --with-bugurl. 2012-11-09 22:13:45 +00:00
Marcus Shawcroft
57241e26e5 Adjust comment above AArch64 relocs. 2012-11-08 08:19:30 +00:00
Marcus Shawcroft
19b2ecfcae Adding AArch64 support to elf/elf.h 2012-11-07 13:32:08 +00:00
Chris Metcalf
105ca950d9 elf.h: add new tilegx relocations (copy from binutils trunk) 2012-11-03 08:43:11 -04:00
Thomas Schwinge
d0d4f8689d Fix build for !(defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO). 2012-11-01 21:24:44 +01:00
Joseph Myers
df61ffb2ac Support cross-testing for elf/tst-array*. 2012-10-30 23:14:33 +00:00
Chris Metcalf
47cc1490e0 Invoke DL_AFTER_LOAD if defined
This hook is useful for any arch-specific functionality that
should be done on loaded objects.  For the tile architecture,
the hook is already provided (though we switch to using the new
macro name with this commit) and implements a simulator notifier
so that the simulator can load Elf symbols to match the object
and generate better error messages for PC's.

Also, remove a spurious definition of DL_UNMAP in dl-runtime.c
2012-10-30 14:16:18 -04:00
Andreas Jaeger
e5088dc687 [BZ#14767] Remove tests for have-initfini-array in elf/Makefile
* elf/Makefile (tests): Remove conditional for have-initfini-array
	since this is now always required and the variable does not exist
	anymore.
	(tests-static): Likewise.
	(modules-names): Likewise.
2012-10-30 09:07:01 +01:00
Andreas Jaeger
b0988f108c Fix fini_array and init_array sections
* elf/tst-array1.c (fini_array): Make writeable so that it can be
	merged with constructor/destructor.
	(init_array): Likewise.
	* elf/tst-array2dep.c (fini_array): Likewise.
	(init_array): Likewise.
2012-10-30 08:59:42 +01:00
Joseph Myers
cc1290d07e Support cross-testing. 2012-10-24 21:59:01 +00:00
Joseph Myers
03ac099f6b Define and use $(run-built-tests). 2012-10-24 00:08:46 +00:00
Jim Blandy
166bca2480 Add and use $(host-built-program-cmd). 2012-10-23 22:49:59 +00:00
H.J. Lu
f2eed20524 Check the main application only if SHARED is defined 2012-10-20 16:16:59 -07:00
Siddhesh Poyarekar
88481c1638 Retry read in ld.so if the entire ELF header is not read in
[BZ #13601]

A read operation could return less than requested data for a number of
reasons.
2012-10-20 08:03:54 +05:30
H.J. Lu
53cea63e99 Move _dl_important_hwcaps to dl-hwcaps.c 2012-10-05 10:26:29 -07:00
H.J. Lu
bb859b06dd Set GL(dl_nns) to 1 for vDSO in libc.a 2012-10-05 10:22:14 -07:00
H.J. Lu
9cee558564 Set up the data structures for vDSO in libc.a 2012-10-05 10:20:39 -07:00
Roland McGrath
f57f805541 Clean up conditionalize of ld.so.cache support. 2012-10-03 16:13:14 -07:00
Roland McGrath
408223d403 Use ElfW(Off) rather than off_t for offsets within ELF files. 2012-10-02 16:02:56 -07:00
Roland McGrath
91363dbbb9 Conditionalize elf/dl-sysdep.c contents on [SHARED]. 2012-09-28 14:29:14 -07:00
H.J. Lu
9bac1d8624 Define VERSYMIDX/VALIDX/ADDRIDX in ldsodefs.h 2012-09-28 11:30:57 -07:00
Dmitry V. Levin
57c69bef13 Set "fail on error" mode directly in testsuite shell scripts 2012-09-25 02:48:31 +00:00
Dmitry V. Levin
f3fd569c36 rtld: limit self loading check to normal mode only
Commit glibc-2.14~10 disallowed rtld self loading to avoid a segfault
that used to happen when rtld was loading itself in normal mode.
Unfortunately, that commit disallowed all modes of self loading,
including those that used to work before.  This change limits the check
for self loading to normal mode only, so that instruments like ldd could
handle rtld properly.
2012-09-19 21:28:13 +00:00
H.J. Lu
04570aaa8a Restore GL(dl_initial_dtv) 2012-09-06 16:29:10 -07:00
H.J. Lu
b80af2f406 Remove _dl_initial_dtv
* csu/libc-tls.c (static_dtv): Renamed to ...
	(_dl_static_dtv): This.  Make it global.
	(_dl_initial_dtv): Removed.
	(__libc_setup_tls): Updated.
	* elf/dl-tls.c (DL_INITIAL_DTV): New macro.
	(_dl_deallocate_tls): Replace GL(dl_initial_dtv) with
	DL_INITIAL_DTV.
2012-09-06 16:03:32 -07:00
Petr Machata
2abe9f1507 Synchronize with linux/elf.h.
Add new ARM and s390 note constants e.g. NT_*.
2012-09-06 12:41:14 -07:00
H.J. Lu
0948c3af9d Always check dtv before freeing dtv[-1] 2012-09-06 11:51:52 -07:00
Steve McIntyre
d3bafbc98e Check floating-point ABI in ARM VALID_ELF_HEADER. 2012-08-23 20:38:25 +00:00
Roland McGrath
c0f4faf046 Fix conditional on using DSOCAPS to match condition on defining it. 2012-08-20 09:51:04 -07:00
Roland McGrath
2ae1ae5cf4 Change type of constant to avoid a warning. 2012-08-17 11:17:04 -07:00
Roland McGrath
b7c08a66f6 Add a cast to silence a warning. 2012-08-17 09:49:37 -07:00
Gary Benson
d9195db871 Also set r->r_map when unmapping the first object in a namespace.
When unmapping the first object in a namespace, the runtime linker
did not update the externally visible pointer.  This resulted in
debuggers seeing pointers to memory that had been freed.
2012-08-17 11:44:37 +01:00
Roland McGrath
4b4f2771c2 Fix dl-load.c for [!_LIBC_REENTRANT] case. 2012-08-15 17:05:10 -07:00
Roland McGrath
176790a734 Add a missing #include to dl-sym.c. 2012-08-15 17:02:22 -07:00
Roland McGrath
1ec79f2673 Add a missing #include. 2012-08-14 16:44:27 -07:00
Roland McGrath
5908bf4662 Add a missing #include. 2012-08-14 16:04:29 -07:00
Mark Salter
33b4a91e5b Add new AM33 relocs 2012-08-08 21:43:47 -04:00
Roland McGrath
4f75b7a09a Distinguish ELOOP diagnosis threshold from SYMLOOP_MAX. 2012-08-03 11:39:30 -07:00
Marek Polacek
b67e9372b2 Get rid of ASM_TYPE_DIRECTIVE{,_PREFIX}. 2012-08-02 21:04:29 +02:00
Roland McGrath
bea9b19322 Fix lots of bitrot for stub configurations. 2012-07-30 16:34:33 -07:00
Gary Benson
815e6fa3e0 Add SystemTap static probes to the runtime linker. [BZ #14298] 2012-07-27 14:03:20 +01:00
Joseph Myers
3129cfc6ec Move testsuite audit definitions to sysdeps tst-audit.h files. 2012-07-26 11:29:07 +00:00
Joseph Myers
0f48659e36 Move localplt baselines to sysdeps directories. 2012-07-20 19:20:34 +00:00
Andreas Krebbel
08f43f9bbf S/390: Add support for STT_GNU_IFUNC symbols.
Add support for STT_GNU_IFUNC symbols and the new R_390_IRELATIVE
relocation.  Provide optimized version of memcpy, memset, and memcmp
for z10 and z196.
2012-07-19 15:46:34 +02:00
Marek Polacek
05d723ab8d Fix a few typos. 2012-07-18 00:25:50 +02:00
Joseph Myers
cfc82fd8ac Split tls-macros.h into sysdeps directories. 2012-07-17 11:30:58 +00:00
Marek Polacek
7b8e0d49cb Get rid of ASM_GLOBAL_DIRECTIVE. 2012-07-10 14:30:24 +02:00
Joseph Myers
95f5a9a866 Avoid use of libgcc_s and libgcc_eh when building glibc. 2012-07-03 19:14:59 +00:00
Andreas Schwab
0479b305c5 Fix invalid memory access in do_lookup_x.
[BZ #13579] Do not free l_initfini and allow it to be reused
on subsequent dl_open calls for the same library. This fixes
the invalid memory access in do_lookup_x when the previously
free'd l_initfini was accessed through l_searchlist when a
library had been opened for the second time.
2012-06-22 11:10:31 -07:00
Jeff Law
28363bbf70 2012-06-21 Jeff Law <law@redhat.com>
[BZ #13882]
        * elf/dl-deps.c (_dl_map_object_deps): Fix cycle detection.  Use
        uint16_t for elements in the "seen" array to avoid char overflows.
        * elf/dl-fini.c (_dl_sort_fini): Likewise.
        * elf/dl-open.c (dl_open_worker): Likewise.
2012-06-21 09:26:41 -06:00
Andreas Schwab
5be8418cb0 Remove use of INTDEF/INTUSE in stdio-common 2012-06-01 01:25:41 +02:00
Siddhesh Poyarekar
9c6ea9facb Fix stack size and address inconsistency due to executable stack
When a stack is marked executable due to loading a DSO that requires
an executable stack, the logic tends to leave out a portion of stack
after the first frame, thus causing a difference in the value returned
by pthread_getattr_np before and after the stack is marked
executable. It ought to be possible to fix this by marking the rest of
the stack as executable too, but in the interest of marking as less of
the stack as executable as possible, the path this fix takes is to
make pthread_getattr_np also look at the first frame as the underflow
end of the stack and compute size and stack top accordingly.

The above happens only for the main process stack. NPTL thread stacks
are not affected by this change.
2012-05-26 09:48:26 +05:30
Roland McGrath
3a097cc7a1 Add --enable-systemtap configuration to define static probe points. 2012-05-25 13:40:20 -07:00
Richard Henderson
c7683a6d02 Add <sys/auxv.h> and getauxval. 2012-05-20 10:40:35 -07:00
Andreas Jaeger
59910343fc Fix warning
Fixes:
tst-relsort1.c:6:1: warning: function declaration isn’t a prototype
[-Wstrict-prototypes]
2012-05-17 22:00:57 +02:00
Joseph Myers
a9538892ad Split up stackguard-macros.h into sysdeps directories. 2012-05-15 23:34:30 +00:00
Roland McGrath
ceb809dcae Use _dl_fatal_printf instead of a private variant. 2012-05-14 16:10:12 -07:00
H.J. Lu
9fb1a21f4d Add x32 support to STACK_CHK_GUARD 2012-05-11 16:31:34 -07:00
H.J. Lu
4822a2a520 Add x32 support to TLS_LE/TLS_IE/TLS_GD 2012-05-11 14:35:56 -07:00
H.J. Lu
df8a552f6f Handle R_X86_64_RELATIVE64 and R_X86_64_64 for x32 2012-05-10 17:05:06 -07:00
Thomas Schwinge
6103ae3b0e Hurd: Build pldd also if use-ldconfig != yes || build-shared != yes 2012-05-10 15:57:26 -07:00
Andreas Jaeger
1db86e8845 Make ldconfig message clearer
[BZ #13983]
Let not confuse the user and think there's an error instead of
a warning.
2012-05-09 06:08:28 +02:00
Roland McGrath
d3dfcc4187 Fix make clean for recent elf/Makefile changes. 2012-05-03 09:52:47 -07:00
Allan McRae
d4c2917fc5 Fix test-suite failues with -Wl,--as-needed
Signed-off-by: Allan McRae <allan@archlinux.org>
2012-05-02 20:32:50 -04:00
Paul Pluzhnikov
171a70b4c0 For PR 14055, add bounds check to _dl_show_auxv(). 2012-05-02 14:35:30 -07:00
Roland McGrath
f5a01ca927 Redirect check-localplt output to check-localplt.out. 2012-05-01 13:30:55 -07:00
Roland McGrath
90fe4186b3 Do check-localplt test using readelf rather than a build-time C program. 2012-05-01 13:30:35 -07:00
Roland McGrath
82397ed6ea Do check-execstack test using readelf rather than a build-time C program. 2012-05-01 13:27:52 -07:00
Roland McGrath
82a79e7d18 Do check-textrel test using readelf rather than a build-time C program. 2012-05-01 13:27:11 -07:00
Andreas Schwab
6d5c57fabd Don't run tests when cross-compiling 2012-04-28 22:16:37 +02:00
Siddhesh Poyarekar
ceab42c380 Parse hexadecimal and octal strings correctly
The current implementation of __strtoul_internal seems to only pretend
to support hex and octal strings by detecting a preceding 0x or 0 and
marking base as 8 or 16. When it comes to the actual processing of the
string, it only considers numeric values within, thus breaking hex
values that may have [a-f] in them. Fixed with this commit.
2012-04-25 12:27:03 +05:30
Roland McGrath
83bcd2361d Add flexibility to localplt-*.data files, using an awk script rather than diff to check the results. 2012-04-24 14:48:15 -07:00
Marek Polacek
750b5926bc Prevent warning in pldd. 2012-04-16 20:34:28 +02:00
H.J. Lu
34a27407f4 Check __ILP32__ instead of __LP64__
* elf/tst-auditmod1.c: Check __ILP32__ instead of __LP64__.
	* elf/tst-auditmod3b.c: Likewise.
	* elf/tst-auditmod4b.c: Likewise.
	* elf/tst-auditmod5b.c: Likewise.
	* elf/tst-auditmod6b.c: Likewise.
	* elf/tst-auditmod6c.c: Likewise.
	* elf/tst-auditmod7b.c: Likewise.
	* sysdeps/x86_64/ffsll.c (ffsl): Likewise.
	* sysdeps/x86_64/preconfigure.in: Likewise.
	* sysdeps/x86_64/preconfigure: Regenerated.
2012-04-13 16:24:17 -07:00
David S. Miller
d7dd44133f Fix ld.so regression.
[BZ #13967]
	* elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Handle the case
	where the is a gap between DT_REL(A) and DT_JMPREL.
2012-04-10 17:47:59 -07:00
Siddhesh Poyarekar
73d65cc378 New ld.so argument --inhibit-ldcache to disable ld.so.cache lookup
It may sometimes be desirable to make the dynamic linker only pick up
libraries from the library path and rpath and not look at the
ld.so.cache that ldconfig generates. An example of such a use case is
the glibc testsuite where the dynamic linker must not be influenced by
any external paths or caches.

This change adds a new option --inhibit-ldcache that when used, tells
the dynamic linker to not use ld.so.cache even if it is available.
2012-04-11 00:13:52 +05:30
David S. Miller
5ed848f3d8 Handle some new sparc relocation types.
* elf/elf.h (R_SPARC_WDISP10): Define.
	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Handle
	R_SPARC_SIZE32.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Handle
	R_SPARC_SIZE64 and R_SPARC_H34.
2012-04-07 09:29:14 -07:00
Carlos O'Donell
96154cd892 Simplify _ELF_DYNAMIC_DO_RELOC after combining the old two defs.
* elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Simplify
	conditions and remove no longer applicable assertion.
2012-04-07 09:41:22 -04:00
David S. Miller
993eb0541c Reduce down to one definition of _ELF_DYNAMIC_DO_RELOC.
* elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Reduce down to one
	definition.
	* sysdeps/powerpc/powerpc32/dl-machine.h
	(ELF_MACHINE_PLTREL_OVERLAP): Delete.
	* sysdeps/s390/s390-32/dl-machine.h
	(ELF_MACHINE_PLTREL_OVERLAP): Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h
	(ELF_MACHINE_PLTREL_OVERLAP): Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h
	(ELF_MACHINE_PLTREL_OVERLAP): Likewise.
2012-04-05 15:28:37 -07:00
David S. Miller
ff9f1c5f32 Fix DL_DEBUG_UNUSED to elide the VDSO and handle PLT references properly.
* elf/rtld.c (dl_main): If DL_DEBUG_UNUSED is enabled, turn off
	lazy binding.
	* elf/dl-lookup (_dl_lookup_symbol_x): If DL_DEBUG_UNUSED, ignore
	undefined symbol errors.

	* elf/rtlc.c (dl_main): Skip VDSO when checking for unused
	DT_NEEDED entries.
2012-04-05 05:20:37 -04:00
H.J. Lu
c8e43ba739 Add x32 support to dynamic linker audit 2012-03-21 17:14:49 -07:00
H.J. Lu
eb96ffb07d Move stdio-common/_itoa.h to sysdeps/generic 2012-03-20 16:00:23 -07:00
H.J. Lu
f1a77b01f4 Add x32 support to ldconfig 2012-03-16 15:20:45 -07:00
David S. Miller
2d2cd51564 Fix bugs in sparc PLT profiling register management, and add sparc sotruss support.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Protect local
	variables with appropriate CPP guards.
	* sysdeps/sparc/sparc32/dl-trampoline.S: Propagate the stack_ptr from the
	frame pointer, not the stack pointer.  Correct layout comments.  Fix test
	on resulting framesize and the management of the outregs buffer for pltexit.
	Preserve floating point return values across _dl_call_pltexit call.
	* sysdeps/sparc/sparc64/dl-trampoline.S: Fix test on resulting
	framesize and the management of the outregs buffer for pltexit.
	Preserve floating point return values across _dl_call_pltexit
	call.
	* elf/sotruss-lib.c (la_sparc32_gnu_pltenter, la_sparc64_gnu_pltenter,
	la_sparc32_gnu_pltexit, la_sparc64_gnu_pltexit): New functions.
	(print_exit): Fix format string for return register value.
2012-03-09 20:48:06 -08:00
Ulrich Drepper
a4300c7a4d Remove distribute variable from Makefiles 2012-03-07 05:17:13 -05:00
Marek Polacek
1f393a11f6 Always set l_used for vDSO. 2012-02-29 15:28:38 +01:00
Paul Eggert
59ba27a63a Replace FSF snail mail address with URLs. 2012-02-09 23:18:22 +00:00
Richard Henderson
57b957eb04 Avoid pointer type mismatch warning.
update_get_addr returns a link_map*, but the return expression
was of type char*.  Fix by relying on gcc's void* arithmetic
extension and auto-conversion from void*.
2012-02-09 11:20:27 -08:00
Ulrich Drepper
0eb6f47528 Merge branch 'master' of ssh://sourceware.org/git/glibc
Conflicts:
	ChangeLog
2012-01-30 22:34:33 -05:00
Ulrich Drepper
27a25b6e63 Optimize __get_tls_addr a bit
Rearrange code to avoid creation of a stack frame.  At least on x86-64
the code for the fast path should be down to the bare minimum.
2012-01-30 22:32:05 -05:00
Chris Metcalf
3ac8b282b6 Add Tile relocation types. 2012-01-30 09:54:13 -08:00
Ulrich Drepper
6ee65ed6dd Sort objects before relocations 2012-01-27 15:05:19 -05:00
Ulrich Drepper
6ac2f2df75 Fix comment 2012-01-27 11:25:18 -05:00
Joseph Myers
bdb6de1d6d Remove gets declarations in C++ tests. 2012-01-25 16:50:17 +00:00
Ulrich Drepper
ec09c1c410 Optimize xmalloc, xcalloc, xrealloc, and xstrdup
Add alloc_size attribute and apply consistently the malloc attribute
to xmalloc, xcalloc, xrealloc, and xstrdup.
2012-01-08 21:19:43 -05:00
Ulrich Drepper
2119dcfacc Static linking is always needed 2012-01-08 09:52:29 -05:00
Ulrich Drepper
a784e50247 Remove pre-ISO C support
No more __const.
2012-01-07 23:57:22 -05:00