Commit Graph

1498 Commits

Author SHA1 Message Date
Roland McGrath 0317eaecb1 * posix/tst-execle1.c (do_test): Add a const.
* posix/tst-execle2.c (do_test): Likewise.

	* posix/transbug.c (run_test): Add some casts.
	* posix/bug-regex22.c (main): Likewise.
	* posix/bug-regex5.c (main): Likewise.
	* wcsmbs/tst-mbsrtowcs.c (main): Likewise.
	* string/test-strspn.c (do_test, do_random_tests): Likewise.
	* string/test-strrchr.c (do_test, do_random_tests): Likewise.
	* string/test-strlen.c (do_random_tests): Likewise.
	* string/test-strpbrk.c (do_test, do_random_tests): Likewise.
	* string/test-strcmp.c (do_random_tests): Likewise.
	* string/test-strchr.c (do_test, do_random_tests): Likewise.
	* string/test-strcat.c (do_test, do_random_tests): Likewise.
	* string/test-strncpy.c (do_random_tests): Likewise.
	* string/test-strcpy.c (do_test, do_random_tests): Likewise.
	* string/test-memccpy.c (do_test): Likewise.
	* string/test-memmove.c (do_test, do_random_tests): Likewise.
	* string/test-memcpy.c (do_test, do_random_tests): Likewise.
	* string/test-memcmp.c (do_test, do_random_tests): Likewise.
	* string/test-memchr.c (do_test, do_random_tests): Likewise.
	* dlfcn/bug-atexit1.c (do_test): Fix up prototype in cast.
	* stdio-common/tst-fgets.c (do_test): Add a cast.
	* iconvdata/bug-iconv4.c (xiconv): Add a cast.

	* locale/programs/simple-hash.c (insert_entry_2): Remove useless casts.

	* resolv/herror.c (herror): Remove unused extern decl.

	* libio/obprintf.c: Include "strfile.h".

	* elf/order2mod2.c (init): Cast ignored value to void.

	* stdio-common/tstdiomisc.c: If FLT_EVAL_METHOD is 2, use long
2005-12-27 22:50:12 +00:00
Ulrich Drepper 285a709ace * elf/tst-tls13.c (do_test): Avoid using the library path when
looking for tst-tlsmod13a.so.
2005-12-27 22:29:27 +00:00
Roland McGrath 8f480b4bc2 * elf/cache.c: Use <> rather than "" #includes.
* elf/chroot_canon.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* elf/readlib.c: Likewise.
	* elf/rtld.c: Likewise.
	* gmon/mcount.c: Likewise.
	* hurd/hurdfault.c: Likewise.
	* hurd/hurdsig.c: Likewise.
	* hurd/report-wait.c: Likewise.
	* hurd/sigunwind.c: Likewise.
	* mach/setup-thread.c: Likewise.
	* rt/aio_read64.c: Likewise.
	* rt/aio_sigqueue.c: Likewise.
	* rt/aio_write64.c: Likewise.
	* soft-fp/soft-fp.h: Likewise.
	* stdio-common/tmpfile64.c: Likewise.
	* sysdeps/mach/hurd/fork.c: Likewise.
	* sysdeps/mach/hurd/hppa/trampoline.c: Likewise.
	* sysdeps/mach/hurd/i386/trampoline.c: Likewise.
	* sysdeps/mach/hurd/mips/trampoline.c: Likewise.
	* sysdeps/mach/hurd/powerpc/trampoline.c: Likewise.
	* sysdeps/posix/sprofil.c: Likewise.
	* sysdeps/pthread/aio_cancel.c: Likewise.
	* sysdeps/pthread/aio_fsync.c: Likewise.
	* sysdeps/pthread/aio_read64.c: Likewise.
	* sysdeps/pthread/aio_read.c: Likewise.
	* sysdeps/pthread/aio_suspend.c: Likewise.
	* sysdeps/pthread/aio_write64.c: Likewise.
	* sysdeps/pthread/aio_write.c: Likewise.
	* sysdeps/pthread/lio_listio64.c: Likewise.
	* sysdeps/pthread/lio_listio.c: Likewise.
	* sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise.
	* sysdeps/unix/sysv/tcflow.c: Likewise.
2005-12-21 22:16:34 +00:00
Roland McGrath e8ebf3f2dc * sysdeps/generic/unwind-dw2.c (extract_cie_info): Add a cast.
* elf/dl-error.c (_dl_signal_error): Use .__jmpbuf in __longjmp call.
2005-12-21 21:36:24 +00:00
Ulrich Drepper 2fdaad97be * elf/readlib.c: Fix include of readelflib.c. 2005-12-21 15:31:50 +00:00
Ulrich Drepper 7725f8749a * sysdeps/unix/sysv/linux/x86_64/sysdep.h (PTR_MANGLE): Define C
version for inside ld.so.

	* elf/rtld.c (dl_main): Don't use hp timing code unless it's available.
2005-12-18 21:09:20 +00:00
Ulrich Drepper 827b70873b * elf/Versions [GLIBC_PRIVATE]: Export __pointer_chk_guard if defined.
* elf/rtld.c: Define __pointer_chk_guard_local and if necessary
	__pointer_chk_guard.
	(_rtld_global_ro): Initialize _dl_pointer_guard.
	(dl_main): Initialize __pointer_chk_guard_local and either
	__pointer_chk_guard or TLS value if necessary.
	(process_envvars): Recognize and handle LD_POINTER_GUARD.
	* sysdeps/generic/ldsodefs.h (rtld_global_ro): Add _dl_pointer_guard.
	* sysdeps/i386/__longjmp.S: Use PTR_DEMANGLE for PC if defined.
	* sysdeps/x86_64/__longjmp.S: Likewise.
	* sysdeps/i386/bsd-_setjmp.S: Use PTR_MANGLE for PC if defined.
	* sysdeps/i386/bsd-_setjmp.S: Likewise.
	* sysdeps/i386/setjmp.S: Likewise.
	[IS_IN_rtld]: Avoid call to __sigjmp_save.
	* sysdeps/i386/setjmp.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Define PTR_MANGLE and
	PTR_DEMANGLE.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.

	* sysdeps/i386/elf/setjmp.S: Removed.
	* sysdeps/i386/elf/bsd-setjmp.S: Removed.
2005-12-18 06:58:22 +00:00
Ulrich Drepper 8292f6fc71 * elf/dl-error.c (_dl_catch_error): Use __sigsetgjmp instead of
setjmp.
2005-12-17 23:26:28 +00:00
Ulrich Drepper b15cc6a1ef * elf/dl-error.c (_dl_signal_error): Use __longjmp instead of longjmp.
* elf/dl-minimal.c (longjmp): Remove definition.
2005-12-17 23:09:41 +00:00
Ulrich Drepper 9d13fb2413 Moved to csu/errno-loc.c. 2005-12-14 15:06:39 +00:00
Ulrich Drepper b6ab06cef4 2005-12-13 Ulrich Drepper <drepper@redhat.com> 2005-12-14 08:43:25 +00:00
Ulrich Drepper 43bc8ac6ea * catgets/gencat.c: Use GPL, not LGPL.
* elf/cache.c: Likewise.
	* elf/chroot_canon.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* elf/readlib.c: Likewise.
	* iconv/dummy-repertoire.c: Likewise.
	* iconv/iconv_charmap.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* locale/programs/3level.h: Likewise.
	* locale/programs/charmap-dir.c: Likewise.
	* locale/programs/charmap-dir.h: Likewise.
	* locale/programs/charmap-kw.gperf: Likewise.
	* locale/programs/charmap.c: Likewise.
	* locale/programs/charmap.h: Likewise.
	* locale/programs/config.h: Likewise.
	* locale/programs/ld-address.c: Likewise.
	* locale/programs/ld-collate.c: Likewise.
	* locale/programs/ld-ctype.c: Likewise.
	* locale/programs/ld-identification.c: Likewise.
	* locale/programs/ld-measurement.c: Likewise.
	* locale/programs/ld-messages.c: Likewise.
	* locale/programs/ld-monetary.c: Likewise.
	* locale/programs/ld-name.c: Likewise.
	* locale/programs/ld-numeric.c: Likewise.
	* locale/programs/ld-paper.c: Likewise.
	* locale/programs/ld-telephone.c: Likewise.
	* locale/programs/ld-time.c: Likewise.
	* locale/programs/linereader.c: Likewise.
	* locale/programs/linereader.h: Likewise.
	* locale/programs/locale-spec.c: Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* locale/programs/localedef.h: Likewise.
	* locale/programs/locarchive.c: Likewise.
	* locale/programs/locfile-kw.gperf: Likewise.
	* locale/programs/locfile-token.h: Likewise.
	* locale/programs/locfile.c: Likewise.
	* locale/programs/locfile.h: Likewise.
	* locale/programs/repertoire.c: Likewise.
	* locale/programs/repertoire.h: Likewise.
	* locale/programs/simple-hash.c: Likewise.
	* locale/programs/simple-hash.h: Likewise.
	* locale/programs/xmalloc.c: Likewise.
	* locale/programs/xstrdup.c: Likewise.
	* malloc/memusagestat.c: Likewise.
	* nscd/aicache.c: Likewise.
	* nscd/cache.c: Likewise.
	* nscd/connections.c: Likewise.
	* nscd/dbg_log.c: Likewise.
	* nscd/gai.c: Likewise.
	* nscd/getgrgid_r.c: Likewise.
	* nscd/getgrnam_r.c: Likewise.
	* nscd/gethstbyad_r.c: Likewise.
	* nscd/gethstbynm2_r.c: Likewise.
	* nscd/getpwnam_r.c: Likewise.
	* nscd/getpwuid_r.c: Likewise.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/initgrcache.c: Likewise.
	* nscd/mem.c: Likewise.
	* nscd/nscd.c: Likewise.
	* nscd/nscd_conf.c: Likewise.
	* nscd/pwdcache.c: Likewise.
	* posix/getconf.c: Likewise.
	* sysdeps/generic/nscd_setup_thread.c: Likewise.
	* sysdeps/unix/sysv/linux/nscd_setup_thread.c: Likewise.
2005-12-07 05:49:17 +00:00
Roland McGrath 13665daa71 2005-11-19 Roland McGrath <roland@redhat.com>
* elf/elf.h: Revert last change.
2005-11-19 21:30:54 +00:00
Roland McGrath cfd487620b 2005-11-17 Roland McGrath <roland@redhat.com>
* elf/elf.h (R_PPC64_ADDR30): Renamed to R_PPC64_REL30.
2005-11-17 23:02:17 +00:00
Ulrich Drepper fcae3b76f6 * elf/dl-open.c [!SHARED]: Remove _dl_tls_static_size definition.
* sysdeps/generic/libc-tls.c: Initialize _dl_tls_static_size here.
2005-11-15 07:26:22 +00:00
Roland McGrath 7fe72b72ea * elf/elf.h (R_M32R_REL32): New macro. 2005-11-08 01:53:36 +00:00
Ulrich Drepper ce33ee7caa * configure.in: If init_array/fini_array support is not available,
bail out.
	* config.h.in: Remove trace of optional init_array/fini_array support.
	* config.make.in: Likewise.
	* csu/elf-init.c: Likewise.
	* dlfcn/dlfcn.c: Likewise.
	* elf/soinit.c: Likewise.
	* sysdeps/ia64/elf/initfinit.c: Likewise.
2005-11-05 17:46:24 +00:00
Roland McGrath 80dce5a31a 2005-10-26 Jakub Jelinek <jakub@redhat.com>
* elf/dl-conflict.c (_dl_resolve_conflicts): Use _dl_debug_printf
	instead of _dl_printf to print conflict processing debug message.
	Reported by John Reiser <jreiser@BitWagon.com>.
2005-10-31 01:28:48 +00:00
Roland McGrath a3fcd5e8a4 2005-10-17 Roland McGrath <roland@redhat.com>
* elf/dl-load.c (MAP_COPY): When undefined, define to
	MAP_PRIVATE|MAP_DENYWRITE instead of just MAP_PRIVATE.
	(_dl_map_object_from_fd): Don't use MAP_DENYWRITE explicitly.
2005-10-17 20:59:28 +00:00
Roland McGrath ae0d550c3e * abi-tags (.*-.*-knetbsd.*-gnu.*): New match, with ABI value 4.
* elf/cache.c (print_entry): Match the kNetBSD ABI tag.
2005-10-17 02:44:01 +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
Roland McGrath ffa5c4607d * elf/elf.h (R_ARM_TLS_DTPMOD32, R_ARM_TLS_DTPOFF32,
R_ARM_TLS_TPOFF32, R_ARM_TLS_GD32, R_ARM_TLS_LDM32,
	R_ARM_TLS_LDO32, R_ARM_TLS_IE32, R_ARM_TLS_LE32): New macros.
2005-10-05 18:30:11 +00:00
Roland McGrath 22aa06a562 [BZ #1392]
* posix/sys/wait.h [!__GNUC__ || __cplusplus] (__WAIT_INT): Use const.
2005-09-29  Alfred M. Szmidt  <ams@gnu.org>

	* elf/rtld.c [! DL_ARGV_NOT_RELRO] (_dl_argc, _dl_skip_args):
	Don't use attribute_relro.

2005-09-29  Roland McGrath  <roland@redhat.com>

	[BZ #1392]
2005-09-29 22:03:45 +00:00
Ulrich Drepper 7f71c55ddf [BZ #516]
* elf/dl-load.c: Report failed loading due to ELF class mismatch
	with better words.
2005-09-26 15:58:00 +00:00
Roland McGrath 5eac47606b * elf/dl-tsd.c (__libc_dl_error_tsd): Use attribute_tls_model_ie for
static __thread variable.
	From Alexandre Oliva <aoliva@redhat.com>
2005-09-22 07:29:50 +00:00
Roland McGrath e751d28209 [BZ #1346]
2005-09-20  Roland McGrath  <roland@redhat.com>
	[BZ #1346]
	* elf/dl-load.c (_dl_map_object_from_fd) [HAVE_Z_RELRO]: Do relro
	magic on __stack_prot only if [SHARED].  Skip mprotect if __stack_prot
	lies outside the page-rounded-down relro region.
2005-09-20 07:46:12 +00:00
Ulrich Drepper fc072badce (_dl_map_object_from_fd): No need to change protection of memory used for the last segment. 2005-09-02 07:33:58 +00:00
Ulrich Drepper 0b3cf80142 * sysdeps/ieee754/flt-32/e_hypotf.c [!__STDC__]: Fix function name.
2005-08-01  Bob Wilson  <bob.wilson@acm.org>
        Richard Sandiford  <richard@codesourcery.com>

	* sysdeps/ieee754/flt-32/e_hypotf.c (__ieee754_hypotf): Add missing
	exponent bias to the value for 2^126.

2005-08-30  Jakub Jelinek  <jakub@redhat.com>
	    Alan Modra  <amodra@bigpond.net.au>

	* elf/dl-addr.c (_dl_addr): Use DL_ADDR_SYM_MATCH macro.
	* sysdeps/generic/ldsodefs.h (DL_ADDR_SYM_MATCH): Define.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h: New file.
2005-08-30 22:48:53 +00:00
Ulrich Drepper 6c49b464d9 * elf/elf.h (DT_ALPHA_PLTRO): Use symbolic name in DT_ALPHA_PLTRO
definition.
2005-08-07 07:55:10 +00:00
Ulrich Drepper 23e2554f5b * elf/dl-load.c [__WORDSIZE==64] (FILEBUF_SIZE): Adjust the value
up.  We have more program header entries now and the note section
	was normally not loaded.
2005-07-30 21:15:22 +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 253eb3a0ac * elf/stackguard-macros.h (STACK_CHK_GUARD): Fix s390/s390x definition.
Reported by Ulrich Weigand <uweigand@de.ibm.com>.

	* elf/stackguard-macros.h (STACK_CHK_GUARD): Add ia64 definition.
2005-07-07 06:10:18 +00:00
Ulrich Drepper 587d6ddc60 * elf/dl-error.c (_dl_signal_error): When testing for executable
being relocated, take into account that nothing might even be loaded.
2005-07-07 06:02:07 +00:00
Ulrich Drepper 9f0d7b6df9 * elf/dl-reloc.c [PROF] (_dl_relocate_object): Define
consider_profiling always to zero.  Don't count of compiler to
	remove unreached if block.
	* sysdeps/x86_64/dl-trampoline.S [PROF] (_dl_runtime_profile):
	Don't compile.
	* sysdeps/i386/dl-trampoline.S [PROF] (_dl_runtime_profile): Likewise.
	* sysdeps/ia64/dl-trampoline.S [PROF] (_dl_runtime_profile): Likewise.
	* sysdeps/s390/s390-64/dl-trampoline.S [PROF] (_dl_runtime_profile):
	Likewise.
	* sysdeps/s390/s390-32/dl-trampoline.S [PROF] (_dl_runtime_profile):
	Likewise.
	* sysdeps/powerpc/powerpc64/dl-trampoline.S [PROF]
	(_dl_profile_resolve): Likewise.
	* sysdeps/powerpc/powerpc32/dl-trampoline.S [PROF]
	(_dl_profile_resolve): Likewise.
	* gmon/Makefile: Add rules to build and run tst-profile-static.
	* gmon/tst-profile-static.c: New file.
	* Makeconfig (+link-static): Allow passing program-specific flags.
2005-07-07 02:39:45 +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 99c7f8700d * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_runtime_setup):
Handle prelinked libraries and binaries with new style PLT.

2005-06-07  Jakub Jelinek  <jakub@redhat.com>

	* elf/elf.h (R_PPC_REL16, R_PPC_REL16_LO, R_PPC_REL16_HI,
	R_PPC_REL16_HA): Define.

2005-06-14  Alan Modra  <amodra@bigpond.net.au>

	* config.h.in (HAVE_ASM_PPC_REL16): Add.
	* elf/elf.h (DT_PPC_GOT, DT_PPC_NUM): Define.
	* elf/tls-macros.h (PowerPC32): Include config.h.  Add variants of
	TLS_IE, TLS_LD and TLS_GD for new PLT/GOT layout.
	* sysdeps/powerpc/powerpc32/configure.in: New file,
	* sysdeps/powerpc/powerpc32/dl-dtprocnum.h: New file.
	* sysdeps/powerpc/powerpc32/dl-machine.h (DT_PPC): Define.
	(ppc_got): New inline function.
	(elf_machine_dynamic): Use ppc_got.  Add attribute const.
	(elf_machine_load_address): Add attribute const.  Don't use int vars.
	Use bcl rather than bl to save trashing branch target stack.  Use
	elf_machine_dynamic rather than duplicating code here.
	(elf_machine_runtime_setup): New inline function replacing define.
	Handle new PLT.
	(elf_machine_fixup_plt): Handle new PLT.
	(elf_machine_rela): Likewise.
	* sysdeps/powerpc/powerpc32/sysdep.h: Include config.h.
	(CALL_MCOUNT): Don't set up counter vars.
	* sysdeps/powerpc/powerpc32/ppc-mcount.S: Correct comment.
	* sysdeps/powerpc/powerpc32/elf/start.S (start_addressesp): Don't
	define when HAVE_ASM_PPC_REL16.
	(_start): Add HAVE_ASM_PPC_REL16 code.
	* sysdeps/powerpc/powerpc32/dl-start.S (_dl_start_user): Don't bl
	into the GOT when HAVE_ASM_PPC_REL16.
	* sysdeps/powerpc/powerpc32/memset.S (memset): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S (__longjmp): Ditto.
	* sysdeps/powerpc/powerpc32/fpu/s_ceil.S (__ceil): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_ceilf.S (__ceilf): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_floor.S (__floor): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_floorf.S (__floorf): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_lround.S (__lround): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_rint.S (__rint): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_rintf.S (__rintf): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_round.S (__round): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_roundf.S (__roundf): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_trunc.S (__trunc): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_truncf.S (__truncf): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S (__sigsetjmp):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S (__brk): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
	(__getcontext): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
	(__setcontext): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
	(__swapcontext): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (stackblock):
	Comment.
	(__socket): Bomb if NARGS >= 7.  Invoke CGOTSETUP and CGOTRESTORE.

2005-06-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/sigignore.c: Include <string.h> to tell the compiler
	to use __GI_memset.
	* sysdeps/posix/signal.c: Likewise.
	* sysdeps/posix/sigset.c: Likewise.
	* sysdeps/posix/sysv_signal.c: Likewise.
	* sysdeps/unix/sysv/linux/sleep.c: Likewise.
	* sysdeps/unix/sysv/linux/sysctl.c: Likewise.
	* sysdeps/unix/sysv/linux/system.c: Likewise.
2005-06-17 23:11:35 +00:00
Ulrich Drepper c63d8f809b [BZ #966]
2005-06-13  Ulrich Drepper  <drepper@redhat.com>
	* sysdeps/unix/clock_gettime.c (clock_gettime): Implement case
	where HANDLED_REALTIME is not defined.  [BZ #966]

2005-06-13  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/netlinkaccess.h (__netlink_sendreq,
	__netlink_receive): Remove prototypes.
	(__netlink_request): New prototype.
	* sysdeps/unix/sysv/linux/ifaddrs.c: Include <alloca.h> and
	<stdint.h>.
	(__netlink_sendreq): Make static.
	(__netlink_receive): Rename to...
	(__netlink_request): ... this.  Add type argument, call
	__netlink_sendreq.  If MSG_TRUNC is set after recvmsg, retry
	with a bigger buffer.  Don't record buffers that contain no
	messages we are expecting.
	(getifaddrs): Use __netlink_request instead of __netlink_sendreq
	and __netlink_receive pairs.  Formatting.
	* sysdeps/unix/sysv/linux/if_index.c (if_nameindex_netlink): Use
	__netlink_request instead of __netlink_sendreq and __netlink_receive
	pair.

2005-06-13  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/unix/sysv/linux/netinet/if_tr.h: Don't include kernel
	headers, instead copy important structs/defines.

2005-06-13  Jakub Jelinek  <jakub@redhat.com>

	* elf/rtld.c (dl_main): Move DT_DEBUG setup before first
	_dl_debug_state call.
2005-06-14 00:56:49 +00:00
Ulrich Drepper 74780cf659 * elf/dl-error.c (_dl_signal_error): Store information about use of
real malloc in the catch object.
	(_dl_catch_error): Forward information about malloc use to caller
	in new parameter.
	(_dl_out_of_memory): Make static.
	* elf/dl-deps.c: Adjust callers of _dl_catch_error.
	* elf/dl-libc.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/rtld.c: Likewise.
	Add new --audit option.
	* sysdeps/generic/ldsodefs.h: Remove _dl_out_of_memory declaration.
	(rtld_global_ro._dl_signal_error): Add new parameter.
	* include/dlfcn.h (_dl_catch_error): Add new parameter.
	* dlfcn/dlfcn.c (_dlerror_run): Pass additional parameter to
	_dl_catch_error.  Only free if the returned newly value says so.
2005-06-12 16:29:51 +00:00
Richard Henderson 4d87b39422 * elf/elf.h (DT_ALPHA_PLTRO, DT_ALPHA_NUM): New. * sysdeps/alpha/dl-dtprocnum.h: New file. * sysdeps/alpha/dl-machine.h (DT_ALPHA): New. (elf_machine_load_address): Simplify to rely on gprel relocations. (elf_machine_runtime_setup): Handle DT_ALPHA_PLTRO plt format. Remove thread safety workaround for binutils 2.6. (elf_machine_fixup_plt): Handle DT_ALPHA_PLTRO plt format. * sysdeps/alpha/dl-trampoline.S (_dl_runtime_resolve_new): New. (_dl_runtime_profile_new): New. (_dl_runtime_resolve_old): Rename from _dl_runtime_resolve. (_dl_runtime_profile_old): Rename from _dl_runtime_profile. Fix typo in _dl_call_pltexit argument loading.
* sysdeps/alpha/div_libc.h (funcnoplt): New.
        * sysdeps/alpha/divl.S, sysdeps/alpha/divq.S: Use it.
        * sysdeps/alpha/divqu.S, sysdeps/alpha/reml.S: Likewise.
        * sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S: Likewise.
2005-05-28  Richard Henderson  <rth@redhat.com>

	* elf/elf.h (DT_ALPHA_PLTRO, DT_ALPHA_NUM): New.
	* sysdeps/alpha/dl-dtprocnum.h: New file.
	* sysdeps/alpha/dl-machine.h (DT_ALPHA): New.
	(elf_machine_load_address): Simplify to rely on gprel relocations.
	(elf_machine_runtime_setup): Handle DT_ALPHA_PLTRO plt format.
	Remove thread safety workaround for binutils 2.6.
	(elf_machine_fixup_plt): Handle DT_ALPHA_PLTRO plt format.
	* sysdeps/alpha/dl-trampoline.S (_dl_runtime_resolve_new): New.
	(_dl_runtime_profile_new): New.
	(_dl_runtime_resolve_old): Rename from _dl_runtime_resolve.
	(_dl_runtime_profile_old): Rename from _dl_runtime_profile.  Fix
	typo in _dl_call_pltexit argument loading.

	* sysdeps/alpha/div_libc.h (funcnoplt): New.
	* sysdeps/alpha/divl.S, sysdeps/alpha/divq.S: Use it.
	* sysdeps/alpha/divqu.S, sysdeps/alpha/reml.S: Likewise.
	* sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S: Likewise.
2005-05-28 23:40:09 +00:00
Ulrich Drepper 2f4db0dfc8 * elf/rtld.c: Include <dl-osinfo.h>. 2005-05-22 23:03:25 +00:00
Ulrich Drepper 39fb308fd2 * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Adjust for
removal of a_ptr element in ElfXX_auxv_t.
	* elf/dl-support.c (_dl_aux_init): Likewise.
2005-05-11 17:32:13 +00:00
Ulrich Drepper 151c317ff7 (Elf32_auxv_t): Make cross-compile safe. (Elf64_auxv_t): Likewise. 2005-05-11 08:33:48 +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
Roland McGrath 0980fc8724 2005-04-26 Roland McGrath <roland@redhat.com>
* elf/rtld-Rules (rtld-all): Test ifndef rtld-modules instead of
	ifeq ($(subdir),elf) to distinguish main driver from subdir runs.
2005-04-26 20:05:30 +00:00
Roland McGrath b34cbd1428 * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
(INTERNAL_SYSCALL_ERROR_P): Fix typo in last change.

	* sunrpc/xdr.c (xdr_u_int): Use `long' for L and cast where needed.

	* elf/dl-load.c: Revert last change.
2005-04-26 04:26:13 +00:00
Roland McGrath 6c63200907 * elf/dl-load.c (_dl_map_object_from_fd): Don't use MAP_DENYWRITE,
since Linux ignores it in user mmap calls.
2005-04-21 21:49:23 +00:00
Ulrich Drepper edac0e8f44 Add sparc64 TLS and NPTL support.
* elf/tls-macros.h: Add Sparc64 defines.
	* sysdeps/sparc/sparc64/dl-machine.h (sparc64_fixup_plt): Mark as
	always_inline.
	(elf_machine_fixup_plt): Likewise.
	(elf_machine_rela): Handle TLS relocations.
	(elf_machine_type_cleaa): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
	(SYSCALL_ERROR_HANDLER_ENTRY): Use sethi/or for GOT reloc.
	It does not always fit in R_SPARC_GOT13 when building -fPIC.
	Also, add TLS handling.
	* sysdeps/unix/sysv/linux/configure.in (arch_minimum_kernel):
	Increase it to 2.4.21 for sparc64.
	* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: NULL terminate
	backtrace by zero'ing out %fp.  Store away flags, func_ptr,
	and func_arg in global registers not local registers.
	* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Handle PTID, TLS,
	and CTID arguments properly.  Add RESET_PID handling.
	* sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Rework so that we
	do not invoke __sigprocmask().  We can always assume rt signals
	are present on sparc64, so just do an inline syscall.

2005-04-13  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/sparc64/dl-machine.h: Add dl_machine_h multiple
	inclusion guard for the first half of the header.
	(elf_machine_type_class, ELF_MACHINE_JMP_SLOT, ELF_MACHINE_NO_REL,
	ELF_MACHINE_PLTREL_OVERLAP, elf_machine_runtime_setup,
	elf_machine_relplt, DL_STACK_END, RTLD_START): Move into the
	#ifndef dl_machine_h guarded part of the header.
2005-04-14 21:46:37 +00:00
Roland McGrath ab1d521db3 * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_discover_osversion)
[(NEED_DL_SYSINFO || NEED_DL_SYSINFO_DSO) && SHARED]: Scan
	GLRO(dl_sysinfo_map) for PT_NOTE giving Linux kernel version,
	we can skip the uname call if it's there.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Don't use
	DL_SYSDEP_OSCHECK here.
	* elf/rtld.c (dl_main) [DL_SYSDEP_OSCHECK]: Do it here instead.

	* sysdeps/generic/ldsodefs.h (struct rtld_global_ro):
	Add _dl_sysinfo_map.
	* elf/rtld.c (dl_main): Don't call _dl_init_paths early in the
	rtld_is_main case.  Call it unconditionally later.
	Move GLRO(dl_sysinfo_dso) handling earlier, before _dl_init_paths call.
	Initialize GLRO(dl_sysinfo_map).
	* elf/dl-load.c (open_path): Bail out if _dl_init_paths wasn't called.
	* sysdeps/generic/dl-sysdep.c (_DL_FIRST_EXTRA): New macro.
	(_dl_important_hwcaps)
	[(NEED_DL_SYSINFO || NEED_DL_SYSINFO_DSO) && SHARED]: Scan
	GLRO(dl_sysinfo_map) for PT_NOTE giving synthetic hwcap names
	and bit values.
	* elf/ldconfig.c (_DL_FIRST_EXTRA): New macro.
	(hwcap_extra): New static variable.
	(is_hwcap_platform): Check hwcap_extra for a matching name.
	Remove tls special case.
	(path_hwcap): Likewise.
	(parse_conf): Parse "hwcap" directive to define synthetic hwcap bits
	and their names, stored in hwcap_extra.
	(main) [USE_TLS]: Initialize final synthetic hwcap bit as "tls".

	* sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Use uint64_t for
	_dl_hwcap and _dl_hwcap_mask.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Cast a_val for
	AT_HWCAP to unsigned long int.
	* elf/dl-support.c (_dl_aux_init): Likewise.
	(_dl_hwcap): Update defn.

	* elf/cache.c (print_entry): Pad hwcap value with 0s in diagnostic.
	* elf/ldconfig.c (search_dir): Likewise.
2005-04-07 20:57:41 +00:00
Roland McGrath 404a4e2fb3 * sysdeps/sparc/sparc32/dl-trampoline.S: New file.
* sysdeps/sparc/sparc32/dl-machine.h: Move PLT trampolines there.
	Use RESOLVE_MAP instead of RESOLVE to protect relocation code.
	(elf_machine_runtime_setup): Test for dl_profile non-null.
	* sysdeps/sparc/sparc64/dl-trampoline.S: New file.
	(ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): New.
	* sysdeps/sparc/sparc64/dl-machine.h: Move PLT trampolines there.
	Use RESOLVE_MAP instead of RESOLVE to protect relocation code.
	(elf_machine_runtime_setup): Test for dl_profile non-null.
	* sysdeps/sparc/bits/link.h: New file.
	* sysdeps/generic/ldsodefs.h (La_sparc32_regs, La_sparc32_retval,
	La_sparc64_regs, La_sparc64_retval): New.
	(struct audit_ifaces): Add sparc entries.
	* elf/tst-auditmod1.c: Add sparc entries.
2005-04-05 21:37:05 +00:00
Roland McGrath 9640622776 * elf/dl-load.c: Don't include dl-osinfo.h here. 2005-03-30 02:07:41 +00:00
Andreas Jaeger abc85e9fea [BZ #783]
2005-03-28  Daniel Jacobowitz  <dan@codesourcery.com>
	[BZ #783]
	* elf/tst-auditmod1.c: Add MIPS support.
	* sysdeps/generic/ldsodefs.h (La_mips_32_regs): New.
	(La_mips_32_retval): New.
	(La_mips_64_regs): New.
	(La_mips_64_retval): New.
	(struct audit_ifaces): Add MIPS entries.
	* sysdeps/mips/dl-machine.h: Check RESOLVE_MAP instead of RESOLVE.
	(elf_machine_runtime_link_map, ELF_DL_FRAME_SIZE,
	ELF_DL_SAVE_ARG_REGS, ELF_DL_RESTORE_ARG_REGS,
	ELF_MACHINE_RUNTIME_TRAMPOLINE): Move to dl-trampoline.c.
	(RTLD_START): Align the stack before calling _dl_init_internal.
	Use .ent for _dl_start_user.
	(ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): Define.
	(elf_machine_rel, elf_machine_rel_relative, elf_machine_lazy_rel)
	(elf_machine_runtime_setup): Use "auto inline".
	(elf_machine_rela, elf_machine_rela_relative): Provide empty versions.
	(elf_machine_got_rel): Likewise.  Use RESOLVE_MAP.
	* sysdeps/mips/dl-trampoline.c: New file.
	* sysdeps/mips/bits/link.h: New file.
	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
	(internal_syscall5): Use register operands instead of non-lvalue
	memory operands.
	(internal_syscall6): Likewise.
	(internal_syscall7): Likewise.
2005-03-28  Daniel Jacobowitz  <dan@codesourcery.com>

	[BZ #783]
	* elf/tst-auditmod1.c: Add MIPS support.
	* sysdeps/generic/ldsodefs.h (La_mips_32_regs): New.
	(La_mips_32_retval): New.
	(La_mips_64_regs): New.
	(La_mips_64_retval): New.
	(struct audit_ifaces): Add MIPS entries.
	* sysdeps/mips/dl-machine.h: Check RESOLVE_MAP instead of RESOLVE.
	(elf_machine_runtime_link_map, ELF_DL_FRAME_SIZE,
	ELF_DL_SAVE_ARG_REGS, ELF_DL_RESTORE_ARG_REGS,
	ELF_MACHINE_RUNTIME_TRAMPOLINE): Move to dl-trampoline.c.
	(RTLD_START): Align the stack before calling _dl_init_internal.
	Use .ent for _dl_start_user.
	(ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): Define.
	(elf_machine_rel, elf_machine_rel_relative, elf_machine_lazy_rel)
	(elf_machine_runtime_setup): Use "auto inline".
	(elf_machine_rela, elf_machine_rela_relative): Provide empty versions.
	(elf_machine_got_rel): Likewise.  Use RESOLVE_MAP.
	* sysdeps/mips/dl-trampoline.c: New file.
	* sysdeps/mips/bits/link.h: New file.
	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
	(internal_syscall5): Use register operands instead of non-lvalue
	memory operands.
	(internal_syscall6): Likewise.
	(internal_syscall7): Likewise.
2005-03-28 07:49:19 +00:00
Roland McGrath 729cee49f0 2005-03-27 Daniel Jacobowitz <dan@codesourcery.com>
* elf/tls-macros.h: Correct typo.
2005-03-27 20:06:13 +00:00
Roland McGrath eb13a70972 2005-03-22 Daniel Jacobowitz <dan@codesourcery.com>
* elf/elf.h (PT_ARM_EXIDX): New macro.
2005-03-22 21:48:18 +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 8622e9505d * elf/dl-open.c (dl_open_worker): Fix typo. 2005-03-20 18:38:24 +00:00
Ulrich Drepper f7e39466ca * elf/dl-lookup.c (add_dependency): Always search l_initfini if
the list exists.
2005-03-19 09:10:45 +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 a2f7570bdd * elf/dl-open.c (dl_open_worker): Print exact l_direct_opencount value,
it has been incremented before.
2005-03-19 07:51:35 +00:00
Ulrich Drepper c3381f3eb2 * elf/dl-fini.c (_dl_fini): Split sorting of the maps in separate
function _dl_sort_fini.
	(_dl_sort_fini): New function.
	* sysdeps/generic/ldsodefs.h: Declare _dl_sort_fini.
	* elf/dl-close.c (_dl_close): Call _dl_sort_fini before running
	destructors to call them in the right order.
2005-03-19 07:22:23 +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 193af754dc Test cases for correct unloading. 2005-03-18 10:54:53 +00:00
Roland McGrath acf9547e00 2005-03-16 Daniel Jacobowitz <dan@codesourcery.com>
* elf/elf.h: Define MIPS TLS relocations.
2005-03-16 23:25:56 +00:00
Ulrich Drepper 1087e37192 (main): Pretty printing. 2005-03-16 08:43:59 +00:00
Roland McGrath 1b243ca9a8 * sysdeps/generic/wordexp.c (exec_comm_child): Add inline keyword.
Patch by Dan Kegel <dank@kegel.com>.

	* elf/dynamic-link.h (elf_machine_rel, elf_machine_rel_relative,
	elf_machine_rela, elf_machine_rela_relative, elf_machine_lazy_rel):
	Add inline keyword.
	* sysdeps/alpha/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative, elf_machine_lazy_rel): Add always_inline
	attribute.
	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative, elf_machine_lazy_rel): Likewise.  Change
	static inline into auto inline.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative, elf_machine_lazy_rel): Likewise.
	* sysdeps/generic/dl-machine.h (elf_machine_rel, elf_machine_rela):
	Likewise.
	* sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rel_relative,
	elf_machine_rela, elf_machine_rela_relative, elf_machine_lazy_rel):
	Likewise.

2005-03-15  Jakub Jelinek  <jakub@redhat.com>
2005-03-15 22:57:31 +00:00
Roland McGrath af81020e98 * elf/tls-macros.h: #include_next <tls-macros.h> to get a sysdeps
version if there is one.  Only #error if macros are then undefined.
	* sysdeps/generic/tls-macros.h: New file.
2005-03-13 09:09:05 +00:00
Ulrich Drepper 21745dfa61 * elf/dl-close.c (_dl_close): Decrement l_opencount before
printing debug message.
	* elf/dl-open.c (dl_open_worker): Always print the new opencount
	in debug messages.
2005-03-07 08:06:09 +00:00
Ulrich Drepper d8505f90bf * elf/dl-close.c (_dl_close): Unify debug message format. 2005-03-07 07:57:43 +00:00
Ulrich Drepper ac53c9c64b * elf/dl-close.c (_dl_close): Print debug message just before
destroying a link map.
2005-03-07 07:04:35 +00:00
Ulrich Drepper b6cc1a6217 * elf/do-lookup.h (do_lookup_x): Add namespace info to debug output.
* elf/dl-version.c (match_symbol): Likewise.
2005-03-07 06:50:48 +00:00
Ulrich Drepper 75a142a216 * elf/dl-version.c (match_symbol): Add namespace info to debug output. 2005-03-07 06:45:42 +00:00
Roland McGrath 2103c260f9 * sysdeps/generic/ldsodefs.h (_dl_out_of_memory_internal): Remove decl.
(_dl_out_of_memory): Use rtld_hidden_proto.
	* elf/dl-error.c (_dl_out_of_memory): Use rtld_hidden_data_def.
	(_dl_signal_error): Don't use INTUSE on _dl_out_of_memory.
	* elf/dl-open.c (_dl_open): Likewise.
	* elf/dl-deps.c (_dl_map_object_deps): Likewise.

	* sunrpc/des_impl.c (des_set_key): Make first argument unsigned char *.

	* elf/dl-addr.c (_dl_addr): Add a cast.

	* elf/unload3mod4.c: Declare foo.
	* elf/testobj2.c: Include <stdio.h>.

	* sysdeps/gnu/errlist.awk: Emit NERR macro for _sys_nerr_internal
	value constant, and use it in the defn.
	* sysdeps/gnu/errlist-compat.awk: Use NERR in array decl.
	Use actual size for compat array decls.

	* config.make.in (cc-mtune): New substituted variable.
	* configure.in (libc_cv_cc_mtune): New test for -mtune= switch,
	done only if libc_mtune_example is defined.
	* configure: Regenerated.
	* sysdeps/i386/configure.in (libc_mtune_example): Set it.
	* sysdeps/i386/configure: Regenerated.
	* sysdeps/i386/Makefile (CFLAGS-initfini.s): Use $(cc-mtune).
2005-03-06 00:08:10 +00:00
Ulrich Drepper 680d780a4b * elf/testobj2.c (p): New function. 2005-03-03 16:00:35 +00:00
Ulrich Drepper 2e2b6e2618 [BZ #776]
2005-03-01  H.J. Lu  <hongjiu.lu@intel.com>
	[BZ #776]
	* iconv/iconvconfig.c: Fix comment for the output file.
	(write_output): Clear padding in header.

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

	* elf/dl-close.c (_dl_close): Don't try to set up new searchpath if the
	loader is closed.  Fixes unload3.
	* elf/tst-global1.c: New file.
	* elf/Makefile (tests): Add tst-global1.

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

	* elf/Makefile: Add rules to build and run unload3 test.
	* elf/unload3.c: New test.
	* elf/unload3mod1.c: New file.
	* elf/unload3mod2.c: New file.
	* elf/unload3mod3.c: New file.
	* elf/unload3mod4.c: New file.
2005-03-03 08:28:23 +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
Roland McGrath f8286ce613 [BZ #721]
2005-03-01  Roland McGrath  <roland@redhat.com>
	[BZ #721]
	* sysdeps/arm/dl-machine.h (ELF_MACHINE_NO_RELA): Define this outside
	of [RESOLVE_MAP].

2005-03-01  Alfred M. Szmidt  <ams@gnu.org>

	* elf/dl-load.c (__stack_prot) [!PROT_GROWSUP && !PROT_GROWSDOWN]:
	Add missing initializer.

	* malloc/arena.c: #include <stdbool.h> outside of [SHARED &&
	USE_TLS && !USE___THREAD].
2005-03-01 20:55:00 +00:00
Ulrich Drepper 9adc097760 * elf/dl-addr.c: Cleanups. Move declaration next to first use. 2005-02-26 08:50:16 +00:00
Ulrich Drepper 21e2d3a4eb (_dl_debug_bindings): Add namespace information to debug output. 2005-02-26 06:11:21 +00:00
Ulrich Drepper ec1af1d8ce Run tst-tls9-static again. 2005-02-24 02:56:13 +00:00
Ulrich Drepper 094d3c54ae * sysdeps/generic/libc-tls.c (static_dtv): Size the same as the
slotinfo array.
	(__libc_setup_tls_): Initializer length of DTV based on array length.
	* elf/dl-load.c: Revert last change.
	* sysdeps/generic/dl-tls.c: Revert last change.
2005-02-23 06:19:23 +00:00
Ulrich Drepper 137e6462eb * iconvdata/ibm930.h: Correct Yen mapping.
* iconvdata/ibm939.h: Likewise.
	* iconvdata/testdata/IBM930..UTF8: Adjust test data.
	* iconvdata/testdata/IBM939..UTF8: Likewise.
	Patch by Jiro Sekiba <SEKIBA@jp.ibm.com>.

	* iconvdata/Makefile (modules): Add IBM1025, IBM1122, IBM1137, IBM1153,
	IBM1154, IBM1155, IBM1156, IBM1157, and IBM1158.
	(distribute): Add ibm1025.c, ibm1025.h, ibm1122.c, ibm1122.h,
	ibm1137.c, ibm1137.h, ibm1153.c, ibm1153.h, ibm1154.c, ibm1154.h,
	ibm1155.c, ibm1155.h, ibm1156.c, ibm1156.h, ibm1157.c, ibm1157.h,
	ibm1158.c, and ibm1158.h.
	* iconvdata/TESTS: Add IBM1025, IBM1122, IBM1137, IBM1153,
	IBM1154, IBM1155, IBM1156, IBM1157, and IBM1158.
	* iconvdata/gconv-modules: Likewise.
	* iconvdata/ibm1025.c: New file.
	* iconvdata/ibm1025.h: New file.
	* iconvdata/ibm1122.c: New file.
	* iconvdata/ibm1122.h: New file.
	* iconvdata/ibm1137.c: New file.
	* iconvdata/ibm1137.h: New file.
	* iconvdata/ibm1153.c: New file.
	* iconvdata/ibm1153.h: New file.
	* iconvdata/ibm1154.c: New file.
	* iconvdata/ibm1154.h: New file.
	* iconvdata/ibm1155.c: New file.
	* iconvdata/ibm1155.h: New file.
	* iconvdata/ibm1156.c: New file.
	* iconvdata/ibm1156.h: New file.
	* iconvdata/ibm1157.c: New file.
	* iconvdata/ibm1157.h: New file.
	* iconvdata/ibm1158.c: New file.
	* iconvdata/ibm1158.h: New file.
	* iconvdata/testdata/IBM1025: New file.
	* iconvdata/testdata/IBM1025..UTF8: New file.
	* iconvdata/testdata/IBM1122: New file.
	* iconvdata/testdata/IBM1122..UTF8: New file.
	* iconvdata/testdata/IBM1137: New file.
	* iconvdata/testdata/IBM1137..UTF8: New file.
	* iconvdata/testdata/IBM1153: New file.
	* iconvdata/testdata/IBM1153..UTF8: New file.
	* iconvdata/testdata/IBM1154: New file.
	* iconvdata/testdata/IBM1154..UTF8: New file.
	* iconvdata/testdata/IBM1155: New file.
	* iconvdata/testdata/IBM1155..UTF8: New file.
	* iconvdata/testdata/IBM1156: New file.
	* iconvdata/testdata/IBM1156..UTF8: New file.
	* iconvdata/testdata/IBM1157: New file.
	* iconvdata/testdata/IBM1157..UTF8: New file.
	* iconvdata/testdata/IBM1158: New file.
	* iconvdata/testdata/IBM1158..UTF8: New file.
	Contributed by Jiro Sekiba <SEKIBA@jp.ibm.com>.
2005-02-22 07:12:35 +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 af272d4fa8 * elf/dl-reloc.c (_dl_nothread_init_static_tls): Avoid using
THREAD_DTV multiple times, this minimally reduces code size on
	some archs.
2005-02-22 01:58:38 +00:00
Roland McGrath 9cfe5381a1 [BZ #284, BZ #721]
* intl/dcigettext.c (_nl_find_msg): Add a cast.
	* nis/nis_clone_dir.c (nis_clone_directory): Use char * for ADDR.
	* nis/nis_clone_obj.c (nis_clone_object): Likewise.
	* nis/nis_clone_res.c (nis_clone_result): Likewise.

	* resolv/nss_dns/dns-network.c (getanswer_r): Use const unsigned char *
	for END_OF_MESSAGE and CP.

	* resolv/res_send.c (send_dg): Add else branch for case impossible
	unless `poll' is buggy.

	* crypt/crypt_util.c (__setkey_r): Add a cast.

	* locale/programs/linereader.c (get_toplvl_escape): Use size_t for
	NBYTES, and unsigned char * for BYTES.

	* locale/programs/charmap.c (charmap_new_char): Use size_t and
	unsighed char * for NBYTES, BYTES parameters.

	* sysdeps/generic/dl-hash.h (_dl_elf_hash): Take const char * argument
	and cast it.
	* sysdeps/i386/i686/dl-hash.h (_dl_elf_hash): Likewise.

	* sunrpc/create_xid.c (_create_xid): Don't use unsigned long for RES.

	* sunrpc/svcauth_des.c (_svcauth_des): Fix cast type.

	* sunrpc/auth_des.c (authdes_create): Don't use u_char for PKEY_DATA.
	(authdes_marshal): Don't use unsigned int for LEN.
	* sunrpc/xdr.c (xdr_hyper): Don't use unsigned long for T2.
	(xdr_u_hyper): Likewise.
	(xdr_u_short): Don't use u_long for L.
	* sunrpc/xdr_intXX_t.c (xdr_int64_t): Don't use uint32_t for T2.

	* inet/rexec.c (rexec_af): Use socklen_t.
	* sunrpc/key_call.c (getkeyserv_handle): Likewise.
	* sunrpc/rtime.c (rtime): Likewise.
	* resolv/res_send.c (send_vc, send_dg): Likewise.
	* nis/nis_callback.c (__nis_create_callback): Likewise.

	* sysdeps/generic/libc-start.c: Use unsigned int for nthreads ptr.

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Fix type of ADDR local.

	* libio/libio.h (_IO_BE): Add parenthesis around EXPR.

	* intl/dcigettext.c (INTVARDEF, INTUSE): Macros removed.
	(_nl_default_dirname): Use libc_hidden_data_def instead of INTVARDEF.
	(libc_freeres_fn, DCIGETTEXT): Don't use INTUSE.
	* intl/bindtextdom.c (INTUSE): Macro removed.
	(_nl_default_dirname): Use libc_hidden_proto.
	(set_binding_values): Don't use INTUSE.
	* include/libintl.h (_libc_intl_domainname_internal): Decl removed.
	(_libc_intl_domainname): Use libc_hidden_proto.
	* posix/regex_internal.h (gettext): Remove INTUSE on it.
	* locale/SYS_libc.c (_libc_intl_domainname): Use libc_hidden_data_def
	rather than INTDEF.
	* include/libintl.h (_): Don't use *_internal name.

	* ctype/ctype-extn.c (__ctype_tolower, __ctype_toupper): Use int32_t,
	not uint32_t.
	* locale/lc-ctype.c (_nl_postload_ctype): Likewise for assignments.

	* iconv/gconv_open.c (__gconv_open): Remove useless cast.

	[BZ #721]
	* sysdeps/i386/dl-machine.h (ELF_MACHINE_NO_RELA): Define this outside
	of [RESOLVE_MAP].
	* sysdeps/sh/dl-machine.h (ELF_MACHINE_NO_REL): Likewise.
	* sysdeps/powerpc/powerpc32/dl-machine.h
	(elf_machine_rel, elf_machine_rel_relative): Removed.
	* sysdeps/powerpc/powerpc64/dl-machine.h
	(elf_machine_rel, elf_machine_rel_relative): Removed.

2005-02-03  Alexandre Oliva  <aoliva@redhat.com>

	[BZ #721]
	* elf/dynamic-link.h: Don't declare nested auto functions that are
	not going to be defined.

2004-07-23  Jakub Jelinek  <jakub@redhat.com>

	[BZ #284]
	* include/features.h (_POSIX_SOURCE, _POSIX_C_SOURCE): Define
	if _XOPEN_SOURCE >= 500 even if __STRICT_ANSI__ is defined.

2005-02-16  Roland McGrath  <roland@redhat.com>
2005-02-17 01:19:55 +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 e38c954b3b * debug/chk_fail.c (__chk_fail): Add a while (1) loop around
__libc_message to kill GCC warning about noreturn function returning.

	* elf/rtld.c (dlmain): If LD_TRACE_PRELINKING, clear l_relocated flag
	before relocating ld.so again.

	* elf/rtld.c (_dl_start): Set bootstrap_map.l_relocated even
	for already prelinked ld.so.
2005-02-12 23:17:03 +00:00
Ulrich Drepper f85f3563db (_dl_start): Set bootstrap_map.l_relocated even for already prelinked ld.so. 2005-02-12 23:14:43 +00:00
Ulrich Drepper 785290ea87 (_dl_map_object_from_fd): Fix a typo. 2005-02-08 21:29:01 +00:00
Ulrich Drepper 606832e6e5 * sysdeps/sh/dl-machine.h (elf_machine_rela): Remove code using
RESOLVE.

2005-02-07  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (_dl_map_object_from_fd): Makre sure registers are
	set correctly.

	* sysdeps/unix/sysv/linux/i386/sysdep.h (check_consistency): Define.
2005-02-08 08:25:22 +00:00
Ulrich Drepper ecc1d0c301 * elf/dl-load.c (open_path): If rtld_search_dirs is in RELRO segment,
avoid writing to it if none of the standard search directories exist.
2005-02-07 23:52:23 +00:00
Ulrich Drepper 028dca779d (fixup): Change return type to DL_FIXUP_VALUE_TYPE. Use DL_FIXUP_VALUE_TYPE, DL_FIXUP_MAKE_VALUE and DL_FIXUP_VALUE_CODE_ADDR for relocation values. Use DL_FIXUP_VALUE_ADDR and DL_FIXUP_ADDR_VALUE to store and retrieve relocation values. (profile_fixup): Likewise. 2005-02-07 22:47:00 +00:00
Ulrich Drepper 2af4049472 Update.
2005-01-28  H.J. Lu  <hongjiu.lu@intel.com>

	* elf/tst-auditmod1.c: Add ia64 entries.
	* sysdeps/generic/ldsodefs.h (La_ia64_regs): New.
	(La_ia64_retval): New.
	(audit_ifaces): Add ia64 entries.
	* sysdeps/ia64/bits/link.h: New file.
	* sysdeps/ia64/dl-machine.h (elf_machine_runtime_setup): Test
	for dl_profile non-null.
	(ARCH_LA_PLTENTER): New.
	(ARCH_LA_PLTEXIT): New.
	* sysdeps/ia64/dl-trampoline.S (_dl_runtime_resolve): Allocate
	only 2 output registers. Allocate stack to save/restore
	8 incoming fp registers. Call _dl_fixup instead of fixup.
	(_dl_runtime_profile): Rewrite.
2005-01-29 04:14:35 +00:00
Ulrich Drepper bb38d32c23 Update.
* sysdeps/s390/bits/link.h: New file.
	* sysdeps/s390/s390-32/dl-trampoline.S: New file.
	* sysdeps/s390/s390-64/dl-trampoline.S: New file.
	* sysdeps/s390/s390-32/dl-machine.h: Move PLT trampolines to
	dl-trampoline.S. Use RESOLVE_MAP instead of RESOLVE to protect
	relocation code.
	(elf_machine_runtime_setup): Test for dl_profile non-null.
	(elf_machine_rela): Remove code using RESOLVE.
	(ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): New.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
	* sysdeps/generic/ldsodefs.h (La_s390_32_regs, La_s390_32_retval,
	La_s390_64_regs, La_s390_64_retval): New.
	* elf/tst-auditmod1.c: Add s390 entries.
2005-01-29 00:07:16 +00:00
Ulrich Drepper 1f25bddd62 Update.
2005-01-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/dl-machine.h (elf_machine_rel): Remove code using
	RESOLVE.
	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Remove code
	using RESOLVE.
	* elf/rtld.c (_dl_start): Remove RESOLVE definition.
2005-01-25 11:42:24 +00:00
Richard Henderson 57c6c64a3b * sysdeps/alpha/dl-trampoline.S: New file. * sysdeps/alpha/dl-machine.h: Move PLT trampolines there. Use RESOLVE_MAP instead of RESOLVE to protect relocation code. (elf_machine_runtime_setup): Test for dl_profile non-null. (ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): New. * sysdeps/alpha/bits/link.h: New file. * sysdeps/generic/ldsodefs.h (La_alpha_regs, La_alpha_retval): New. (struct audit_ifaces): Add alpha entries. * elf/tst-auditmod1.c: Add alpha entries.
2005-01-22  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/dl-trampoline.S: New file.
	* sysdeps/alpha/dl-machine.h: Move PLT trampolines there.
	Use RESOLVE_MAP instead of RESOLVE to protect relocation code.
	(elf_machine_runtime_setup): Test for dl_profile non-null.
	(ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): New.
	* sysdeps/alpha/bits/link.h: New file.
	* sysdeps/generic/ldsodefs.h (La_alpha_regs, La_alpha_retval): New.
	(struct audit_ifaces): Add alpha entries.
	* elf/tst-auditmod1.c: Add alpha entries.
2005-01-23 08:02:45 +00:00
Roland McGrath 91bf35de4c 2005-01-21 Roland McGrath <roland@redhat.com>
* elf/dl-runtime.c (_dl_profile_fixup): Remove const from REGS.
	* sysdeps/i386/dl-machine.h: Update decl.
2005-01-22 08:03:27 +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 805ed74c10 Reduce duplication. 2005-01-16 06:24:59 +00:00
Andreas Schwab b92f2d0423 * sysdeps/m68k/dl-machine.h: Remove trampoline code. Define
ARCH_LA_PLTENTER and ARCH_LA_PLTEXIT. 
(elf_machine_runtime_setup): If profile != 0 does not anymore mean 
GLRO(dl_profile) != NULL. 
* sysdeps/m68k/dl-trampoline.S: New file. 
* sysdeps/m68k/bits/link.h: New file. 
* sysdeps/generic/ldsodefs.h (struct audit_ifaces): Add m68k 
variants. 
* elf/tst-auditmod1.c: Add m68k support.
2005-01-16  Andreas Schwab  <schwab@suse.de>

	* sysdeps/m68k/dl-machine.h: Remove trampoline code.  Define
	ARCH_LA_PLTENTER and ARCH_LA_PLTEXIT.
	(elf_machine_runtime_setup): If profile != 0 does not anymore mean
	GLRO(dl_profile) != NULL.
	* sysdeps/m68k/dl-trampoline.S: New file.
	* sysdeps/m68k/bits/link.h: New file.
	* sysdeps/generic/ldsodefs.h (struct audit_ifaces): Add m68k
	variants.
	* elf/tst-auditmod1.c: Add m68k support.
2005-01-16 02:07:30 +00:00
Ulrich Drepper 3e539cb47e * elf/dl-load.c (_dl_map_object_from_fd): We don't have to allow
callers from libc anymore.

	* elf/dl-open.c (dl_open_worker): Pass __RTLD_AUDIT flag from caller
	to _dl_map_object_deps.
	* elf/dl-load.c (_dl_map_object_from_fd): Don't change memory
	protections when loading auditing modules.

	* dlfcn/dlopen.c (dlopen_doit): Catch invalid mode arguments and fail.
2005-01-13 02:08:37 +00:00