Commit Graph

290 Commits

Author SHA1 Message Date
Roland McGrath
db2f05ba83 * Makerules ($(common-objpfx)shlib.lds): Don't use \n in rhs of sed
substitutions; the semicolon terminators are enough for ld anyway.

	* elf/dl-deps.c (_dl_map_object_deps): Use alloca instead of
	dynamically sized auto array in function already using alloca.
	* locale/programs/ld-ctype.c (ctype_output): Likewise.
	* locale/programs/ld-time.c (time_output): Likewise.
	* elf/dl-misc.c (_dl_debug_vdprintf): Use macro instead of const for
	IOV array size.
	* locale/programs/charmap.c (charmap_read): Avoid alloca (or strdupa)
	when also using dynamically-sized auto array.
	* locale/programs/locfile.c (locfile_read): Likewise.
	* locale/programs/repertoire.c (repertoire_read): Likewise.
	* nis/nis_print_group_entry.c (nis_print_group_entry): Likewise.
	* locale/programs/locarchive.c (enlarge_archive): Likewise.
	* posix/annexc.c (check_header): Likewise.

	* iconv/gconv_int.h (norm_add_slashes): Don't handle null SUFFIX.
	strlen ("") gets optimized away just as well.
	* intl/loadmsgcat.c (_nl_init_domain_conv): Update caller.
	* wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Likewise.
2004-03-25 03:54:03 +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
Roland McGrath
1feda3ed29 2004-01-13 Segher Boessenkool <boessen@de.ibm.com>
* Makerules (gen-as-const): Don't silently continue on failure.
2004-01-15 01:54:31 +00:00
Ulrich Drepper
ed20b3d9cc Update.
2004-01-13  Ulrich Drepper  <drepper@redhat.com>

	* Makeconfig: Define relro-LDFLAGS if have-z-relro==yes.  Add it to
	LDFLAGS.so and LDFLAGS-rtld.
	(+link): Add relro-LDFLAGS.
	* Makeconfig (shlib.lds): Place __libc_subfreeres, __libc_atexit, and
	__libc_thread_subfreeres sections after .jcr section.
	* config.make.in: Add have-z-relro.
	* configure.in: Add check for -z relro option.
	* include/link.h (struct link_map): Add relro_addr and relro_size
	members.
	* elf/dl-load.c (_dl_map_object_from_fd): Recognize PT_GNU_RELRO.
	* elf/dl-reloc.c (_dl_relocate_object): At the end, make relro
	part of loaded segments read-only.
	* elf/elf.h: Define PT_GNU_RELRO.
	* elf/rtld.c (_dl_start): Recognize PT_GNU_RELRO of ld.so.
	(dl_main): Recognize PT_GNU_RELRO of the application.  Call
	_dl_debug_initialize and initialize l_info[DT_DEBUG] before
	relocations.
2004-01-13 08:36:54 +00:00
Roland McGrath
c1e781ae7c * Makerules (shlib.lds): Make sure that ld doesn't try to link
anything while generating the linker script.
2003-11-01 00:36:04 +00:00
Ulrich Drepper
8dab36a119 Update.
2003-09-12  Ulrich Drepper  <drepper@redhat.com>

	* grp/Makefile (CFLAGS-getgrgid_r.c, CFLAGS-getgrnam_r.c,
	CFLAGS-fgetgrent.c, CFLAGS-fgetgrent_r.c, CFLAGS-putgrent.c,
	CFLAGS-initgroups.c, CFLAGS-getgrgid.c): Add -fexceptions.
	* inet/Makefile (CFLAGS-either_ntoh.c, CFLAGS-either_hton.c,
	CFLAGS-getnetgrent.c, CFLAGS-getnetgrent_r.c): Likewise.
	* io/Makefile (CFLAGS-posix_fallocate.c, CFLAGS-posix_fallocate64.c):
	Likewise.
	* misc/Makefile (CFLAGS-err.c): Likewise.
	* posix/Makefile (CFLAGS-getaddrinfo.c, CFLAGS-spawn.c,
	CFLAGS-spawnp.c, CFLAGS-spawni.c, CFLAGS-pause.c, CFLAGS-glob.c,
	CFLAGS-glob64.c): Likewise.
	* pwd/Makefile (CFLAGS-getpw.c): Likewise.
	* shadow/Makefile (CFLAGS-fgetspent.c, CFLAGS-fgetspent_r.c,
	CFLAGS-putspent.c, CFLAGS-getspnam.c, CFLAGS-getspnam_r.c): Likewise.
	* stdio-common/Makefile (CFLAGS-cuserid.c): Likewise.
	* sunrpc/Makefile (CFLAGS-openchild.c): Likewise.

	* stdlib/Makefile (CFLAGS-mkstemp.c): Remove definition.

	* libio/stdio.h: Remove __THROW from cuserid prototype.

	* locale/loadarchive.c: Use only non-cancelable interfaces.
	* resolv/herror.c (herror): Likewise.

	* malloc/hooks.c: Before using IO stream mark stream so it uses
	only non-cancelable interfaces.
	* malloc/malloc.c: Likewise.
	* posix/getopt.c: Likewise.


2003-09-11  Jakub Jelinek  <jakub@redhat.com>

	* Makerules (LDFLAGS-c.so): Remove -u __register_frame.

2003-09-12  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/stdio_ext.h: Mark most functions with __THROW.

	* misc/err.h: Remove __THROW from all prototypes.

	* posix/getopt.h (__THROW): Define if not already defined.  Add
	__THROW to the getopt functions.

2003-09-11  Ulrich Drepper  <drepper@redhat.com>

	* io/Makefile (CFLAGS-lockf.c): Add -fexceptions.
	(CFLAGS-fts.c): Likewise.
	* io/fcntl.h: Remove __THROW from lockf prototypes.
	* io/fts.h: Remove most __THROW.
2003-09-12 22:37:19 +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
Roland McGrath
f291538ffc 2003-06-12 Roland McGrath <roland@redhat.com>
* Makerules ($(objpfx)stubs): Rewrite sed magic.
2003-06-12 11:30:23 +00:00
Roland McGrath
7cd72ad380 2003-05-11 Andreas Schwab <schwab@suse.de>
* Makerules: Always use -MP together with -MD.
	(sed-remove-dotot): Substitute $(..) also at start of line.
	($(stdio_lim:h=st)): Use -MD instead of SUNPRO_DEPENDENCIES.
	Generated defines with a single compiler call.
	Use $(sed-remove-dotdot).
	* mach/Makefile ($(objpfx)mach-syscalls.mk): Use -MD instead
	of DEPENDENCIES_OUTPUT, and use $(sed-remove-objpfx).
	* sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.h):
	Use -MD instead of SUNPRO_DEPENDENCIES, and use $(sed-remove-objpfx).
	* sysdeps/unix/sysv/linux/mips/Makefile
	($(objpfx)syscall-%.h): Likewise.
2003-05-28 21:05:12 +00:00
Roland McGrath
7f3a54bdf9 2003-05-05 Roland McGrath <roland@redhat.com>
* Makerules (common-before-compile): New variable.
	($(common-objpfx)%.make): Depend on that instead of $(before-compile).
	($(common-objpfx)%.h $(common-objpfx)%.h.d): Likewise.  Move this rule
	to after all setting of before-compile.
2003-05-05 19:13:59 +00:00
Roland McGrath
b710b53daf 2003-05-04 Roland McGrath <roland@redhat.com>
* Makerules (+make-deps): Fix target matching.
	Use $(sed-remove-dotdot).
2003-05-04 23:05:44 +00:00
Roland McGrath
d8f6e441e1 2003-05-02 Roland McGrath <roland@redhat.com>
* Makerules (do-stamp): Do $(make-target-directory).
2003-05-02 07:19:19 +00:00
Roland McGrath
d73f5331ce 2003-05-01 Roland McGrath <roland@redhat.com>
* Makerules (compile-mkdep-flags): New variable, pass -MD -MF $@.d.
	(compile-command.S): Don't use ifndef.  Append $(compile-mkdep-flags).
	(compile-command.s, compile-command.c): Likewise.
	($(objpfx)%.d): All such pattern rules removed.
	($(+sysdir_pfx)sysd-rules): Don't generate them.
	($(common-objpfx)dummy.d): Target removed.
	(make-dummy-dep): Variable removed.
	(generate-md5): Likewise.
	(%.d: %.dt): New pattern rule.
	(+depfiles): Use $(wildcard) function to get just existing *.d files
	and .d files for existing *.dt files.
	(common-clean): Remove all *.d and *.dt files.
	(before-compile): Add $(objpfx). when it doesn't exist,
	regardless of $(no_deps).
	* elf/rtld-Rules ($(objpfx)rtld-%.d): All such pattern rules removed.
	(rtld-depfiles): Use .os.d instead of .d names.
	Include existing *.d files and .d files for existing *.dt files.
	* Makerules ($(common-objpfx)%.make): Protect with [! subdir].
	Use -MD, -MT and -MF flags instead of SUNPRO_DEPENDENCIES variable.
2003-05-02 02:20:45 +00:00
Roland McGrath
20792f9946 * configure.in: Search for AUTOCONF unconditionally.
Just don't complain about missing it under --without-cvs.
	* configure: Regenerated.

	* include/libc-symbols.h (__symbol_set_attribute): New macro,
	give hidden for [SHARED] and weak for [! SHARED].
	(symbol_set_declare): Use that.  Never need weak_extern these days.
	* Makerules ($(common-objpfx)shlib.lds): Go back to using PROVIDE.
	Depend on $(..)Makerules.
2003-04-30 04:18:12 +00:00
Ulrich Drepper
a7ed068ebc Update.
2003-04-27  Ulrich Drepper  <drepper@redhat.com>

	* Makerules ($(common-objpfx)shlib.lds): Don't use PROVIDE to
	define __start_libc_freeres_ptrs and __stop___libc_freeres_ptrs.
2003-04-27 08:18:54 +00:00
Roland McGrath
5ae340e35b (LDSEDCMD-c.so): Variable removed. 2003-04-26 23:41:17 +00:00
Roland McGrath
358cad7c11 * Makerules ($(common-objpfx)shlib.lds): New target.
(common-generated): Add it.
	(build-shlib, build-module): Use that instead of generating every time.
	($(common-objpfx)libc.so): Depend on it.
	(lib%.so rule): Likewise.
	(build-module-helper-objlist): Remove %.lds.
	* iconvdata/extra-module.mk ($(objpfx)$(mod).so):
	Depend on $(common-objpfx)shlib.lds.
	* dlfcn/Makefile ($(test-modules)): Likewise.
2003-04-26 23:38:49 +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
7dbde9db6b 2003-03-25 Roland McGrath <roland@redhat.com>
* config.make.in (enable-check-abi): New variable from configure.
	* configure.in (enable_check_abi): New substituted variable,
	controlled by --{enable,disable}-check-abi (default yes).
	* configure: Regenerated.
	* Makerules [$(enable-check-abi) = yes] (tests): Put this condition
	on check-abi dependency.
2003-03-26 01:15:07 +00:00
Roland McGrath
9465949559 * abilist: New directory of libfoo.abilist files maintained using
scripts/merge-abilist.awk and "make update-abi" rules.
	* Makefile (distribute): Add abilist/*.abilist.
	* Makerules [$(build-shared) = yes] [$(subdir)] (tests):
	Depend on check-abi.
2003-03-19 08:27:55 +00:00
Roland McGrath
073e82bfae 2003-03-10 Roland McGrath <roland@redhat.com>
* configure.in: New check for -g on .S files.
	* configure: Regenerated.
	* config.make.in (have-cpp-asm-debuginfo): New variable.
	* config.h.in (HAVE_CPP_ASM_DEBUGINFO): New #undef.
	* Makeconfig (ASFLAGS): New variable, if undefined and
	$(have-cpp-asm-debuginfo), take options matching -g% from $(CFLAGS).
	* Makerules (compile.S, COMPILE.S): Use $(ASFLAGS).
2003-03-10 09:10:43 +00:00
Roland McGrath
7a0c303ef9 * Makerules: Fix last change to use $($(subdir)-version) when set. 2003-02-22 21:47:19 +00:00
Roland McGrath
cc8bfce987 * Makerules (install-lib-nosubdir): Depend on installed
libfoo-X.Y.Z.so and libfoo.so.NN files so they are installed
	regardless of the libfoo.so target's dependencies.
2003-02-22 20:32:58 +00:00
Roland McGrath
2afbfec453 2003-02-21 Roland McGrath <roland@redhat.com>
* Makerules: Filter $(install-lib-ldscripts) out of list of targets
	for libfoo.so that need $(make-link) rules.
2003-02-21 09:30:54 +00:00
Roland McGrath
643931fb35 2003-02-20 Roland McGrath <roland@redhat.com>
* Makerules: Clean up conditional around include of tls.make.
	* Make-dist: Export generating=t to prevent using that.
	(+distinfo): Likewise for $(shell $(MAKE) ...) runs.
2003-02-21 03:02:16 +00:00
Roland McGrath
c06b8d60f4 2003-02-15 Roland McGrath <roland@frob.com>
* sysdeps/mach/Makefile (mach-before-compile rule): Pass generating=t,
	use target mach-before-compile instead of generated.
	(mach-before-compile): New target.
	* Makerules: Disable use of tls.make if $(generating) is set.
	* mach/Makefile: Include mach-syscalls.mk even if no_deps=t.
	* sysdeps/mach/hurd/Makefile: Make generated hurd headers depend on
	mach-shortcuts.h so mach/ generation happens before hurd/.
2003-02-15 22:59:19 +00:00
Roland McGrath
0e56981e16 2003-01-15 Roland McGrath <roland@redhat.com>
* Makerules: Use -include for tls.make, suppresses warning.
	Move gen-as-const-headers rules up so before-compile is set in time.
	(sed-remove-dotdot): Fix to work right for subdirs or top dir.
2003-01-15 20:24:04 +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
73398a44bb Update.
* Makerules (build-shlib-helper): Don't use -z defs linker option
	if no-z-defs is defined either.

2003-01-10  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h: Remove unused
	file.

2003-01-10  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list: Add vfork.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.

2003-01-12  Ulrich Drepper  <drepper@redhat.com>
2003-01-12 23:13:14 +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
a7f7b879fb Update.
2003-01-04  Jakub Jelinek  <jakub@redhat.com>

	* internals.h (LIBC_THREAD_GETMEM, LIBC_THREAD_SETMEM): Define
	even if NOT_IN_libc is defined.
2003-01-05 10:21:08 +00:00
Roland McGrath
f4281cc49b 2002-12-31 Roland McGrath <roland@redhat.com>
* Makerules (compile.S, COMPILE.S): Remove -DASSEMBLER here.
	Use $(S-CPPFLAGS) in place of $(asm-CPPFLAGS).
	(S-CPPFLAGS): Add -DASSEMBLER here instead.
	(generate-md5, +make-deps): Fix magic to get $(S-CPPFLAGS).
2002-12-31 21:14:21 +00:00
Roland McGrath
c7371e6e47 * Makerules ($(common-objpfx)%.h $(common-objpfx)%.h.d): Fix sed
pattern for prepending $(..) so it doesn't affect $(foo).
2002-12-29 21:01:00 +00:00
Roland McGrath
bd847b5ab2 second typo in prior commit 2002-12-27 23:13:05 +00:00
Roland McGrath
aad08dbad9 2002-12-27 Roland McGrath <roland@redhat.com>
* scripts/gen-as-const.awk: New file.
	* Makefile (distribute): Add it.
	* Makerules ($(common-objpfx)%.h %.h.d: %.sym): New pattern rule.
	(before-compile): Add $(gen-as-const-headers:%.sym=$(common-objpfx)%.h)
	to the list.
	(+depfiles): Add $(addprefix $(common-objpfx),$(gen-as-const-headers)).
2002-12-27 23:05:53 +00:00
Roland McGrath
1c68c264bb Remove bogus CRs at end of all lines. Hope they do not come back. 2002-12-27 20:13:29 +00:00
Roland McGrath
fbe1491afa 2002-12-27 Andreas Schwab <schwab@suse.de>
* Makerules ($(common-objpfx)%.make): Filter through
	$(sed-remove-objpfx).
2002-12-27 00:35:00 +00:00
Roland McGrath
c823a4d21b * scripts/abilist.awk: Produce a more compact format, divided into
stanzas for each version set, the set name listed only once.
	* scripts/extract-abilist.awk: New file.
	* scripts/merge-abilist.awk: New file.
	* Makerules (check-abi-%, update-abi-%): New pattern rules.
	(update-abi, check-abi): New targets.
	* Makefile (+subdir_targets): Add subdir_{check,update}-abi.

	* Makerules (%.symlist): Use LC_ALL=C when running awk script.
2002-12-23 11:17:18 +00:00
Ulrich Drepper
9634cf9d4f Update.
2002-12-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/socket.S: Use CENABLE and CDISABLE
	macros instead of doing the calls directly.
	* sysdeps/unix/make-syscalls.sh: Add ptw-*.$o target name to rules.
	* Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for ptw-%
	targets.

2002-12-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/fpu/bits/mathinline.h: Backout last change.
	* sysdeps/ieee754/bits/nan.h: Likewise.

	* sysdeps/unix/sysv/linux/ia64/syscalls.list (__syscall_open,
	__syscall_wait4, __syscall_ioctl, __syscall_write): Add.
2002-12-16 20:52:36 +00:00
Roland McGrath
cc1b826866 2002-12-07 Roland McGrath <roland@redhat.com>
* Makerules ($(common-objpfx)format.lds): New target.
	(common-generated): Add it.
	($(inst_libdir)/libc.so): Depend on that, and cat it into the result.
	* scripts/output-format.sed: New file.
	* Makefile (distribute): Add it.
2002-12-07 21:55:12 +00:00
Roland McGrath
92712dee68 * sysdeps/i386/dl-machine.h (elf_machine_rela): Handle R_386_COPY.
* sysdeps/arm/dl-machine.h (elf_machine_rela): Handle R_ARM_COPY.

2002-11-15  Roland McGrath  <roland@redhat.com>

	* math/Makefile (libm-calls): Change s_ldexp to m_ldexp.
	* Makerules ($(+sysdir_pfx)sysd-rules): Emit pattern rules for m_%.[Sc]
	from sysdeps/.../s_%.[Sc] with commands $(+make-include-of-dep).
	(+make-include-of-dep): New canned sequence.

	* stdlib/canonicalize.c (__realpath): Check for malloc failure.
	From Dmitry V. Levin <ldv@altlinux.org>.
2002-11-15 22:51:30 +00:00
Roland McGrath
53da80ab88 * sysdeps/generic/errno.c (__libc_errno): Remove alias.
* inet/herrno.c (__libc_h_errno): Likewise.
	* resolv/res_libc.c (__libc_res): Likewise.
	[USE___THREAD]: Use this in place of [USE_TLS && HAVE___THREAD].
	(__res_state) [! USE___THREAD]: Don't define as weak.
	* csu/Versions: Revert last change.
	* resolv/Versions: Revert last change.

	* Makerules ($(common-objpfx)%.make): New pattern rule.
	* tls.make.c: New file.
	* Makefile (distribute): Add it.
2002-11-15 03:37:24 +00:00
Roland McGrath
6c0b2972dc * Makerules (%.dynsym): Remove $(objpfx) from target and dep.
(%.symlist): Likewise.
2002-11-14 20:26:56 +00:00
Roland McGrath
a5da623834 2002-11-14 Roland McGrath <roland@redhat.com>
* Makerules (%.dynsym): Remove $(objpfx) from target and dep.
2002-11-14 20:25:45 +00:00
Roland McGrath
c9e032d55f [$(subdir) = elf] (tests): Depend on libc.symlist.
(generated, common-generated): Add those files.
2002-11-14 04:19:34 +00:00
Roland McGrath
6e3d59bc05 * scripts/abilist.awk: New file.
* Makefile (distribute): Add it.
	* Makerules ($(objpfx)%.dynsym, $(objpfx)%.symlist): New rules.
	(tests): Depend on .symlist file for each $(install-lib.so-versioned).
	[! subdir] (tests): Depend on libc.symlist.
	(generated): Add those files.
	* aclocal.m4 (LIBC_PROG_BINUTILS): Check for objdump, set OBJDUMP.
	* configure: Regenerated.
	* config.make.in (OBJDUMP): New variable, substituted by configure.

	* malloc/mcheck.c (struct hdr): New members `block' and `magic2'.
	(mallochook, reallochook): Set them up.
	(checkhdr): Check HDR->magic2 value.
	(freehook): Reset HDR->magic2.
	(memalignhook): New static function.
	(old_memalign_hook): New static variable.
	(mcheck, reallochook): Set __memalign_hook to memalignhook.
2002-11-14 03:59:56 +00:00
Roland McGrath
adee0e1f17 * sysdeps/unix/make-syscalls.sh: Insert $(make-target-directory) at
the beginning of generated target commands.

	* csu/Makefile ($(objpfx)crti.o, $(objpfx)crtn.o): Add explicit
	dependencies for these in case implicit rule search skipped the
	nonexistent source directory.
	* sysdeps/gnu/Makefile ($(objpfx)errlist.d): Give this rule all the
	files with $(object-suffixes) as targets too.
	* Makerules [no_deps && objpfx] (before-compile): Add $(objpfx).
	and a target for it using $(make-target-directory).

	* Rules (before-compile): Add $(common-objpfx)bits/stdio-lim.h.

	* sysdeps/unix/sysv/linux/bits/pthreadtypes.h: Moved to ...
	* sysdeps/generic/bits/pthreadtypes.h: ... here.
2002-11-11 02:34:36 +00:00
Roland McGrath
c877418f2e * include/libc-symbols.h (__libc_freeres_fn_section, libc_freeres_fn):
New macros.
	* elf/dl-close.c (free_mem): Use libc_freeres_fn macro, remove
	text_set_element.
	* elf/dl-libc.c (free_mem): Likewise.
	* iconv/gconv_conf.c (free_mem): Likewise.
	* iconv/gconv_db.c (free_mem): Likewise.
	* iconv/gconv_dl.c (free_mem): Likewise.
	* iconv/gconv_cache.c (free_mem): Likewise.
	* intl/finddomain.c (free_mem): Likewise.
	* intl/dcigettext.c (free_mem): Likewise.
	* locale/setlocale.c (free_mem): Likewise.
	* misc/fstab.c (fstab_free): Likewise.
	* nss/nsswitch.c (free_mem): Likewise.
	* posix/regcomp.c (free_mem): Likewise.
	* resolv/gai_misc.c (free_res): Likewise.
	* stdlib/fmtmsg.c (free_mem): Likewise.
	* sunrpc/clnt_perr.c (free_mem): Likewise.
	* sysdeps/generic/setenv.c (free_mem): Likewise.
	* sysdeps/unix/sysv/linux/shm_open.c (freeit): Likewise.
	* sysdeps/pthread/aio_misc.c (free_res): Likewise.
	* time/tzset.c (free_mem): Likewise.
	* malloc/mtrace.c (release_libc_mem): Add __libc_freeres_fn_section.
	* locale/loadarchive.c (_nl_archive_subfreeres): Likewise.
	* malloc/set-freeres.c (__libc_freeres): Likewise.

	* login/getutent.c: Include stdlib.h instead of stddef.h.
	(buffer): Change into pointer to utmp, add libc_freeres_ptr.
	(__getutent): Allocate buffer the first time it is run.
	* login/getutid.c: Include stdlib.h instead of stddef.h.
	(buffer): Change into pointer to utmp, add libc_freeres_ptr.
	(__getutid): Allocate buffer the first time it is run.
	* login/getutline.c: Include stdlib.h instead of stddef.h.
	(buffer): Change into pointer to utmp, add libc_freeres_ptr.
	(__getutline): Allocate buffer the first time it is run.
	* malloc/mtrace.c (malloc_trace_buffer): Change into char *.
	(mtrace): Allocate malloc_trace_buffer.
	* resolv/nsap_addr.c (inet_nsap_ntoa): Decrease size of tmpbuf.
	* resolv/ns_print.c (ns_sprintrrf): Decrease size of t.
	* string/strerror.c: Include libintl.h and errno.h.
	(buf): New variable.
	(strerror): Only allocate buffer if actually needed (unknown error).
	* time/tzfile.c (transitions): Add libc_freeres_ptr.
	(freeres): Remove.

2002-10-25  Jakub Jelinek  <jakub@redhat.com>

	* include/libc-symbols.h (libc_freeres_ptr): New macro.
	* malloc/set-freeres.c (__libc_freeres_ptrs): Define using
	symbol_set_define.
	(__libc_freeres): Free all pointers in that section.
	* Makerules (build-shlib): Add $(LDSEDCMD-$(@F:lib%.so=%).so) to sed
	commands when creating .lds script.
	(LDSEDCMD-c.so): New variable.
	* inet/rcmd.c (ahostbuf): Change into char *.  Add libc_freeres_ptr.
	(rcmd_af): Use strdup to allocate ahostbuf.
	* inet/rexec.c (ahostbuf): Change into char *.  Add libc_freeres_ptr.
	(rexec_af): Use strdup to allocate ahostbuf.
	* stdio-common/reg-printf.c (printf_funcs): Remove.
	(__printf_arginfo_table): Change into printf_arginfo_function **.
	Add libc_freeres_ptr.
	(__register_printf_function): Allocate __printf_arginfo_table
	and __printf_function_table the first time it is called.
	* stdio-common/printf-parse.h (__printf_arginfo_table): Change into
	printf_arginfo_function **.
	(parse_one_spec): Add __builtin_expect.
	* grp/fgetgrent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* inet/getnetgrent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* intl/localealias.c (libc_freeres_ptr): Define if !_LIBC.
	(string_space, map): Add libc_freeres_ptr.
	(free_mem): Remove.
	* misc/efgcvt.c (FCVT_BUFPTR): Add libc_freeres_ptr.
	(free_mem): Remove.
	* misc/mntent.c (getmntent_buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* crypt/md5-crypt.c (libc_freeres_ptr): Define if !_LIBC.
	(buffer): Add libc_freeres_ptr.
	(free_mem): Remove for _LIBC.
	* nss/getXXbyYY.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* nss/getXXent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* pwd/fgetpwent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* resolv/res_hconf.c (ifaddrs): Add libc_freeres_ptr.
	(free_mem): Remove.
	* shadow/fgetspent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* sysdeps/posix/ttyname.c (getttyname_name): Add libc_freeres_ptr.
	(free_mem): Remove.
	* sysdeps/unix/sysv/linux/getsysstats.c (mount_proc): Add
	libc_freeres_ptr.
	(free_mem): Remove.
	* sysdeps/unix/sysv/linux/ttyname.c (getttyname_name, ttyname_buf): Add
	libc_freeres_ptr.
	(free_mem): Remove.

2002-10-30  Jakub Jelinek  <jakub@redhat.com>

	* malloc/obstack.c [_LIBC] (obstack_free): Change into strong_alias
	instead of duplicating the whole function in libc.
2002-11-01 20:44:15 +00:00
Roland McGrath
0a951d0e31 * cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Variable removed.
instead of += to append, to be sure $(lib) gets expanded at defn time.
	(libof-$(cpp-src)): New variable, define this instead.
	* extra-lib.mk (cpp-srcs-left): Reduce duplication in include setup.
	(lib): Don't use override.
	(CPPFLAGS-$(lib)): New variable, put -D's here.
	* Makeconfig (CPPFLAGS): Use basename fn for CPPFLAGS-basename.
	Also add $(CPPFLAGS-LIB) before the file-specific flags, for each
	LIB found by $(libof-*) for basename, target, or source.
	* Makerules (CPPFLAGS-nonlib): New variable.
	* nscd/Makefile (lib): Set to nonlib when using cppflags-iterator.mk.
	* locale/Makefile (lib): Likewise.
	* sunrpc/Makefile (lib): Likewise.

	* sysdeps/unix/sysv/linux/fpathconf.c (LINUX_LINK_MAX): Move macro ...
	* sysdeps/unix/sysv/linux/linux_fsinfo.h (LINUX_LINK_MAX): ... here.
	* sysdeps/unix/sysv/linux/pathconf.h: New file.
	(statfs_link_max): New function, guts from fpathconf.c.
	* sysdeps/unix/sysv/linux/fpathconf.c: Rewritten using that.
	* sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise.
	* sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Rewritten
	to use the linux/pathconf.c code by #include rather than duplication.
	* sysdeps/unix/sysv/linux/alpha/fpathconf.c (__pathconf): Likewise.

2002-10-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
	Use __libc_errno only for libc itself.
2002-10-16 22:09:55 +00:00