Commit Graph

451 Commits

Author SHA1 Message Date
Andreas Schwab
4bff6e0175 Fix memory leak in dlopen with RTLD_NOLOAD. 2011-02-25 20:49:48 -05:00
H.J. Lu
435b95ebd0 AVX audit test failures with gcc 4.6 2011-02-02 19:28:44 -05:00
Ulrich Drepper
968dad0ab1 Fix ordering of DSO constructors and destructors. 2011-01-19 16:00:11 -05:00
Ulrich Drepper
5d5732b0dc Run IFUNC tests unless no support build in at all. 2011-01-18 12:30:07 -05:00
Andreas Schwab
1f20b93a6c Fix missing dependencies and ensure correct CPPFLAGS. 2011-01-16 21:32:07 -05:00
Andreas Schwab
68dc949774 Fix check-execstack test 2011-01-13 16:21:55 -05:00
Ryan S. Arnold
30950a5fd2 Make PowerPC64 default to nonexecutable stack 2010-12-19 22:49:01 -05:00
Ulrich Drepper
702e8f1450 More linking issues fixed. 2010-07-02 09:49:05 -07:00
Ulrich Drepper
d85f8ff667 Revert unwanted patch. Again. 2010-06-27 19:52:51 -07:00
Ulrich Drepper
a3d731d344 Fix whitespaces. 2010-06-27 19:39:01 -07:00
Roland McGrath
1d4bf3155f Link elf/noload test against -ldl. 2010-04-19 15:38:48 -07:00
H.J. Lu
4e1e2f4247 Support mixed SSE/AVX audit and check AVX only once.
This patch fixes mixed SSE/AVX audit and checks AVX only once in
_dl_runtime_profile. When an AVX or SSE register value in pltenter is
modified, we have to make sure that the SSE part value is the same in both
lr_xmm and lr_vector fields so that pltexit will get the correct value
from either lr_xmm or lr_vector fields. AVX-enabled pltenter should
update both lr_xmm and lr_vector fields to support stacked AVX/SSE
pltenter functions.
2009-08-08 10:54:42 -07:00
Ulrich Drepper
87cfd82a1f Break out _dl_scope_free into its own file.
This reduces the coarse static callgraph that can be discovered by
looking at the object files.
2009-07-27 13:23:00 -07:00
Ulrich Drepper
59cbcac015 Fix build issue with modules for audit test on machines != x86-64. 2009-07-15 08:27:19 -07:00
H.J. Lu
b0ecde3a63 Add AVX support to ld.so auditing for x86-64. 2009-07-10 12:04:14 -07:00
Ulrich Drepper
786b74f41a Remove do-lookup.h.
It is not necessary/useful anymore to have the content separate
from dl-lookup.c.
2009-07-10 08:50:33 -07:00
Ulrich Drepper
415ac3df9b Implement STB_GNU_UNIQUE handling.
Some symbols have to be identified process-wide by their name.  This is
particularly important for some C++ features (e.g., class local static data
and static variables in inline functions).  This cannot completely be
implemented with ELF functionality so far.  The STB_GNU_UNIQUE binding
helps by ensuring the dynamic linker will always use the same definition for
all symbols with the same name and this binding.
2009-07-09 23:52:22 -07:00
H.J. Lu
167d5ed5de Fix handling of xmm6 in ld.so audit hooks on x86-64. 2009-07-02 04:33:12 -07:00
Ulrich Drepper
e364e6f118 Clean up whitespaces in last patch. 2009-06-22 15:10:30 -07:00
H.J. Lu
3c30afc862 Add more IFUNC tests.
Mostly tests around not-exported IFUNC functions, IFUNC in statically
linked binaries and PIEs, etc.
2009-06-22 15:07:40 -07:00
H.J. Lu
d8366b0970 Use +link-pie Makefile rule to link PIE ifunc tests. 2009-06-17 19:55:18 -07:00
H.J. Lu
435aa54b3b Consolidate PIE linking Makefile rules. 2009-06-16 09:19:59 -07:00
H.J. Lu
2f083d7511 Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
Ulrich Drepper
774f5a3082 Test DSOs for executable stack.
Add a text program, built to run on the host, to check all newly
built DSOs for executable stacks and fail if the stack information
is missing or indicates executable stacks.
2009-05-15 08:48:00 -07:00
Ulrich Drepper
7c8a67320e * elf/Makefile (ld.so): Adjust the sed script to insert _begin in to
newer linker scripts.
2009-01-31 00:21:15 +00:00
Ulrich Drepper
41e25904a5 * elf/dl-tls.c (__tls_get_addr): After calling _dl_update_slotinfo
refetch dtv, as it might have changed.
	* elf/Makefile: Add rules to build and run tst-tls18.
	* elf/tst-tls18.c: New test.
	* elf/tst-tlsmod18a.c: New file.
2008-10-31 20:50:16 +00:00
Ulrich Drepper
60a23f5a72 * elf/Makefile: Add rules to build and run tst-tls17.
* elf/tst-tls17.c: New test.
	* elf/tst-tlsmod17a.c: New file.
	* elf/tst-tlsmod17b.c: Likewise.
2008-10-17 15:24:10 +00:00
Roland McGrath
13074b5b5a * Makefile (check-data): Check data directory in add-ons.
* elf/Makefile (check-data): Likewise.
2008-08-19 00:19:03 +00:00
Ulrich Drepper
17756df399 * elf/Makefile (check-localplt.out): Also check libresolv and
libcrypt.
2008-08-01 07:51:52 +00:00
Ulrich Drepper
7b91359b2c * Makeconfig: Define pie-ccflag and PIE-ccflag variables.
* elf/Makefile: Use pie-ccflag variable.
	* nscd/Makefile: Likewise.
	* sysdeps/sparc/Makefile: Set $(pie-ccflag) to -fPIE.
2008-07-26 22:22:24 +00:00
Roland McGrath
e85f1d6af4 * shlib-versions (sparc.*-.*-.*, sparc64.*-.*-.*): Add ABI lines.
* Makefile (check-data): Use $(abi-name) before other guesses.
	Look in $(add-ons) dirs before scripts/data/.
	* elf/Makefile (check-data): Likewise.

	* scripts/soversions.awk: Grok ABI line.
	* Makeconfig ($(common-objpfx)soversions.mk): Likewise.
	Emit definition for abi-name variable.

	if [__USE_BSD].
2008-05-22 00:04:21 +00:00
Ulrich Drepper
9fb11d4c6e * elf/Makefile (tests): Substitute tests-vis-yes here.
(tests-vis-yes): Delete.
	(modules-name, modules-vis-yes): Similarly.
2008-04-10 05:02:48 +00:00
Ulrich Drepper
368a8dec0a * sysdeps/unix/sysv/linux/dl-sysdep.c: Avoid unnecessary code for
.o file.
	* elf/Makefile (routines): Add dl-sysdep.
	(elide-routines.os): Likewise.
2008-03-08 17:52:13 +00:00
Ulrich Drepper
4c533566c2 * include/link.h (FORCED_DYNAMIC_TLS_OFFSET): Define.
* elf/dl-close.c (_dl_close): Check for it.
	* elf/dl-reloc.c (CHECK_STATIC_TLS): Likewise.
	(_dl_allocate_static_tls): Likewise.
	* elf/dl-tls.c (_dl_allocate_tls_init): Likewise.
	(__tls_get_addr): Protect from race conditions in setting l_tls_offset
	to it.
	* elf/tst-tls16.c: New file.
	* elf/tst-tlsmod16a.c: New file.
	* elf/tst-tlsmod16b.c: New file.
	* elf/Makefile: Add rules to build and run tst-tls16.
2008-01-17 20:20:00 +00:00
Roland McGrath
0a80eb74fd 2007-10-19 Roland McGrath <roland@redhat.com>
* elf/Makefile ($(objpfx)ld.so): Use $(AWK).
	* scripts/check-errnos.sh: Likewise.
2007-10-20 00:54:16 +00:00
Jakub Jelinek
cb84d1e403 * elf/Makefile ($(objpfx)ld.so): Use readelf -s and awk instead of nm -u
to check for undefined symbols.
	* elf/Makefile ($(objpfx)ld.so): Use readelf -s and awk instead of nm -u
	to check for undefined symbols.
2007-08-16 21:20:11 +00:00
Roland McGrath
773e305efc * include/stdlib.h: Add libc_hidden_proto for strto*, __strto*_l.
Remove __strto*_l inlines.
	* include/wchar.h: Add libc_hidden_proto for wcsto*, __wcsto*_l.
	* stdlib/strtod.c: Add libc_hidden_def.
	* stdlib/strtod_l.c: Likewise.
	* stdlib/strtold.c [__LONG_DOUBLE_MATH_OPTIONAL]: Add libc_hidden_proto
	for __new_strtold and __new_wcstold.
	* sysdeps/ieee754/ldbl-128ibm/strtold_l.c: Add libc_hidden_proto for
	__STRTOF, STRTOF.
	* stdlib/strtol.c: Add libc_hidden_def.
	* stdlib/strtol_l.c: Likewise.
	* sysdeps/wordsize-64/strtol.c: Add libc_hidden_ver for strtoll and
	strtoq.

	* scripts/data/localplt-powerpc-linux-gnu.data: New file.

	* scripts/data/localplt-x86_64-linux-gnu.data: File renamed to ...
	* scripts/data/localplt-generic.data: ... here.
	* elf/Makefile (check-data): Get generic file if no other.
	($(objpfx)check-localplt.out): Make target unconditional.
2007-08-07 05:36:32 +00:00
Ulrich Drepper
2f978feb67 * elf/rtld.c (RESOLVE_MAP): Always return bootstrap_map reference.
* elf/Makefile ($(objpfx)ld.so): Check that ld.so has no undefined
	references.
2007-02-12 15:17:30 +00:00
Ulrich Drepper
11bf311edc [BZ #2510, BZ #2830, BZ #3137, BZ #3313, BZ #3426, BZ #3465, BZ #3480, BZ #3483, BZ #3493, BZ #3514, BZ #3515, BZ #3664, BZ #3673, BZ #3674]
2007-01-11  Jakub Jelinek  <jakub@redhat.com>
	* sysdeps/i386/soft-fp/sfp-machine.h: Remove.
	* sysdeps/x86_64/soft-fp/sfp-machine.h: Likewise.
2007-01-10  Ulrich Drepper  <drepper@redhat.com>
	* io/fts.c: Make sure fts_cur is always valid after return from
	fts_read.
	Patch by Miloslav Trmac <mitr@redhat.com>.
2006-10-27  Richard Sandiford  <richard@codesourcery.com>
	* elf/elf.h (R_MIPS_GLOB_DAT): Define.
	(R_MIPS_NUM): Bump by 1.
2007-01-03  Jakub Jelinek  <jakub@redhat.com>
	* posix/execvp.c: Include alloca.h.
	(allocate_scripts_argv): Renamed to...
	(scripts_argv): ... this.  Don't allocate buffer here nor count
	arguments.
	(execvp): Use alloca if possible.
	* posix/Makefile: Add rules to build and run tst-vfork3 test.
	* posix/tst-vfork3.c: New test.
	* stdlib/Makefile (tst-strtod3-ENV): Define.
2007-01-02  Ulrich Drepper  <drepper@redhat.com>
	* posix/getconf.c: Update copyright year.
	* nss/getent.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* catgets/gencat.c: Likewise.
	* csu/version.c: Likewise.
	* elf/ldd.bash.in: Likewise.
	* elf/sprof.c (print_version): Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* nscd/nscd.c (print_version): Likewise.
	* debug/xtrace.sh: Likewise.
	* malloc/memusage.sh: Likewise.
	* malloc/mtrace.pl: Likewise.
	* debug/catchsegv.sh: Likewise.
2006-12-24  Ulrich Drepper  <drepper@redhat.com>
	* malloc/malloc.c (sYSMALLOc): Remove some unnecessary alignment
	attempts.
2006-12-23  Ulrich Drepper  <drepper@redhat.com>
	* posix/wordexp.c: Remove some unnecessary tests.
2006-12-20  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>

	* sysdeps/unix/sysv/linux/sh/bits/shm.h: New file.

	* nss/getXXbyYY_r.c: Include atomic.h.
	(INTERNAL (REENTRANT_NAME)): Write startp after start_fct,
	add atomic_write_barrier () in between.

2006-11-28  Jakub Jelinek  <jakub@redhat.com>
	* elf/dl-support.c: Include dl-procinfo.h.
	* sysdeps/powerpc/dl-procinfo.h (PPC_PLATFORM_POWER4,
	PPC_PLATFORM_PPC970, PPC_PLATFORM_POWER5, PPC_PLATFORM_POWER5_PLUS,
	PPC_PLATFORM_POWER6, PPC_PLATFORM_CELL_BE, PPC_PLATFORM_POWER6X):
	Define.
	(_dl_string_platform): Use PPC_PLATFORM_* macros instead of
	hardcoded constants.
	* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_platform): Use
	PPC_PLATFORM_* macros for array designators.
2006-11-11  Steven Munroe  <sjmunroe@us.ibm.com>
	* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags): Add 3 new cap
	names to the beginning.
	(_dl_powerpc_platforms): Add "power6x".
	* sysdeps/powerpc/dl-procinfo.h (_DL_HWCAP_FIRST): Decrease.
	(HWCAP_IMPORTANT): Add PPC_FEATURE_HAS_DFP.
	(_DL_PLATFORMS_COUNT): Increase.
	(_dl_string_platform): Handle power6x case.
	* sysdeps/powerpc/sysdep.h (PPC_FEATURE_PA6T, PPC_FEATURE_HAS_DFP,
	PPC_FEATURE_POWER6_EXT): Define.
	(PPC_FEATURE_POWER5, PPC_FEATURE_POWER5_PLUS): Correct Comment.
	[-2^31 .. 2^31) range.
	* sysdeps/unix/sysv/linux/bits/statvfs.h: Define ST_RELATIME.
	* sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
	Handle relatime mount option.

2006-12-13  Jakub Jelinek  <jakub@redhat.com>
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Include
	kernel-features.h.

2006-12-11  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/strtod_l.c (____STRTOF_INTERNAL): Parse thousand
	separators also if no non-zero digits found.
	* stdlib/Makefile (tests): Add tst-strtod3.
	[BZ #3664]
	* stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix test to recognize
	empty parsed strings.
	* stdlib/Makefile (tests): Add tst-strtod2.
	* stdlib/tst-strtod2.c: New file.

	[BZ #3673]
	* stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix exp_limit
	computation.
	* stdlib/Makefile (tests): Add tst-atof2.
	* stdlib/tst-atof2.c: New file.

	[BZ #3674]
	* stdlib/strtod_l.c (____STRTOF_INTERNAL): Adjust exponent value
	correctly if removing trailing zero of hex-float.
	* stdlib/Makefile (tests): Add tst-atof1.
	* stdlib/tst-atof1.c: New file.

	* misc/mntent_r.c (__hasmntopt): Check p[optlen] even when p == rest.
	Start searching for next comma at p rather than rest.
	* misc/Makefile (tests): Add tst-mntent2.
	* misc/tst-mntent2.c: New test.

2006-12-08  Ulrich Drepper  <drepper@redhat.com>
	* malloc/memusage.c: Handle realloc with new size of zero and
	non-NULL pointer correctly.
	(me): Really write first record twice.
	(struct entry): Make format bi-arch safe.
	(dest): Write out more realloc statistics.
	* malloc/memusagestat.c (struct entry): Make format bi-arch safe.
2006-12-05  Jakub Jelinek  <jakub@redhat.com>
	* nis/nis_subr.c (nis_getnames): Revert last change.
2006-12-03  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
	* sysdeps/unix/sysv/linux/sh/sys/io.h: Removed.
2006-11-30  H.J. Lu  <hongjiu.lu@intel.com>
	* sysdeps/i386/i686/memcmp.S: Use jump table as the base of
	jump table entries.

2006-11-30  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* sysdeps/unix/sysv/linux/i386/clone.S: Provide CFI for the outermost
	`clone' function to ensure proper unwinding stop of gdb.
	* sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise.

2006-12-01  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd.init: Remove obsolete and commented-out -S option
	handling.

2006-11-23  Jakub Jelinek  <jakub@redhat.com>

	[BZ #3514]
	* manual/string.texi (strncmp): Fix pastos from wcscmp description.

	[BZ #3515]
	* manual/string.texi (strtok): Remove duplicate paragraph.

2006-12-01  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Fix compatibility with
	libgcc not supporting `rflags' unwinding (register # >= 17).

2006-11-30  Jakub Jelinek  <jakub@redhat.com>

	* sunrpc/svc_run.c (svc_run): Set my_pollfd to new_pollfd if realloc
	succeeded.

2006-11-29  Daniel Jacobowitz  <dan@codesourcery.com>
	    Jakub Jelinek  <jakub@redhat.com>
	    Jan Kratochvil  <jan.kratochvil@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/sigaction.c (restore_rt): Add correct
	unwind information.
	* sysdeps/unix/sysv/linux/x86_64/Makefile: Provide symbols for
	'restore_rt' even in the 'signal' directory.
	* sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym: Extend the regs list.
	malloc crashed.  Don't allocate memory unnecessarily in each
	loop.
2006-10-21  Jakub Jelinek  <jakub@redhat.com>
	* resolv/mapv4v6addr.h (map_v4v6_address): Fix last change.
2006-11-20  Ulrich Drepper  <drepper@redhat.com>
	* resolv/mapv4v6addr.h (map_v4v6_address): Optimize a bit.
2006-11-18  Bruno Haible  <bruno@clisp.org>
	* sysdeps/unix/sysv/linux/i386/getgroups.c (__getgroups): Invoke
	__sysconf only after having tried to call getgroups32.
2006-11-19  Ulrich Drepper  <drepper@redhat.com>
	* nss/nss_files/files-hosts.c (LINE_PARSER): Support IPv6-style
	addresses for IPv4 queries if they can be mapped.
2006-11-16  Jakub Jelinek  <jakub@redhat.com>
	* sysdeps/x86_64/fpu/s_copysignf.S (__copysignf): Switch to .text.
	* sysdeps/x86_64/fpu/s_copysign.S (__copysign): Likewise.
	(signmask): Add .size directive.
	(othermask): Add .type directive.
2006-11-14  Ulrich Drepper  <drepper@redhat.com>
	* po/nl.po: Update from translation team.
	* timezone/zdump.c: Redo fix for BZ #3137.
2006-11-14  Jakub Jelinek  <jakub@redhat.com>
	* nss/nss_files/files-alias.c (get_next_alias): Set line back
	to first_unused after parsing :include: file.
	* timezone/africa: Update from tzdata2006o.
	* timezone/antarctica: Likewise.
	* timezone/asia: Likewise.
	* timezone/australasia: Likewise.
	* timezone/backward: Likewise.
	* timezone/europe: Likewise.
	* timezone/iso3166.tab: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/southamerica: Likewise.
	* timezone/zone.tab: Likewise.

	* time/tzfile.c (__tzfile_read): Extend to handle new file format
	on machines with 64-bit time_t.

	* timezone/checktab.awk: Update from tzcode2006o.
	* timezone/ialloc.c: Likewise.
	* timezone/private.h: Likewise.
	* timezone/scheck.c: Likewise.
	* timezone/tzfile.h: Likewise.
	* timezone/tzselect.ksh: Likewise.
	* timezone/zdump.c: Likewise.
	* timezone/zic.c: Likewise.

	[BZ #3483]
	* elf/ldconfig.c (main): Call setlocale and textdomain.
	Patch mostly by Benno Schulenberg <bensberg@justemail.net>.

	[BZ #3480]
	* manual/argp.texi: Fix typos.
	* manual/charset.texi: Likewise.
	* manual/errno.texi: Likewise.
	* manual/filesys.texi: Likewise.
	* manual/lang.texi: Likewise.
	* manual/maint.texi: Likewise.
	* manual/memory.texi: Likewise.
	* manual/message.texi: Likewise.
	* manual/resource.texi: Likewise.
	* manual/search.texi: Likewise.
	* manual/signal.texi: Likewise.
	* manual/startup.texi: Likewise.
	* manual/stdio.texi: Likewise.
	* manual/sysinfo.texi: Likewise.
	* manual/syslog.texi: Likewise.
	* manual/time.texi: Likewise.
	Patch by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

	[BZ #3465]
	* sunrpc/clnt_raw.c: Minimal message improvements.
	* sunrpc/pm_getmaps.c: Likewise.
	* nis/nss_nisplus/nisplus-publickey.c: Likewise.
	* nis/nis_print_group_entry.c: Likewise.
	* locale/programs/repertoire.c: Likewise.
	* locale/programs/charmap.c: Likewise.
	* malloc/memusage.sh: Likewise.
	* elf/dl-deps.c: Likewise.
	* locale/programs/ld-collate.c: Likewise.
	* libio/vswprintf.c: Likewise.
	* malloc/memusagestat.c: Likewise.
	* sunrpc/auth_unix.c: Likewise.
	* sunrpc/rpc_main.c: Likewise.
	* nscd/cache.c: Likewise.
	* locale/programs/repertoire.c: Unify output messages.
	* locale/programs/charmap.c: Likewise.
	* locale/programs/ld-ctype.c: Likewise.
	* locale/programs/ld-monetary.c: Likewise.
	* locale/programs/ld-numeric.c: Likewise.
	* locale/programs/ld-time.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* nscd/selinux.c: Likewise.
	* elf/cache.c: Likewise.
	Patch mostly by Benno Schulenberg <bensberg@justemail.net>.

2006-11-10  Jakub Jelinek  <jakub@redhat.com>

	* string/strxfrm_l.c (STRXFRM): Fix trailing \1 optimization
	if N is one bigger than return value.
	* string/tst-strxfrm2.c (do_test): Also test strxfrm with l1 + 1
	and l1 last arguments, if buf is defined, verify the return value
	equals to strlen (buf) and verify no byte beyond passed length
	is modified.

2006-11-10  Ulrich Drepper  <drepper@redhat.com>

	* po/sv.po: Update from translation team.

	* sysdeps/gnu/siglist.c (__old_sys_siglist, __old_sys_sigabbrev):
	Use __new_sys_siglist instead of _sys_siglist_internal as
	second macro argument.
	(_old_sys_siglist): Use declare_symbol_alias macro instead of
	strong_alias.
2006-11-09  Ulrich Drepper  <drepper@redhat.com>

	[BZ #3493]
	* posix/unistd.h (sysconf): Remove const attribute.

	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Fix test for
	temporary or deprecated addresses.
	Patch by Sridhar Samudrala <sri@us.ibm.com>.

	* string/Makefile (tests): Add tst-strxfrm2.
	* string/tst-strxfrm2.c: New file.

2006-10-09  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-debug.c (_dl_debug_initialize): Check r->r_map for 0
	rather than r->r_brk.
	* string/strxfrm_l.c (STRXFRM): Do the trailing \1 removal
	optimization even if needed > n.

2006-11-07  Jakub Jelinek  <jakub@redhat.com>

	* include/libc-symbols.h (declare_symbol): Rename to...
	(declare_symbol_alias): ... this.  Add ORIGINAL argument, imply
	strong_alias (ORIGINAL, SYMBOL) in asm to make sure it preceedes
	.size directive.
	* sysdeps/gnu/errlist-compat.awk: Adjust for declare_symbol_alias
	changes.
	* sysdeps/gnu/siglist.c: Likewise.

2006-11-03  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/fpu/bits/mathinline.h
	[__LIBC_INTERNAL_MATH_INLINES]: Moved to ...
	* sysdeps/powerpc/fpu/math_private.h: ...here.  New file.

2006-11-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word):
	Update handling of cache descriptor 0x49 for new models.
	* sysdeps/unix/sysv/linux/x86_64/sysconf.c (intel_check_word):
	Likewise.

2006-11-02  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Work around ld --help change and avoid -z relro
	test completely if the architecture doesn't care about security.

2006-11-01  Ulrich Drepper  <drepper@redhat.com>

	* po/sv.po: Update from translation team.

2006-10-31  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/atexit.c (atexit): Don't mark as hidden when used to
	generate compatibility version.

2006-10-29  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Relax -z relro requirement a bit.

	* po/sv.po: Update from translation team.

2006-10-29  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-sym.c (do_sym): Use RTLD_SINGLE_THREAD_P.
	* elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Likewise.
	* elf/dl-close.c (_dl_close_worker): Likewise.
	* elf/dl-open.c (_dl_open_worker): Likewise.
	* sysdeps/generic/sysdep-cancel.h (RTLD_SINGLE_THREAD_P): Define.

	* configure.in: Require assembler support for visibility, compiler
	support for visibility and aliases, linker support for various -z
	options.
	* Makeconfig: Remove conditional code which now is unnecessary.
	* config.h.in: Likewise.
	* config.make.in: Likewise.
	* dlfcn/Makefile: Likewise.
	* elf/Makefile: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/rtld.c: Likewise.
	* include/libc-symbols.h: Likewise.
	* include/stdio.h: Likewise.
	* io/Makefile: Likewise.
	* io/fstat.c: Likewise.
	* io/fstat64.c: Likewise.
	* io/fstatat.c: Likewise.
	* io/fstatat64.c: Likewise.
	* io/lstat.c: Likewise.
	* io/lstat64.c: Likewise.
	* io/mknod.c: Likewise.
	* io/mknodat.c: Likewise.
	* io/stat.c: Likewise.
	* io/stat64.c: Likewise.
	* libio/stdio.c: Likewise.
	* nscd/Makefile: Likewise.
	* stdlib/Makefile: Likewise.
	* stdlib/atexit.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/i386/sysdep.h: Likewise.
	* sysdeps/i386/i686/memcmp.S: Likewise.
	* sysdeps/powerpc/powerpc32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise.

	* Makerules: USE_TLS support is now default.
	* tls.make.c: Likewise.
	* csu/Versions: Likewise.
	* csu/libc-start.c: Likewise.
	* csu/libc-tls.c: Likewise.
	* csu/version.c: Likewise.
	* dlfcn/dlinfo.c: Likewise.
	* elf/dl-addr.c: Likewise.
	* elf/dl-cache.c: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-iteratephdr.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-object.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-sysdep.c: Likewise.
	* elf/dl-tls.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* elf/rtld.c: Likewise.
	* elf/tst-tls-dlinfo.c: Likewise.
	* elf/tst-tls1.c: Likewise.
	* elf/tst-tls10.h: Likewise.
	* elf/tst-tls14.c: Likewise.
	* elf/tst-tls2.c: Likewise.
	* elf/tst-tls3.c: Likewise.
	* elf/tst-tls4.c: Likewise.
	* elf/tst-tls5.c: Likewise.
	* elf/tst-tls6.c: Likewise.
	* elf/tst-tls7.c: Likewise.
	* elf/tst-tls8.c: Likewise.
	* elf/tst-tls9.c: Likewise.
	* elf/tst-tlsmod1.c: Likewise.
	* elf/tst-tlsmod13.c: Likewise.
	* elf/tst-tlsmod13a.c: Likewise.
	* elf/tst-tlsmod14a.c: Likewise.
	* elf/tst-tlsmod2.c: Likewise.
	* elf/tst-tlsmod3.c: Likewise.
	* elf/tst-tlsmod4.c: Likewise.
	* elf/tst-tlsmod5.c: Likewise.
	* elf/tst-tlsmod6.c: Likewise.
	* include/errno.h: Likewise.
	* include/link.h: Likewise.
	* include/tls.h: Likewise.
	* locale/global-locale.c: Likewise.
	* locale/localeinfo.h: Likewise.
	* malloc/arena.c: Likewise.
	* malloc/hooks.c: Likewise.
	* malloc/malloc.c: Likewise.
	* resolv/Versions: Likewise.
	* sysdeps/alpha/dl-machine.h: Likewise.
	* sysdeps/alpha/libc-tls.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/generic/tls.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/ia64/dl-machine.h: Likewise.
	* sysdeps/ia64/libc-tls.c: Likewise.
	* sysdeps/mach/hurd/fork.c: Likewise.
	* sysdeps/mach/hurd/i386/tls.h: Likewise.
	* sysdeps/powerpc/powerpc32/dl-machine.c: Likwise.
	* sysdeps/powerpc/powerpc32/dl-machine.h: Likewise.
	* sysdeps/powerpc/powerpc64/dl-machine.h: Likewise.
	* sysdeps/s390/libc-tls.c: Likewise.
	* sysdeps/s390/s390-32/dl-machine.h: Likewise.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
	* sysdeps/x86_64/dl-machine.h: Likewise.

	[BZ #3426]
	* stdlib/stdlib.h: Adjust comment for canonicalize_file_name to
	reality.

2006-10-27  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (_dl_debug_bindings): Remove unused symbol_scope
	argument.
	(_dl_lookup_symbol_x): Adjust caller.

	* sysdeps/generic/ldsodefs.h (struct link_namespaces): Remove
	_ns_global_scope.
	* elf/rtld.c (dl_main): Don't initialize _ns_global_scope.

	* elf/dl-libc.c: Revert l_scope name changes.
	* elf/dl-load.c: Likewise.
	* elf/dl-object.c: Likewise.
	* elf/rtld.c: Likewise.
	* elf/dl-close.c (_dl_close): Likewise.
	* elf/dl-open.c (dl_open_worker): Likewise.  If not SINGLE_THREAD_P,
	always use __rtld_mrlock_{change,done}.  Always free old scope list
	here if not l_scope_mem.
	* elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Revert l_scope name
	change.  Never free scope list here.  Just __rtld_mrlock_lock before
	the lookup and __rtld_mrlock_unlock it after the lookup.
	* elf/dl-sym.c: Likewise.
	* include/link.h (struct r_scoperec): Remove.
	(struct link_map): Replace l_scoperec with l_scope, l_scoperec_mem
	with l_scope_mem and l_scoperec_lock with l_scope_lock.

2006-10-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/gnu/netinet/tcp.h: Define TCP_CONGESTION.

2006-10-18  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Disable building profile libraries by default.

2006-10-18  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-lookup.c (_dl_lookup_symbol_x): Add warning to
	_dl_lookup_symbol_x code.

2006-10-17  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-runtime.c: Include sysdep-cancel.h.
	(_dl_fixup, _dl_profile_fixup): Use __rtld_mrlock_* and
	scoperec->nusers only if !SINGLE_THREAD_P.  Use atomic_*
	instead of catomic_* macros.
	* elf/dl-sym.c: Include sysdep-cancel.h.
	(do_sym): Use __rtld_mrlock_* and scoperec->nusers only
	if !SINGLE_THREAD_P.  Use atomic_* instead of catomic_* macros.
	* elf/dl-close.c: Include sysdep-cancel.h.
	(_dl_close): Use __rtld_mrlock_* and scoperec->nusers only
	if !SINGLE_THREAD_P.  Use atomic_* instead of catomic_* macros.
	* elf/dl-open.c: Include sysdep-cancel.h.
	(dl_open_worker): Use __rtld_mrlock_* and scoperec->nusers only
	if !SINGLE_THREAD_P.  Use atomic_* instead of catomic_* macros.

2006-10-17  Jakub Jelinek  <jakub@redhat.com>

	[BZ #3313]
	* malloc/malloc.c (malloc_consolidate): Set maxfb to address of last
	fastbin rather than end of fastbin array.

2006-10-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/i486/bits/atomic.h (catomic_decrement): Use correct
	body macro.
	* sysdeps/x86_64/bits/atomic.h
	(__arch_c_compare_and_exchange_val_64_acq): Add missing casts.
	(catomic_decrement): Use correct body macro.

2006-10-17  Jakub Jelinek  <jakub@redhat.com>

	* include/atomic.h: Add a unique prefix to all local variables
	in macros.
	* csu/tst-atomic.c (do_test): Test also catomic_* macros.

2006-10-14  Ulrich Drepper  <drepper@redhat.com>

	* resolv/arpa/nameser.h: Document that ns_t_a6 is deprecated.

	[BZ #3313]
	* malloc/malloc.c (malloc_consolidate): Don't use get_fast_max to
	determine highest fast bin to consolidate, always look into all of
	them.
	(do_check_malloc_state): Only require for empty bins for large
	sizes in main arena.

	* libio/stdio.h: Add more __wur attributes.

2006-11-12  Andreas Jaeger  <aj@suse.de>

	[BZ #2510]
	* manual/search.texi (Hash Search Function): Clarify.
	(Array Search Function): Clarify.

2006-11-12  Joseph Myers  <joseph@codesourcery.com>

	[BZ #2830]
	* math/atest-exp.c (main): Cast hex value to mp_limb_t before
	shifting.
	* math/atest-exp2.c (read_mpn_hex): Likewise.
	* math/atest-sincos.c (main): Likewise.

	* sysdeps/unix/sysv/linux/syscalls.list: Add epoll_pwait.
	* sysdeps/unix/sysv/linux/sys/epoll.h: Declare epoll_pwait.
	* sysdeps/unix/sysv/linux/Versions (libc): Add epoll_pwait for
	version GLIBC_2.6.
	* Versions.def: Add GLIBC_2.6 for libc.

	* sysdeps/i386/i486/bits/atomic.h: Add catomic_* support.

2006-10-11  Jakub Jelinek  <jakub@redhat.com>

	* malloc/malloc.c (_int_malloc): Remove unused any_larger variable.

	* nis/nis_defaults.c (__nis_default_access): Don't call getenv twice.

	* nis/nis_subr.c (nis_getnames): Use __secure_getenv instead of getenv.
	* sysdeps/generic/unsecvars.h: Add NIS_PATH.

2006-10-11  Ulrich Drepper  <drepper@redhat.com>

	* include/atomic.c: Define catomic_* operations.
	* sysdeps/x86_64/bits/atomic.h: Likewise.  Fix a few minor problems.
	* stdlib/cxa_finalize.c: Use catomic_* operations instead of atomic_*.
	* malloc/memusage.c: Likewise.
	* gmon/mcount.c: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-fptr.c: Likewise.
	* resolv/res_libc.c: Likewise.

2006-10-10  Roland McGrath  <roland@frob.com>
	* sysdeps/mach/hurd/utimes.c: Use a union to avoid an improper cast.
	* sysdeps/mach/hurd/futimes.c: Likewise.
	* sysdeps/mach/hurd/lutimes.c: Likewise.

2006-10-09  Ulrich Drepper  <drepper@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	Implement reference counting of scope records.
	* elf/dl-close.c (_dl_close): Remove all scopes from removed objects
	from the list in objects which remain.  Always allocate new scope
	record.
	* elf/dl-open.c (dl_open_worker): When growing array for scopes,
	don't resize, allocate a new one.
	* elf/dl-runtime.c: Update reference counters before using a scope
	array.
	* elf/dl-sym.c: Likewise.
	* elf/dl-libc.c: Adjust for l_scope name change.
	* elf/dl-load.c: Likewise.
	* elf/dl-object.c: Likewise.
	* elf/rtld.c: Likewise.
	* include/link.h: Include <rtld-lowlevel.h>.  Define struct
	r_scoperec.  Replace r_scope with pointer to r_scoperec structure.
	Add l_scoperec_lock.
	* sysdeps/generic/ldsodefs.h: Include <rtld-lowlevel.h>.
	* sysdeps/generic/rtld-lowlevel.h: New file.

	* include/atomic.h: Rename atomic_and to atomic_and_val and
	atomic_or to atomic_or_val.  Define new macros atomic_and and
	atomic_or which do not return values.
	* sysdeps/x86_64/bits/atomic.h: Define atomic_and and atomic_or.
	Various cleanups.
	* sysdeps/i386/i486/bits/atomic.h: Likewise.

	* po/sv.po: Update from translation team.

2006-10-07  Ulrich Drepper  <drepper@redhat.com>

	* Versions.def: Add GLIBC_2.6 to libpthread.

	* include/shlib-compat.h (SHLIB_COMPAT): Expand parameters before use.
	(versioned_symbol): Likewise.
	(compat_symbol): Likewise.

	* po/tr.po: Update from translation team.
	* nis/Banner: Removed.  It's been integral part forever and the
	author info is incomplete anyway.
	* libio/Banner: Likewise.

2006-10-06  Ulrich Drepper  <drepper@redhat.com>

	* version.h (VERSION): Bump to 2.5.90 for new development tree.
2007-01-11 21:51:07 +00:00
Jakub Jelinek
32c075e1f0 . 2007-07-31 13:33:18 +00:00
Ulrich Drepper
78fbd00f39 * configure.in: Require assembler support for visibility, compiler
support for visibility and aliases, linker support for various -z
	options.
	* Makeconfig: Remove conditional code which now is unnecessary.
	* config.h.in: Likewise.
	* config.make.in: Likewise.
	* dlfcn/Makefile: Likewise.
	* elf/Makefile: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/rtld.c: Likewise.
	* include/libc-symbols.h: Likewise.
	* include/stdio.h: Likewise.
	* io/Makefile: Likewise.
	* io/fstat.c: Likewise.
	* io/fstat64.c: Likewise.
	* io/fstatat.c: Likewise.
	* io/fstatat64.c: Likewise.
	* io/lstat.c: Likewise.
	* io/lstat64.c: Likewise.
	* io/mknod.c: Likewise.
	* io/mknodat.c: Likewise.
	* io/stat.c: Likewise.
	* io/stat64.c: Likewise.
	* libio/stdio.c: Likewise.
	* nscd/Makefile: Likewise.
	* stdlib/Makefile: Likewise.
	* stdlib/atexit.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/i386/sysdep.h: Likewise.
	* sysdeps/i386/i686/memcmp.S: Likewise.
	* sysdeps/powerpc/powerpc32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise.
2006-10-28 06:44:41 +00:00
Ulrich Drepper
ffd0e1b7e9 * elf/Makefile: Add rules to build and run tst-thrlock.
* elf/tst-thrlock.c:  New file.
2006-10-27 21:01:42 +00:00
Ulrich Drepper
1ee2ff2053 * elf/dl-close.c (_dl_close): If dependency is not unloaded make
sure no reference to the unloaded map's search list remains in the
	dependency's scope.

2006-09-16  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile: Add rules to build and run unload7 test.
	* elf/unload7.c: New test.
	* elf/unload7mod1.c: New file.
	* elf/unload7mod2.c: New file.
2006-09-19 14:42:12 +00:00
Ulrich Drepper
93b53ca279 [BZ #2683]
2006-08-24  Ulrich Drepper  <drepper@redhat.com>
	[BZ #2683]
	* elf/dl-addr.c (_dl_addr): Don't ignore all undefined symbols.
	If symbol has a value use it.
	* elf/tst-dladdr1.c: New file.
	* elf/Makefile: Add rules to build and run tst-addr1.
2006-08-24 20:21:08 +00:00
Ulrich Drepper
376e973ad6 [BZ #3018]
2006-07-30  Joseph S. Myers  <joseph@codesourcery.com>
	[BZ #3018]
	* Makerules (depfiles): Handle extra-test-objs the same as
	extra-objs.
	(common-mostlyclean): Likewise.
	* dlfcn/Makefile (extra-objs): Add modules to extra-test-objs
	instead.
	* elf/Makefile (extra-objs): Likewise.
	* stdlib/Makefile (extra-objs): Likewise.
2006-08-21 21:06:35 +00:00
Roland McGrath
cafdfdb65b * elf/rtld.c (dl_main): Run final self-relocation after setting up TLS.
From Alexandre Oliva <aoliva@redhat.com>.

	* elf/tst-audit2.c: New file.
	* elf/Makefile (tests): Add it.
	($(objpfx)tst-audit2.out): New target.
	(tst-audit2-ENV): New variable.

	* elf/tst-leaks1.c: Include <stdio.h>.
2006-03-19 07:48:05 +00:00
Ulrich Drepper
2e0fc40cc4 [BZ #2451]
2006-03-13  Jakub Jelinek  <jakub@redhat.com>
	[BZ #2451]
	* elf/dl-load.c (open_verify): Add free_name argument, if true, free
	name before calling lose.
	(open_path): Adjust caller.
	(_dl_map_object): Adjust callers.  Free name_copy before calling
	_dl_signal_error.
	* elf/Makefile: Add rules to build and run tst-leaks1.
	* elf/tst-leaks1.c: New test.
2006-03-15 19:26:13 +00:00
Roland McGrath
d78efd9f36 * elf/tst-tls-dlinfo.c: New file.
* elf/Makefile (tests): Add it.
	($(objpfx)tst-tls-dlinfo): Depend on $(libdl).
	($(objpfx)tst-tls-dlinfo.out): Depend on $(objpfx)tst-tlsmod2.so.

	* dlfcn/dlfcn.h (RTLD_DI_PROFILENAME, RTLD_DI_PROFILEOUT): New enum
	values, reserve unsupported requested names used on Solaris.
	(RTLD_DI_TLS_MODID, RTLD_DI_TLS_DATA): New enum values.
	(RTLD_DI_MAX): Likewise.
	* dlfcn/dlinfo.c (dlinfo_doit): Handle RTLD_DI_TLS_MODID and
	RTLD_DI_TLS_DATA.

	* elf/dl-tls.c (_dl_tls_get_addr_soft): New function.
	* sysdeps/generic/ldsodefs.h: Declare it.
	* elf/Versions (ld: GLIBC_PRIVATE): Add it.
	* elf/link.h (struct dl_phdr_info): New members dlpi_tls_modid,
	dlpi_tls_data.
	* elf/dl-iteratephdr.c (__dl_iterate_phdr): Fill them in.

	* include/link.h: Don't copy contents from elf/link.h.
	Instead, #include it while #define'ing around link_map.
	* elf/dl-debug.c (_dl_debug_initialize): Add a cast.
	Add bogus extern decl to verify link_map members.
	* elf/loadtest.c (MAPS): New macro, cast _r_debug._r_map.
	(OUT, main): Use it in place of _r_debug._r_map.
	* elf/unload.c: Likewise.
	* elf/unload2.c: Likewise.
	* elf/neededtest.c (check_loaded_objects): Likewise.
	* elf/neededtest2.c (check_loaded_objects): Likewise.
	* elf/neededtest3.c (check_loaded_objects): Likewise.
	* elf/neededtest4.c (check_loaded_objects): Likewise.
	* elf/circleload1.c (check_loaded_objects): Likewise.
2006-03-01 06:18:49 +00:00
Ulrich Drepper
d9266ea02f * Makerules: Define build-module-asneeded.
* iconvdata/extra-module.mk: Use build-module-asneeded.
	needed.

2006-01-09  Richard Henderson  <rth@redhat.com>

	* iconvdata/extra-module.mk ($(objpfx)$(mod).so): Depend on ld.so.
	* sysdeps/alpha/__longjmp.S: Use PTR_DEMANGLE.
	* sysdeps/alpha/setjmp.S: Likewise.  Avoid __sigjmp_save for rtld;
	tailcall in libc.so.
	* sysdeps/unix/sysv/linux/alpha/sysdep.h (PTR_MANGLE): Define.
	(PTR_MANGLE2): Define.

2006-01-11  Ulrich Drepper  <drepper@redhat.com>
2006-01-11 22:18:24 +00:00
Ulrich Drepper
3baf2e9b75 * elf/check-localplt.c: New file.
* elf/Makefile: Add rules to build and run check-localplt.
	* scripts/data/localplt-x86_64-linux-gnu.data: New file.
	* scripts/data/localplt-i386-linux-gnu.data: New file.
2006-01-11 20:44:32 +00:00
Roland McGrath
ac2d6e9bae 2006-01-09 Roland McGrath <roland@redhat.com>
* elf/Makefile ($(objpfx)reldep5.out): Fix dependency typo,
	so we depend on $(objpfx)reldepmod6.so as intended.
2006-01-10 01:46:10 +00:00
Roland McGrath
aed48a2a23 2005-10-16 Daniel Jacobowitz <dan@codesourcery.com>
Roland McGrath  <roland@redhat.com>

	* Makerules [module-names] (extra-modules-build): New variable.
	($(extra-modules-build:%=$(objpfx)%.so)): New static pattern rule.
	Depend on libc.so and libc_nonshared.a.
	* dlfcn/Makefile ($(test-modules)): Remove static pattern rule.
	* elf/Makefile (modules-names-nobuild): New variable, add filtmod1.
	($(test-modules)): Remove static pattern rule.
2005-10-16 09:25:59 +00:00
Roland McGrath
dc936e2b7c * sysdeps/generic/ldsodefs.h (struct audit_ifaces):
Use ARCH_PLTENTER_MEMBERS and ARCH_PLTEXIT_MEMBERS macros if defined.
	* elf/tst-auditmod1.c: Include <tst-audit.h> to define more
	architecture-specific code.
	* sysdeps/generic/tst-audit.h: New file.
	* elf/Makefile (distribute): Add it.
2005-10-05 18:57:11 +00:00
Ulrich Drepper
04395c90fc [BZ #974]
2005-04-13  H.J. Lu  <hongjiu.lu@intel.com>
	[BZ #974]
	* csu/elf-init.c (__preinit_array_start): Take int, char **, char **.
	(__preinit_array_end): Likewise.
	(__init_array_start): Likewise.
	(__init_array_end): Likewise.
	(__libc_csu_init): Take int argc, char **argv, char **envp.
	Call preinit_array and init_array with argc, argv, envp.
	* sysdeps/generic/libc-start.c (LIBC_START_MAIN): Remove
	INIT_MAIN_ARGS.
	* sysdeps/powerpc/elf/libc-start.c (INIT_MAIN_ARGS): Removed.
	* elf/Makefile (distribute): Add tst-array5.c, tst-array5-static.c,
	tst-array5dep.c, and tst-array5.exp.
	(tests): Add tst-array5.
	(tests-static): Add tst-array5-static.
	($(objpfx)tst-array5): New target.
	($(objpfx)tst-array5.out): Likewise.
	($(objpfx)tst-array5-static.out): Likewise.
	* elf/tst-array5-static.c: New file.
	* elf/tst-array5-static.exp: Likewise.
	* elf/tst-array5.c: Likewise.
	* elf/tst-array5.exp: Likewise.
	* elf/tst-array5dep.c: Likewise.
2005-07-07 23:00:02 +00:00
Ulrich Drepper
35f1e82763 * Versions.def (ld): Add GLIBC_2.4.
* configure.in: Add --enable-stackguard-randomization option.
	(ENABLE_STACKGUARD_RANDOMIZE): New define.
	* config.h.in (ENABLE_STACKGUARD_RANDOMIZE): Add.
	* sysdeps/unix/sysv/linux/dl-osinfo.h: Include stdint.h.
	(_dl_setup_stack_chk_guard): New inline function.
	* sysdeps/generic/dl-osinfo.h: Include stdint.h.
	(_dl_setup_stack_chk_guard): New inline function.
	* elf/rtld.c (__stack_chk_guard): New variable.
	(dl_main): Remove all traces of TLS_INIT_TP_EXPENSIVE.
	Set __stack_chk_guard to _dl_setup_stack_chk_guard (),
	use THREAD_SET_STACK_GUARD if defined.
	* elf/Versions (ld): Export __stack_chk_guard@@GLIBC_2.4.
	* sysdeps/generic/libc-start.c (__stack_chk_guard): New variable.
	(__libc_start_main): Set __stack_chk_guard to
	_dl_setup_stack_chk_guard (), use THREAD_SET_STACK_GUARD if defined.
	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Remove all
	traces of TLS_INIT_TP_EXPENSIVE.
	* debug/Versions (libc): Export __stack_chk_fail@@GLIBC_2.4.
	* debug/Makefile (routines): Add stack_chk_fail.
	(static-only-routines): Add stack_chk_fail_local.
	* debug/stack_chk_fail_local.c: New file.
	* debug/stack_chk_fail.c: New file.
	* elf/Makefile: Add rules to build and run tst-stackguard1{,-static}
	tests.
	* elf/tst-stackguard1.c: New file.
	* elf/tst-stackguard1-static.c: New file.
	* elf/stackguard-macros.h: New file.
2005-06-26 18:14:26 +00:00
Ulrich Drepper
bfc832ccf1 * elf/dl-close.c: Include stddef.h.
(_dl_close): If called recursively, just remember GC needs to be rerun
	and decrease l_direct_opencount.  Avoid GC if l_direct_opencount
	decreased to 1.  Rerun GC at the end if any destructor unloaded some
	additional libraries.
	* elf/Makefile: Add rules to build and run unload6 test.
	* elf/unload6.c: New test.
	* elf/unload6mod1.c: New file.
	* elf/unload6mod2.c: New file.
	* elf/unload6mod3.c: New file.

	* malloc/hooks.c (mem2chunk_check): Add magic_p argument, set *magic_p
	if magic_p is not NULL.
	(top_check): Invoke MALLOC_FAILURE_ACTION if MORECORE failed.
	(malloc_check): Fail if sz == -1.
	(free_check): Adjust mem2chunk_check caller.
	(realloc_check): Likewise.  Fail if bytes == -1.  If bytes == 0 and
	oldmem != NULL, call free_check and return NULL.  If reallocating
	and returning NULL, invert magic byte again to make oldmem valid
	region for further checking.
	(memalign_check): Fail if bytes == -1.
	* malloc/Makefile: Add rules to build and run tst-mcheck.
	* malloc/tst-mcheck.c: New test.
2005-04-27 01:39:11 +00:00
Ulrich Drepper
167d5acc0d [BZ #786]
2005-03-15  Jakub Jelinek  <jakub@redhat.com>
	[BZ #786]
	* sysdeps/generic/dl-tls.c (_dl_next_tls_modid): Handle
	GL(dl_tls_static_nelem) == GL(dl_tls_max_dtv_idx).
	* elf/Makefile: Add rules to build and run tst-tls15.
	* elf/tst-tls15.c: New test.
	* elf/tst-tlsmod15a.c: New file.
	* elf/tst-tlsmod15b.c: New file.

2005-03-20  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (dl_main): Always call init_tls if we have audit modules.
2005-03-20 22:25:59 +00:00
Ulrich Drepper
3d786f1969 * elf/Makefile: Add rules to build and run order2.
* elf/order2.c: New file.
	* elf/order2mod1.c: New file.
	* elf/order2mod2.c: New file.
	* elf/order2mod3.c: New file.
	* elf/order2mod4.c: New file.
2005-03-19 08:04:37 +00:00
Ulrich Drepper
20fe49b93a * include/link.h (struct link_map): Remove l_opencount. Add l_removed.
Change type of l_idx to int.
	* elf/dl-close.c: Basically rewrite.  Do not use l_opencount to
	determine whether a DSO has to be unloaded.  Instead compute this
	in this function.
	* elf/dl-deps.c: No need to manipulate l_opencount anymore.
	* elf/dl-lookup.c: Likewise.
	* elf/rtld.c: Likewise
	* elf/dl-open.c: Likewise.  Use l_init_called to determine whether
	object was just loaded.
	* elf/dl-fini.c: Bump l_direct_opencount instead of l_opencount.
	* elf/dl-load.c (_dl_map_object_from_fd): Do not recognize DSO which
	is about to be unloaded as a match.
	(_dl_map_object): Likewise.
	* elf/do-lookup.h (do_lookup_x): Do not look into DSO which is about
	to be unloaded.
	* elf/circleload1.c: Don't use l_opencount anymore.
	* elf/neededtest.c: Likewise.
	* elf/neededtest2.c: Likewise.
	* elf/neededtest3.c: Likewise.
	* elf/neededtest4.c: Likewise.
	* elf/unload.c: Likewise.
	* elf/unload2.c: Likewise.
	* elf/loadtest.c: Likewise.

	* elf/rtld.c: Preloading errors are now never fatal.

2005-03-08  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile: Add rules to build and run unload5 test.
	* elf/unload5.c: New file.

2005-03-08  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile: Add rules to build and run unload4 test.
	* elf/unload4.c: New file.
	* elf/unload4mod1.c: New file.
	* elf/unload4mod2.c: New file.
	* elf/unload4mod3.c: New file.
	* elf/unload4mod4.c: New file.
2005-03-18 11:11:42 +00:00
Ulrich Drepper
fab0abb446 (tests): Add tst-global1. Add rules to build and run unload3 test. 2005-03-03 08:24:29 +00:00
Ulrich Drepper
ec1af1d8ce Run tst-tls9-static again. 2005-02-24 02:56:13 +00:00
Ulrich Drepper
e13e33e279 2005-02-21 Alan Modra <amodra@bigpond.net.au>
* elf/dl-reloc.c (_dl_nothread_init_static_tls): Assert that dtv
	array index is within bounds.

	* elf/dl-load.c: Do not allow PT_TLS in modules loaded in statically
	linked code.
	* sysdeps/generic/dl-tls.c [!SHARED]: Don't build _dl_next_tls_modid.
	* elf/Makefile: Remove rules to build and run tst-tls9-static.
2005-02-22 03:51:38 +00:00
Ulrich Drepper
43c59a705b * csu/elf-init.c (__libc_csu_fini): Enable if LIBC_NONSHARED
isn't defined.
	* sysdeps/generic/libc-start.c (LIBC_START_MAIN): Call fini
	if SHARED isn't defined.
	* elf/Makefile (tests-static): Add tst-array1-static.
	($(objpfx)tst-array1-static.out): New target.
	* elf/tst-array1-static.c: New file.
2005-02-14 21:25:50 +00:00
Ulrich Drepper
be184b1d26 Update.
2005-01-21  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile: Add rules to build and run tst-align2.
	* elf/tst-align2.c: New test.
	* elf/tst-alignmod2.c: New file.
	* sysdeps/powerpc/tst-stack-align.h: New file.
	* sysdeps/i386/dl-machine.h (RTLD_START): Align stack and clear frame
	pointer before calling _dl_init.
	* sysdeps/x86_64/dl-machine.h (RTLD_START): Likewise.
2005-01-22 07:55:35 +00:00
Ulrich Drepper
9fbdeb410d Update.
* elf/dl-runtime.c: Inlcude <sys/param.h>.

	* elf/Makefile (headers): Add bits/link.h.

2005-01-09  Andreas Schwab  <schwab@suse.de>

	* elf/rtld.c (dl_main): Create main_map with __RTLD_OPENEXEC.

2005-01-09  Andreas Jaeger  <aj@suse.de>

	* time/strptime_l.c (__strptime_internal): Add braces to avoid
	warning.

	* sysdeps/x86_64/bits/link.h: Use vector_size for GCC 4.0.

	* elf/rtld.c (dl_main): Call _dl_add_to_slotinfo only if USE_TLS.

2005-01-08  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile (generated): Add tst-pie1{,.out,.o}.

2005-01-09  Ulrich Drepper  <drepper@redhat.com>
2005-01-09 20:23:44 +00:00
Ulrich Drepper
217fc747ff * pthread.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, include <stdbool.h>.
	* 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.
2005-01-09 20:13:03 +00:00
Andreas Jaeger
b9c736f075 (tests): Revert patch from 2005-01-03. 2005-01-07 14:00:18 +00:00
Ulrich Drepper
9dcafc5597 * csu/elf-init.c (__libc_csu_fini): Don't do anything here.
* 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.
2005-01-06 22:40:27 +00:00
Andreas Jaeger
a1194e831a Update.
2005-01-03  Andreas Jaeger  <aj@suse.de>

	* csu/Makefile (generated): Add start.os and start.ob.

	* elf/Makefile (tests): Change rule for tst-pie1 so that make
	clean works.
2005-01-03 17:57:42 +00:00
Ulrich Drepper
a334319f65 (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4. 2004-12-22 20:10:10 +00:00
Jakub Jelinek
0ecb606cb6 2.5-18.1 2007-07-12 18:26:36 +00:00
Ulrich Drepper
b1f6875087 Update.
2004-10-27  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-fini.c (_dl_fini): Fix search for map in maps array.
	Reverse order of namespaces.
	* elf/Makefile: Add rules to build and run tst-dlmopen3.
	* elf/tst-dlmopen3.c: New file.
	* elf/tst-dlmopen1mod.c: Add check whether constructor runs.
2004-10-27 20:27:40 +00:00
Ulrich Drepper
c0f62c5678 [BZ #77]
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-10-14 02:08:23 +00:00
Ulrich Drepper
1fc074913b Update.
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-23 07:45:38 +00:00
Ulrich Drepper
28977c2c1a Update.
* sysdeps/posix/getaddrinfo.c (gaih_addrtuple): Change type of
	addr to avoid casts.
	(gethosts): Removed.
	(gethosts2): Renamed to gethosts.  Make it usable for family !=
	AF_UNSPEC.  Fix AI_V4MAPPED.
	(gaih_inet): Remove use of old gethosts.  Always use what used to be
	gethosts2.  If entry is found, try to use the same NSS module's
	getcanonname_r function.  Use gethostbyaddr for AI_CANONNAME only
	if getcanonname_r was not available.  Fix filtering of AI_V4MAPPED
	addresses.  Numerous cleanups.
	* resolv/nss_dns/dns-canon.c: New file.
	* resolv/Makefile (libnss_dns-routines): Add dns-canon.
	* resolv/Versions (libnss_dns): Add _nss_dns_getcanonname_r.

	* elf/Makefile: Add rules to build and run tst-dlopenrpath.
	* elf/tst-dlopenrpath.c: New file.
	* elf/tst-dlopenrpathmod.c: New file.

	* intl/tst-gettext.sh: Adjust for change of de.po file to UTF-8.
2004-08-15 20:23:40 +00:00
Ulrich Drepper
f17ed1a9ee [BZ #262]
Update.
2004-07-15  Jakub Jelinek  <jakub@redhat.com>

	[BZ #262]
	* sysdeps/i386/elf/start.S (_start): Use @GOT instead of @GOTOFF
	for main.
	* elf/Makefile: Add rules to build and run tst-pie1.
	* elf/tst-pie1.c: New test.
	* elf/tst-piemod1.c: New file.
2004-07-16 17:56:45 +00:00
Roland McGrath
44094580c6 2004-05-29 Roland McGrath <roland@redhat.com>
* elf/Makefile (shared-only-routines): Add dl-caller.
2004-05-29 22:29:35 +00:00
Ulrich Drepper
eec8b6cae5 Update.
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-27 03:40:33 +00:00
Ulrich Drepper
b30542fb71 Update.
2004-03-08  Ulrich Drepper  <drepper@redhat.com>

	* Makerules: Use extra-modules.mk if modules-names is defined.
	* extra-modules.mk: New file.
	* dlfcn/Makefile (CPPFLAGS-modcxaatexit.c): Removed.
	* elf/Makefile (CFLAGS-interp.c): Add -DNOT_IN_libc=1.
	* csu/Makefile ($(objpfx)version-info.h): Pass -DNOT_IN_libc=1 to
	compiler.
	* Makefile (distribute): Add symbol-hacks.h.
	* sysdeps/generic/symbol-hacks.h: New file.
	* sysdeps/wordsize-32/symbol-hacks.h: New file.
	* sysdeps/wordsize-32/divdi3.c: Define *_internal aliases for __divdi3,
	__moddi3, __udivdi3, and __umoddi3.
	* include/libc-symbols.h: Include <symbol-hacks.h>.
2004-03-08 21:31:23 +00:00
Ulrich Drepper
4df8c11d26 Update.
* configure.in: Recognize --enable-bind-now.
	* elf/dynamic-link.h (elf_get_dynamic_info): Allow bind-now flags
	in ld.so.
	* Makerules (LDFLAGS-c.so): Add -z now if so configured.
	* elf/Makefile ($(objpfx)ld.so): Likewise.
	* config.make.in (bind-now): New definition.
2004-03-06 09:51:56 +00:00
Ulrich Drepper
bed12f78fa Update.
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-24 20:12:10 +00:00
Roland McGrath
27d640befb * sysdeps/unix/sysv/linux/hppa/sysdep.h: Fix merge error.
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-10-22 07:10:00 +00:00
Roland McGrath
c70ba48888 * elf/rtld.c (dl_main): In rtld_is_main case, reinitialize
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-24 01:56:08 +00:00
Roland McGrath
2abf9ff113 * sysdeps/i386/dl-machine.h (RTLD_START): Set __libc_stack_end before
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-23 12:07:26 +00:00
Ulrich Drepper
5896ffa882 Update.
* elf/Makefile ($(objpfx)librtld.os): Create link map also for
	final build to ease quality control.
2003-09-20 06:16:45 +00:00
Ulrich Drepper
06f6ca9019 Update.
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-17 18:23:49 +00:00
Ulrich Drepper
e07bb02a4f Update.
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-09-16 05:54:09 +00:00
Ulrich Drepper
b61c8aba80 Update.
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-08-14 00:14:43 +00:00
Roland McGrath
e4a6507c4c revert bogus commit 2003-07-30 07:06:00 +00:00
Roland McGrath
98c24a32e6 * elf/dl-support.c: Likewise. 2003-07-29 21:28:19 +00:00
Roland McGrath
6e0bb37514 * elf/Makefile: Revert accidental changes in last commit. 2003-07-29 21:14:31 +00:00
Roland McGrath
5181d776e8 * elf/Makefile (tests) [$(build-shared) = yes]:
Depend on $(test-modules).
	* dlfcn/Makefile: Likewise.
2003-07-29 08:36:30 +00:00
Ulrich Drepper
99fe3b0e7a Update.
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-24 20:07:00 +00:00
Ulrich Drepper
11bf8ce1d6 Update.
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-22 22:28:07 +00:00
Ulrich Drepper
1a379ea0c7 Update.
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-07-21 22:40:24 +00:00
Ulrich Drepper
bb958f59aa Update.
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-02 22:44:59 +00:00
Ulrich Drepper
80b5421740 Update.
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-06-01 08:52:38 +00:00
Ulrich Drepper
541765b6b4 Update.
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-27 06:20:14 +00:00
Ulrich Drepper
94c24227fc Update.
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-04-17 19:19:29 +00:00
Roland McGrath
fd54683c97 * Makerules (check-abi) [$(enable-check-abi) = warn]:
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-27 09:48:09 +00:00
Roland McGrath
6461e57784 * elf/Makefile ($(objpfx)librtld.mk): Tweak regexp so that one-line
entries in the map file match too.
2003-03-13 21:51:07 +00:00
Ulrich Drepper
ec503662b4 Update.
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-21 07:07:52 +00:00
Ulrich Drepper
e5ffa64a70 Update.
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-02-11 06:31:57 +00:00
Ulrich Drepper
62f29da7cb Update.
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-27 21:03:22 +00:00
Roland McGrath
9ae1033217 * Makerules (check-abi-%): Use two rules for $(common-objpfx) and
$(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-15 08:08:20 +00:00
Ulrich Drepper
aff4519d38 Update.
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 Gnther  <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>
2003-01-12 10:11:16 +00:00
Ulrich Drepper
556224abb0 (_dl_close): Handle relocation dependencies among the to-be-deleted objects right away instead of later separately. The latter fails because the scope data structures of the DSO might already have gone. 2002-12-30 21:15:31 +00:00
Ulrich Drepper
cfaf5e56c8 Update.
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-30 20:25:40 +00:00
Ulrich Drepper
b4c98dc445 Update.
* elf/Makefile: Also check all iconv modules for text relocations.
2002-12-13 01:05:48 +00:00
Ulrich Drepper
efd56f5391 Update.
* elf/Makefile (tests): Add rules to build and run check-textrel.
	* elf/check-textrel.c: New file.
2002-12-12 21:51:52 +00:00
Roland McGrath
06b31ad3ef * elf/Makefile (tests): Uncomment tst-array[123].
* 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-12-09 20:37:37 +00:00
Roland McGrath
27b85a94fb 2002-11-23 Roland McGrath <roland@redhat.com>
* elf/Makefile ($(objpfx)librtld.mk): Tighten up regexp.
	Reported by Luca Barbieri <ldb@ldb.ods.org>.
2002-11-23 21:34:16 +00:00
Ulrich Drepper
5982aa1049 Update.
* elf/Makefile (tests): Don't run test-arrayX tests for now.
2002-11-22 00:41:16 +00:00
Roland McGrath
dfe4c900cb * sysdeps/ia64/elf/initfini.c [HAVE_INITFINI_ARRAY]
(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-11-07 22:28:16 +00:00
Roland McGrath
240e87c230 * posix/regcomp.c (re_comp): Call __regfree on re_comp_buf.
(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-24 00:22:27 +00:00
Roland McGrath
6ef518c323 2002-10-21 Roland McGrath <roland@redhat.com>
* 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-22 06:22:38 +00:00
Roland McGrath
ce460d04a5 * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional
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-11 10:52:20 +00:00
Ulrich Drepper
4c53d2217e Update.
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-10-02 07:30:48 +00:00
Roland McGrath
724d8c3f0e * elf/Makefile (test-extras): Define this instead of test-srcs.
* Makerules (all-nonlib): Include $(test-extras) too.
2002-09-23 17:43:42 +00:00
Roland McGrath
6c0b461a58 * elf/tst-tls1-static.c: New file.
* elf/tst-tls2-static.c: New file.
	* elf/Makefile ($(tests-static):%=$(objfpx)%.o): Remove rule.
2002-08-28 10:42:59 +00:00
Roland McGrath
db26531364 2002-08-28 Roland McGrath <roland@redhat.com>
* 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-28 10:23:59 +00:00
Roland McGrath
070cadeb5f * locale/loadarchive.c (_nl_load_locale_from_archive): Handle
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-20 19:40:17 +00:00
Roland McGrath
b1b76ea559 2002-08-04 Roland McGrath <roland@frob.com>
* 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-05 04:58:03 +00:00
Roland McGrath
dc18d4d8e4 * locale/nl_langinfo.c: Use _NL_CURRENT_DATA.
* elf/Makefile (CFLAGS-vismod2.c): New variable.
2002-08-04 02:32:32 +00:00
Roland McGrath
656f8223ec * elf/Makefile ($(objpfx)interp.os): Depend on config.make,
since it sets the variables we use in a -D switch.
2002-08-02 21:50:12 +00:00
Ulrich Drepper
6d78cd000f Update.
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-06-30 07:17:02 +00:00
Ulrich Drepper
4e960bbf4e Update.
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-05-16 05:58:20 +00:00
Ulrich Drepper
a41d8a74ee Update.
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-15 17:10:22 +00:00
Ulrich Drepper
403e0597cd Update.
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-04-08 18:50:41 +00:00
Ulrich Drepper
9360906d42 Update.
* 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.
2002-03-15 05:20:35 +00:00
Ulrich Drepper
e6caf4e12e Update.
2002-03-01  Ulrich Drepper  <drepper@redhat.com>

	* elf/Makefile (dl-routines): Add dl-origin.
	(elide-routines.os): Add dl-origin.
	* elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_origin.
	* elf/dl-debug.c (_dl_debug_initialize): Add missing INTUSE around
	_dl_debug_state.
	* include/libc-symbols.c: Define attribute_hidden depending on
	HAVE_VISIBILITY_ATTRIBUTE.  Add definition of INTVARDEF.

	* elf/dl-deps.c: Use INTUSE with __libc_enable_secure.
	* elf/dl-load.c: Likewise.
	* elf/rtld.c: Likewise.
	* include/unistd.h: Declare __libc_enable_secure_internal.
	* sysdeps/generic/dl-sysdep.c: Use INTVARDEF with __libc_enable_secure.
	Use INTUSE with __libc_enable_secure.
	* sysdeps/mach/hurd/dl-sysdep.c: Likewise.

	* elf/dl-deps.c: Use INTUSE with _dl_out_of_memory.
	* elf/dl-error.c: Likewise,
	* sysdeps/generic/ldsodefs.h: Declare _dl_out_of_memory_internal.

	* elf/dl-dst.h [_RTLD_GLOBAL]: Define _dl_get_origin to use INTUSE.
	* sysdeps/generic/dl-origin.c: Undefine _dl_get_origin macro before
	function definition.  Use INTDEF with _dl_get_origin.
	* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.

	* elf/dl-init.c: Use INTUSE with _dl_starting_up.
	* elf/rtld.c: Likewise.  Use INTVARDEF for _dl_starting_up.

	* elf/dl-profile.c: Use INTDEF for _dl_mcount.
	* elf/dl-runtime.c: Use INTUSE with _dl_mcount.
	* sysdeps/generic/ldsodefs.h: Declare _dl_mcount_internal.

	* elf/dl-conflict.c: Use rtld_progrname instead of _dl_argv[0].
	* elf/dl-deps.c: 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-reloc.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/cris/dl-machine.h: Likewise.
	* sysdeps/hppa/dl-machine.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/powerpc/dl-machine.h: Likewise.
	* sysdeps/s390/s390-32/dl-machine.h: Likewise.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc-32/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc-64/dl-machine.h: Likewise.
	* sysdeps/x86_64/dl-machine.h: Likewise.
	* elf/rtld.c: Use INTDEF for _dl_argv.  Use rtld_progrname instead of
	_dl_argv[0].  Use INTUSE with _dl_argv.
	* sysdeps/generic/dl-sysdep.c: Use INTUSE with _dl_argv.
	* sysdeps/generic/ldsodefs.h: Define rtld_progname macro.
2002-03-01 09:44:29 +00:00
Ulrich Drepper
0d01dace55 Update.
2002-02-28  Jakub Jelinek  <jakub@redhat.com>

	* elf/rtld.c (_rtld_global): Remove .protected.
	(_rtld_local): Strong alias to _rtld_global.
	* elf/Makefile (CFLAGS-.os): Add -D_RTLD_LOCAL if compiling rtld
	only .os object.
	* sysdeps/generic/ldsodefs.h (GL): If SHARED and _RTLD_LOCAL, use
	_rtld_local instead of _rtld_global.
	(_rtld_local): Add hidden extern, possibly in .sdata section.
	* configure.in: Add tests for visibility attribute and .sdata.
	* config.h.in: Add HAVE_VISIBILITY_ATTRIBUTE and HAVE_SDATA_SECTION.
	* sysdeps/alpha/dl-machine.h: Use _rtld_local instead of _rtld_global.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/hppa/dl-machine.h: Likewise.
	* sysdeps/cris/dl-machine.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/ia64/dl-machine.h: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/mips/mips64/dl-machine.h: Likewise.
	* sysdeps/mips/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
	* sysdeps/s390/s390-32/dl-machine.h: Likewise.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
	* sysdeps/x86_64/dl-machine.h: Likewise.
2002-02-28 22:38:00 +00:00
Ulrich Drepper
ebda6173fc Update.
* elf/Makefile: Add rules to build and run tst-tls8.
	* elf/tst-tls8.c: New file.
	* elf/tst-tlsmod4.c: New file.
2002-02-14 10:34:55 +00:00
Ulrich Drepper
fc093be160 Update.
* elf/dl-close.c (remove_slotinfo): New function.  Handles everything
	for removing reference of module in slotinfo list.
	(_dl_close): Use remove_slotinfo.
	* sysdeps/generic/dl-tls.c: General pretty printing.
	(oom): Define only if SHARED.
	(_dl_next_tls_modid): Correct starting point for the case we assume
	there is a gap.  Add missing instruction grouping (doh!).  Correct
	tests for reaching maximum index.
	* elf/Makefile: Add rules to build and run tst-tls7.
	* elf/tst-tls7.c: New file.
	* elf/tst-tlsmod3.c: New file.

	* elf/tst-tlsmod1.c: Move #include "tls-macros.h" instead #ifdef
	USE_TLS.
	* elf/tst-tlsmod2.c: Likewise.
2002-02-14 07:57:19 +00:00
Ulrich Drepper
bb4cb25213 Update.
* elf/dl-close.c (_dl_close): When closing an object using TLS
	either decrement dl_tls_max_dtv_idx or set dl_tls_dtv_gaps to
	true.  Increment dl_tls_generation only if we closed any TLS-using
	object.
	* elf/tst-tls6.c: New file.
	* elf/Makefile: Add rules to build and run tst-tls6.
2002-02-14 03:54:02 +00:00
Ulrich Drepper
aed283dd45 Update.
2002-02-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/dl-tls.c (TLS_DTV_UNALLOCATED): Renamed from
	TLS_DTV_UNALLOCATE.
	(oom): New function.
	(_dl_next_tls_modid): Rewrite to handle dl_tls_dtv_slotinfo_list.
	(_dl_determine_tlsoffset): Likewise.
	(_dl_allocate_tls): Likewise.
	(__TLS_GET_ADDR): Define if not already defined.
	(_dl_tls_symaddr): New function.
	(allocate_and_init): New function.
	(__tls_get_addr): Actually implement handling of generation counter
	and deferred allocation.
	* sysdeps/generic/ldsodefs.h (_rtld_global): Remove _dl_initimage_list,
	add _dl_tls_dtv_slotinfo_list, _dl_tls_static_nelem, and
	_dl_tls_generation.
	Define TLS_SLOTINFO_SURPLUS and DTV_SURPLUS.
	Declare _dl_tls_symaddr.
	* sysdeps/i386/dl-tls.h: Disable __tls_get_addr handling unless
	SHARED.
	* include/link.h (struct link_map):  Remove l_tls_nextimage and
	l_tls_previmage.
	* elf/dl-sym.c (_dl_sym): After successful lookup call _dl_tls_symaddr
	instead of DL_SYMBOL_ADDRESS for STT_TLS symbols.
	(_dl_vsym): Likewise.
	* elf/rtld.c (_dl_start_final): Adjust initdtv initialization for new
	layout.
	(dl_main): Allow PT_TLS be present for empty segment.  Remove
	nextimage list handling.  Instead add all modules using TLS to
	dl_tls_dtv_slotinfo_list.
	* elf/dl-open.c (dl_open_worker): After successfully loading all
	objects add those with TLS to the dl_tls_dtv_slotinfo_list list.
	* elf/dl-load.c (_dl_map_object_from_fd): If PT_TLS entry is for an
	empty segment don't do anything.  Remove handling of initimage list.
	* elf/Versions [ld] (GLIBC_2.0): Add __libc_memalign.
	(GLIBC_PRIVATE): Add _dl_tls_symaddr.
	* elf/dl-minimal.c: Define __libc_memalign.
	* elf/dl-support.c: Remove _dl_initimage_list.  Add
	_dl_tls_dtv_slotinfo_list, _dl_tls_static_nelem, and
	_dl_tls_generation.
	* include/stdlib.h: Declare __libc_memalign.

	* elf/Makefile: Add rules to build and run tst-tls4 and tst-tls5.
	* elf/tst-tls4.c: New file.
	* elf/tst-tls5.c: New file.
	* elf/tst-tlsmod2.c: New file.

	* elf/tls-macros.h: asms using ___tls_get_addr destroy %ecx and %edx.

	* elf/tst-tlsmod1.c: Don't define variables unles USE_TLS.

	* elf/tst-tls1.c: Use test-skeleton.c.
	* elf/tst-tls2.c: Likewise.
	* elf/tst-tls3.c: Likewise.

	* elf/dl-conflict.c (RESOLVE_MAP): Return NULL not 0.

	* sysdeps/mips/machine-gmon.h: Update MCOUNT for current GCC behavior.
2002-02-13 08:03:56 +00:00
Ulrich Drepper
2e36cb48e5 Update.
* elf/tst-tls3.c: New file.
	* elf/tst-tlsmod1.c: New file.
	* elf/Makefile: Add rules to build and run tst-tls3.

	* sysdeps/i386/dl-machine.h: Include <tls.h>.
	(elf_machine_type_class): Set ELF_RTYPE_CLASS_PLT also for the three
	TLS relocations.
2002-02-11 06:00:19 +00:00
Ulrich Drepper
87837aace9 Update.
* elf/dl-deps.c (struct openaux_args): Add open_mode element.
	(openaux): Pass open_mode as new last argument to _dl_map_object.
	(_dl_map_object_deps): Add new argument open_mode.  Initialize
	open_mode element of args variable with it.
	* elf/dl-open.c (dl_open_worker): Pass __RTLD_DLOPEN flag is set to
	_dl_map_object_deps.
	* elf/rtld.c (dl_main): Add zero as last parameter to
	_dl_map_object_deps call.
	* sysdeps/generic/ldsodefs.h: Adjust prototype of _dl_map_object_deps.
	* elf/nodlopen2.c: New file.
	* elf/nodlopenmod2.c: New file.
	* elf/Makefile: Add rules to build and run nodlopen2.

	* elf/tls-macros.hgg: ...here.  New file.
2002-02-08  Richard Henderson  <rth@redhat.com>
2002-02-10 22:40:17 +00:00
Ulrich Drepper
2cef4257d0 Update.
* elf/tst-tls1.c: Move TLS helper macros to...
	* elf/tls-macros.h: ...here.  New file.
	* elf/tst-tls2.c: New file.
	* elf/Makefile (tests): Add tst-tls2.
	(distribute): Add tls-macros.h.
2002-02-10 18:58:00 +00:00
Ulrich Drepper
b123d06e21 Update.
* elf/Makefile (tests): Add tst-tls1.
	* elf/tst-tls1.c: New file.

	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Don't handle
	alignment of TCB for now.

	* elf/rtld.c (dl_main): Use p_vaddr as address of TLS
	initialization image for the application itself.

	loop to initialize TLS block.
2002-02-10 07:44:36 +00:00
Ulrich Drepper
a1a118c000 (dl-routines): Add dl-tls. (distribute): Add dl-tls.h. 2002-02-07 03:49:37 +00:00
Ulrich Drepper
535b764df5 Update.
* elf/rtld.c (_dl_start_final): Allocate TLS and initialize
	thread-pointer as soon as possible.
	* sysdeps/generic/ldsodefs.h: Include <tls.h>.  Define first TLS
	elements in rtld_global.
	* sysdeps/generic/tls.h: New file.
	* elf/Makefile (distribute): Add tls.h.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Add support for TLS
	relocations.  Not complete yet.

	* resolv/resolv.h: Allow user to define __need_res_state and only
	define __res_start structure then.
	* include/resolv.h: Only declare functions if _RESOLV_H_ is defined.
2002-02-05 00:57:29 +00:00
Ulrich Drepper
fb23eb252f Update.
2002-02-01  Jakub Jelinek  <jakub@redhat.com>

	* Versions.def (libc): Add GLIBC_PRIVATE.
	(libdb, libnss_db, libdb1): Remove.
	(libnss_compat, libnss_dns, libnss_files, libnss_hesiod, libnss_nis,
	libnss_nisplus): Move all symbols to GLIBC_PRIVATE.
	(libpthread): Add GLIBC_PRIVATE.
	(libresolv): Likewise, remove GLIBC_2.1.
	(ld): Add GLIBC_PRIVATE, remove GLIBC_2.1.1, GLIBC_2.2, GLIBC_2.2.1,
	GLIBC_2.2.3, GLIBC_2.3.
	* catgets/Versions (__open_catalog): Move to GLIBC_PRIVATE.
	* elf/Versions (_dl_open, _dl_close, _dl_addr, _dl_init_first,
	_dl_sym, _dl_vsym): Likewise.
	(__libc_enable_secure, __libc_stack_end, _dl_argv, _dl_catch_error,
	_dl_check_all_versions, _dl_check_map_versions, _dl_debug_initialize,
	_dl_debug_printf, _dl_debug_state, _dl_dst_count, _dl_dst_substitute,
	_dl_init, _dl_lookup_symbol, _dl_lookup_symbol_skip,
	_dl_lookup_versioned_symbol, _dl_lookup_versioned_symbol_skip,
	_dl_map_object, _dl_map_object_deps, _dl_out_of_memory,
	_dl_relocate_object, _dl_signal_error, _dl_start_profile,
	_dl_starting_up, _dl_sysdep_start, _dl_unload_cache, _rtld_global):
	Likewise.
	(_dl_object_relocation_scope): Remove.
	* hesiod/Versions: Move all symbols to GLIBC_PRIVATE.
	* iconv/Versions (__gconv_alias_db, __gconv_modules_db,
	__gconv_cache): Move to GLIBC_PRIVATE.
	* inet/Versions (__internal_endnetgrent, __internal_getnetgrent_r,
	__internal_setnetgrent): Likewise.
	* io/Versions (__libc_open, __libc_close, __libc_read, __libc_write,
	__libc_lseek, __libc_fcntl, __libc_open64, __libc_lseek64): Likewise.
	* locale/Versions (__collate_element_hash, __collate_element_strings,
	__collate_symbol_classes, __collate_symbol_hash,
	__collate_symbol_strings, _nl_current_LC_COLLATE,
	_nl_current_LC_CTYPE): Likewise.
	* misc/Versions (__libc_fsync, __libc_msync): Likewise.
	* nis/Versions (libnss_compat): Move all symbols to GLIBC_PRIVATE.
	(libnss_nis, libnss_nisplus): Likewise.
	* nss/Versions (_nss_files_parse_grent, _nss_files_parse_pwent,
	_nss_files_parse_spent): Move to GLIBC_PRIVATE.
	(libnss_files): Move all symbols to GLIBC_PRIVATE.
	* posix/Versions (__libc_wait, __libc_waitpid, __libc_pause,
	__libc_nanosleep, __libc_fork, __libc_pread, __libc_pread64,
	__libc_pwrite, __libc_pwrite64): Move to GLIBC_PRIVATE.
	* resolv/Versions (__gai_sigqueue, __ns_name_unpack, __ns_name_ntop,
	__ns_get16, __ns_samename): Likewise.
	(libnss_dns): Move all symbols to GLIBC_PRIVATE.
	* setjmp/Versions (__libc_longjmp, __libc_siglongjmp): Move to
	GLIBC_PRIVATE.
	* socket/Versions (__libc_accept, __libc_send, __libc_recvfrom,
	__libc_recvmsg, __libc_sendmsg, __libc_recv, __libc_sendto,
	__libc_connect): Likewise.
	* stdio-common/Versions (_itoa_lower_digits, _itoa_upper_digits):
	Likewise.
	* stdlib/Versions (__libc_system): Likewise.
	* sunrpc/Versions (__rpc_thread_destroy): Likewise.
	* sysdeps/hppa/Versions: Move all symbols to GLIBC_PRIVATE.
	* sysdeps/ia64/fpu/Versions: Likewise.
	* sysdeps/ia64/Versions: Likewise.
	* sysdeps/unix/sysv/linux/ia64/Versions: Likewise.
	* sysdeps/unix/sysv/linux/i386/Versions (__modify_ldt): Move
	to GLIBC_PRIVATE.
	* sysdeps/unix/sysv/linux/x86_64/Versions (__modify_ldt): Likewise.
	* sysdeps/unix/sysv/linux/Versions (__syscall_rt_sigqueueinfo,
	__libc_sigaction): Likewise.
	* termios/Versions (__libc_tcdrain): Likewise.

	* misc/sys/cdefs (__attribute_noinline__): Define.
	* elf/dl-lookup.c (_dl_do_lookup, _dl_do_lookup_versioned): Add
	__attribute_noinline__.

	* elf/Makefile (rtld-routines): Add dl-xstat64, dl-fxstat64.
	* elf/dl-xstat64.c: New file.
	* elf/dl-fxstat64.c: New file.
	* sysdeps/unix/sysv/linux/fxstat64.c: If RTLD_STAT64 is defined,
	don't export __fxstat64 at multiple versions.
	* sysdeps/unix/sysv/linux/lxstat64.c: Similarly.
	* sysdeps/unix/sysv/linux/xstat64.c: Similarly.
2002-02-01 23:24:05 +00:00
Ulrich Drepper
635f35fcf4 Update.
2002-02-01  Ulrich Drepper  <drepper@redhat.com>

	* elf/Makefile (distribute): Add dl-procinfo.c.
	* sysdeps/unix/sysv/linux/i386/Dist: Remove dl-procinfo.c.
	* sysdeps/unix/sysv/linux/arm/Dist: Likewise.
2002-02-01 19:13:09 +00:00
Ulrich Drepper
ab92bebd3e Update.
2002-01-08  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (distribute): Add scripts/cpp.
	* elf/Makefile (distribute): Add reldep6mod[01234].c,
	unwind-dw2.c, unwind-dw2-fde.c, unwind.h, unwind-pe.h,
	unwind-dw2-fde.h, and dwarf2.h.
	* sysdeps/unix/bsd/bsd4.4/Dist: New file.
	* sysdeps/unix/sysv/aix/Dist: Add sysv_termio.h and start-libc.c.
	* sysdeps/unix/sysv/linux/ia64/Dist: Add ldd-rewrite.sed.
	* sysdeps/unix/sysv/linux/s390/Dist: Likewise.
2002-01-08 22:00:09 +00:00
Ulrich Drepper
a0dcb6896c Update.
2002-01-03  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile (routines, shared-only-routines): Add
	unwind-dw2-fde-glibc instead of unwind-dw2-fde.
	* elf/elf.h (PT_GNU_EH_FRAME): Define.
	* sysdeps/generic/unwind-dw2-fde-glibc.c: New file.
	* sysdeps/generic/unwind-dw2-fde.c (__register_frame_info_bases):
	Optimize if .eh_frame section contains no FDEs.
	(__register_frame, __deregister_frame_info_bases,
	__deregister_frame): Likewise.
	* sysdeps/generic/unwind-dw2.c (execute_cfa_program): Fix
	DW_CFA_restore handling.

2002-01-07  Stephen L Moshier  <moshier@mediaone.net>
2002-01-08 06:28:46 +00:00
Ulrich Drepper
32e6df3621 Update.
2001-12-11  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile (dl-routines): Add conflict.
	(rtld-ldscript-in, rtld-ldscript, rtld-parms): Remove.
	(ld.so): Add _begin local symbol.
	* elf/elf.h (DT_VALTAGIDX, DT_VALNUM, DT_ADDRTAGIDX, DT_ADDRNUM):
	Define.
	* elf/dl-deps.c (_dl_build_local_scope): New.
	(_dl_map_object_deps): If LD_TRACE_PRELINKING, compute local scopes
	of all libraries.
	* elf/do-rel.h (VALIDX): Define.
	(elf_dynamic_do_rel): If ELF_MACHINE_PLT_REL is defined, don't do
	lazy binding for RELA.  If DT_GNU_PRELINKED, DT_RELACOUNT relocations
	can be skipped.
	* elf/dl-conflict.c: New file.
	* elf/dl-lookup.c (_dl_debug_bindings): New.
	(_dl_lookup_symbol): Use _dl_debug_bindings.  Reference_name is always
	non-NULL.
	(_dl_lookup_symbol_skip): Likewise.
	(_dl_lookup_versioned_symbol): Likewise.
	(_dl_lookup_versioned_symbol_skip): Likewise.
	* elf/dl-runtime.c (PLTREL): If ELF_MACHINE_PLT_REL is defined,
	define to ElfW(Rel).
	* elf/dynamic-link.h (elf_get_dynamic_info): Record selected dynamic
	tags in the DT_VALRNGLO..DT_VALRNGHI and DT_ADDRRNGLO..DT_ADDRRNGHI
	ranges.
	Don't adjust address dynamic tags if l_addr is 0.
	* elf/rtld.c (_dl_trace_prelink, _dl_trace_prelink_map): New variables.
	(_dl_start): Skip ELF_DYNAMIC_RELOCATE if ld.so is prelinked.
	(VALIDX, ADDRIDX): Define.
	(_dl_start_final): Initialize _dl_rtld_map's l_map_start and l_map_end.
	(dl_main): Print library list for LD_TRACE_PRELINKING.
	If prelinking information can be used, skip relocating libraries and
	call _dl_resolve_conflicts instead.
	(process_envvars): Handle LD_TRACE_PRELINKING envvar.
	* elf/dl-load.c (_dl_map_object): Don't create fake libs
	if LD_TRACE_PRELINKING.
	* include/link.h (struct link_map) [l_info]: Add DT_VALNUM
	+ DT_ADDRNUM.
	* sysdeps/generic/ldsodefs.h (_dl_trace_prelink_map): New declaration.
	(DL_DEBUG_PRELINK): Define.
	(_dl_resolve_conflicts): Add prototype.

	* sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Reinitialize
	.plt for prelinked libraries where prelinking info cannot be used.
	(elf_machine_rela): If relocating R_ALPHA_JMP_SLOT in .gnu.conflict
	section, use RESOLVE_CONFLICT_FIND_MAP to find out reloc's link_map.
	* sysdeps/arm/bits/link.h: New file.
	* sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Save original
	content of .got[1].
	(ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP.
	(ELF_MACHINE_PLT_REL): Define.
	(elf_machine_rela, elf_machine_rela_relative): New.
	(elf_machine_lazy_rel): Reinitialize R_ARM_JUMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/i386/bits/link.h: New file.
	* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Save original
	content of .got[1].
	(ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP.
	(ELF_MACHINE_PLT_REL): Define.
	(elf_machine_rela, elf_machine_rela_relative): New.
	(elf_machine_lazy_rel): Reinitialize R_386_JUMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/powerpc/dl-machine.h (elf_machine_rela): If relocating
	conflicts, skip finaladdr computation.  Use RESOLVE_CONFLICT_FIND_MAP
	to find out map for R_PPC_JMP_SLOT relocs.
	* sysdeps/sparc/sparc32/dl-machine.h (VALIDX): Define.
	(OPCODE_BA): Define.
	(elf_machine_runtime_setup): Reinitialize .plt for prelinked
	libraries where prelinking info cannot be used.
	(sparc_fixup_plt): Renamed from elf_machine_fixup_plt.
	(elf_machine_fixup_plt): Call sparc_fixup_plt.
	(elf_machine_rela): Set value to 0 if relocating conflicts.
	Call sparc_fixup_plt for R_SPARC_JMP_SLOT.
	* sysdeps/sparc/sparc64/dl-machine.h (VALIDX): Define.
	(sparc64_fixup_plt): Fix a typo.
	(elf_machine_rela): Set value to 0 if relocating conflicts.
	Handle R_SPARC_JMP_SLOT relocs when relocating conflicts.
	(elf_machine_runtime_setup): Reinitialize .plt for prelinked
	libraries where prelinking info cannot be used.
	* sysdeps/sh/bits/link.h: New file.
	* sysdeps/sh/dl-machine.h (elf_machine_runtime_setup): Save original
	content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_SH_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/s390/s390-32/bits/link.h: New file.
	* sysdeps/s390/s390-32/dl-machine.h (elf_machine_runtime_setup):
	Save original content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/s390/s390-64/bits/link.h: New file.
	* sysdeps/s390/s390-64/dl-machine.h (elf_machine_runtime_setup):
	Save original content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/x86_64/bits/link.h: New file.
	* sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup):
	Save original content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_X86_64_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
2001-12-12 00:21:26 +00:00
Ulrich Drepper
74bd2300b5 Update.
2001-10-02  Jakub Jelinek  <jakub@redhat.com>
	    H.J. Lu  <hjl@gnu.org>

	* configure.in (libc_cv_gcc_static_libgcc): Set to -static-libgcc
	if gcc supports this flag.
	(EXPORT_UNWIND_FIND_FDE): Define unless target configure disables it.
	(gcc3): Allow glibc to be compiled with gcc 3.x.
	* config.h.in (EXPORT_UNWIND_FIND_FDE): Add.
	* config.make.in (static-libgcc, unwind-find-fde): Add.
	* Makerules (build-shlib-helper, build-module-helper): Use it.
	* scripts/versions.awk: Make sure GLIBC_ versions come first.
	* elf/soinit.c (__libc_global_ctors): Set tbases and dbases if
	necessary.
	(_fini): Call __deregister_frame_info_bases if
	__register_frame_info_bases was used to register.
	* elf/Versions (__register_frame_info, __deregister_frame_info): Add
	for GLIBC_2.0.
	(__register_frame_info_bases, __register_frame_info_table_bases,
	__deregister_frame_info_bases, _Unwind_Find_FDE): Add for GLIBC_2.2.5.
	* elf/Makefile (routines): Add unwind-dw2-fde.
	(shared-only-routines): Add unwind-dw2-fde.
	* sysdeps/alpha/gccframe.h: New file.
	* sysdeps/arm/gccframe.h: New file.
	* sysdeps/generic/framestate.c: New file.
	* sysdeps/generic/dwarf2.h: New file.
	* sysdeps/generic/gccframe.h (struct object): Update from gcc 3.0.
	* sysdeps/generic/unwind-dw2-fde.c: New file.
	* sysdeps/unix/sysv/linux/ia64/unwind-dw2-fde.c: New file.
	* sysdeps/generic/unwind-dw2-fde.h: New file.
	* sysdeps/generic/unwind-dw2.c: New file.
	* sysdeps/generic/unwind-pe.h: New file.
	* sysdeps/generic/unwind.h: New file.
	* sysdeps/hppa/gccframe.h: New file.
	* sysdeps/i386/gccframe.h: New file.
	* sysdeps/m68k/gccframe.h: New file.
	* sysdeps/mips/gccframe.h: New file.
	* sysdeps/powerpc/gccframe.h: New file.
	* sysdeps/s390/gccframe.h: New file.
	* sysdeps/sh/gccframe.h: New file.
	* sysdeps/sparc/gccframe.h: New file.
	* sysdeps/vax/gccframe.h: New file.
	* sysdeps/unix/sysv/linux/configure.in (libc_cv_gcc_unwind_find_fde):
	Set on all architectures except ia64.
	* sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde): Set
	for i386.
	* sysdeps/mach/hurd/i386/Versions (__register_frame_info,
	__deregister_frame_info): Move to elf/Versions.
	* sysdeps/unix/sysv/linux/m68k/Versions: Likewise.
	* sysdeps/unix/sysv/linux/arm/Versions: Likewise.
	* sysdeps/unix/sysv/linux/alpha/Versions: Likewise.
	* sysdeps/unix/sysv/linux/i386/Versions: Likewise.
	* sysdeps/unix/sysv/linux/mips/Versions: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/Versions: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise.
	* sysdeps/mach/hurd/i386/Makefile (sysdep-routines): Add framestate.
	* sysdeps/unix/sysv/linux/arm/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/alpha/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/mips/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/sparc/Makefile: Likewise.

	* sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: New file.
	* sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed: New file.
	* sysdeps/generic/strnlen.c: New file.
2001-11-16 01:27:24 +00:00
Ulrich Drepper
c47e78b10f Update.
2001-09-29  Jes Sorensen  <jes@trained-monkey.org>

	* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext):
	Add sc_loadrs and sc_rbs_bas to match current kernel.

2001-09-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update.

	* sysdeps/ieee754/ldbl-128/s_erfl.c (__erfcl): Fix erfc(-inf).

2001-09-27  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-open.c (dl_open_worker): If l_opencount of freshly loaded
	object has been bumped because of relocation dependency, avoid
	duplicates in l_scope.
	(show_scope): Fix typos.
	* elf/Makefile: Add rules to build and run reldep6.
	* elf/reldep6.c: New file.
	* elf/reldep6mod0.c: New file.
	* elf/reldep6mod1.c: New file.
	* elf/reldep6mod2.c: New file.
	* elf/reldep6mod3.c: New file.
	* elf/reldep6mod4.c: New file.

2001-09-26  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_fixup_plt): Call
	sparc64_fixup_plt.
	(sparc64_fixup_plt): Moved from elf_machine_fixup_plt. Optimize
	near jumps and 0xfffff800XXXXXXXX target addresses, no thread safety
	for non-lazy binding. Fix .plt[32768+] handling.
	(elf_machine_plt_value): Don't add addend.
	(elf_machine_rela): Call sparc64_fixup_plt instead of
	elf_machine_fixup_plt.
	(elf_machine_runtime_setup, TRAMPOLINE_TEMPLATE): Optimize for
	dynamic linker at 0xfffff800XXXXXXXX.

	* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update.
2001-10-01 00:14:14 +00:00
Ulrich Drepper
c4bb124a75 Update.
2001-09-08  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c (_dl_close): If object has no r_list (i.e., wasn't
	loaded directly) determine length if l_initfini list by iterating
	over its elements.  Minor optimizations.
	* elf/dl-deps.c (_dl_map_object_deps): Always add own map to l_initfini
	for dependency objects.
	If object was already loaded check whether any of the dependencies
	is already on the relocation dependency list.  If yes, remove the
	latter.  Minor optimizations.
	* elf/dl-lookup.c (add_dependency): Add check for self reference of
	maps here.  Search l_initfini list only if the object was loaded
	directly and not only as a dependency.
	(_dl_lookup_symbol): Add relocation dependency also if object
	is not in global scope.  Remove test for self-reference here.
	(_dl_lookup_versioned_symbol): Likewise.
	* elf/dl-object (_dl_new_object): Cleanup.  Initialize dont_free
	element of first name record.
	* elf/loadtest.c: Add some more test to recognize early if an object
	wasn't unloaded.
	* elf/Makefile: Add rules to build and run reldep5.
	* elf/reldep5.c: New file.
	* elf/reldepmod5.c: New file.
	* elf/reldepmod6.c: New file.

	* elf/reldep2.c: Fix typo.

	* elf/dl-object.c (_dl_new_object): Initialize l_scope and l_scope_max.
2001-09-08 16:27:08 +00:00