Commit Graph

261 Commits

Author SHA1 Message Date
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
871b91589b * elf/dl-lookup.c (dl_new_hash): New functions.
(_dl_lookup_symbol_x): Rename hash to old_hash and don't compute
	value here.  Compute new-style hash value.  Pass new hash value
	and reference to variable with the old value to do_lookup_x.
	(_dl_setup_hash): If DT_GNU_HASH is defined, use it and not
	old-style hash table.
	(_dl_debug_bindings): Pass new hash value and reference to variable
	with the old value to do_lookup_x.
	* elf/do-lookup.h (do_lookup_x): Accept additional parameter with
	new-style hash value and change old-style hash value parameter to
	be a reference.  Reoganize functions to determine whether
	new-style hash table is available.  Only fall back on old-style
	table.  If old-style hash value is needed, compute it here.
	* elf/dynamic-link.h (elf_get_dynamic_info): Relocate DT_GNU_HASH
	entry.
	* elf/elf.h: Define SHT_GNU_HASH, DT_GNU_HASH, DT_TLSDEC_PLT,
	DT_TLSDEC_GOT.  Adjust DT_ADDRNUM.
	* include/link.h (struct link_map): Add l_gnu_bitmask_idxbits,
	l_gnu_shift, l_gnu_bitmask, l_gnu_buckets and l_gnu_chain_zero.
	* Makeconfig: If linker supports --hash-style option add it to all
	linker command lines to build DSOs.
	* config.make.in: Define have-hash-style.
	* configure.in: Test whether linker supports --hash-style option.

	* elf/dl-misc.c (_dl_name_match_p): Make MAP parameter const.
	* sysdeps/generic/ldsodefs.h: Adjust prototype.
2006-07-10 21:59:43 +00:00
Roland McGrath
02838201ee 2006-04-26 Roland McGrath <roland@redhat.com>
* Makeconfig (%.v.i rule): Don't use -DASSEMBLER.
	The predefined __ASSEMBLER__ is sufficient.
2006-04-27 01:25:28 +00:00
Roland McGrath
04dca8d316 * version.h (VERSION): 2.3.91
* Makeconfig (sysdeps-srcdirs): New variable.
	(sysdeps-add-ons-srcdirs): Use it.
	* csu/Makefile (all-Banner-files): Use it.

	* Makefile (dist-selector): New variable.
	(glibc-%.tar rule): Use it.  Make $(dist-separate) tarballs
	contain one version-named directory.
2006-03-01 10:35:59 +00:00
Roland McGrath
3192fd8e46 * Makeconfig (+includes): Add back $(includes)
after $(+sysdep-includes).

	* Makerules ($(common-objpfx)%.make): Use -DASSEMBLER.
2006-03-01 04:20:27 +00:00
Roland McGrath
e0a3ed4ff9 * Makefile (subdir-target-args): New variable.
($(all-subdirs-targets)): Use it in place of -C option.
	* Rules: Use $(..) instead of ../ if it's already defined.
	* Makeconfig (subdir-srcdirs): New variable.
	* csu/Makefile (all-Banner-files): Use it.

	* configure.in (--enable-add-ons): Set to "yes" by default.
	Handle absolute add-on directory names when looking for configure
	fragments.  Also look for sysdeps/*/preconfigure fragments in add-ons.
	Require add-on configure to set $libc_add_on_canonical, use
	that in $add_ons_sfx.  Substitute add_on_subdirs with computed list
	of subdir names each add-on configure set in libc_add_on_subdirs.
	* configure: Regenerated.
	* Makefile (%/preconfigure: %/preconfigure.in): New pattern rule.
	* config.make.in (add-on-subdirs): New substituted variable.
	* Makeconfig (all-subdirs): Include $(add-on-subdirs).
	Remove $(add-ons), $(sysdep-subdirs).
	Don't filter out $(sysdep-inhibit-subdirs).
	($(common-objpfx)sysd-dirs): Target removed.  Don't include it.
	($(common-objpfx)sysd-sorted): Rewritten to feed Depend and Subdirs
	files together to gen-sorted.awk, and $(subdirs) via -v.
	(subdirs): Remove magic reordering for mach and hurd.
	* scripts/gen-sorted.awk: Use subdirs from command line.
	Process Subdirs and Depend files directly.
	Let Subdirs files use "first dir" and "inhibit dir".
	Always move elf to the end of the list.
	* hurd/Depend: New file.
	* sysdeps/mach/Subdirs: Use "first mach".

	* Makefile (dist-separate): Remove linuxthreads.
	(dist-separate-linuxthreads): Variable removed.
	(glibc-%.tar rule): Use $(sysdeps-add-ons).

	* Makerules ($(common-objpfx)Versions.v.i): Use $(subdirs),
	not $(all-subdirs).
	(sysdep-makefiles): Use $(sysdirs).
	(sysdirs): Remove export.
	($(+sysdir_pfx)sysd-rules): Handle absolute directory names in
	$(config-sysdirs).
	(+sysdir_pfx): Variable removed.
	(sysd-rules): Use $(common-objpfx) in place of it.
	(sysdirs): Variable moved to ...
	* Makeconfig (sysdirs): ... here.
	Handle absolute directory names in $(config-sysdirs).
	(full_config_sysdirs): Variable removed.
	* csu/Makefile: Use $(sysdirs) in vpath directive.
	* math/Makefile (ulps-file): Use $(sysdirs).
	* sysdeps/gnu/Makefile (errlist-c): Likewise.
	($(objpfx)errlist-compat.c): Likewise.
	* Makeconfig (all-Subdirs-files): Likewise.
	($(common-objpfx)config.status): Likewise.

	* configure.in (sysnames): Handle absolute add-on directory names.
	(sysdeps_add_ons): New variable, AC_SUBST it.
	Compute which add-ons contributed sysdeps directories.
	* configure: Regenerated.
	* config.make.in (sysdeps-add-ons): New substituted variable.
	* Makerules (+sysdep_dirs, +sysdep-includes): Variables moved ...
	* Makeconfig: ... to here.
	(+sysdep_dirs): Append $(sysdeps-add-ons) here.
	(+includes): Remove $(objpfx) include, already in $(+sysdep_dirs).
	Remove $(includes).
	(sysdep-makeconfigs): Use $(+sysdep_dirs).
	($(common-objpfx)shlib-versions.v.i): Likewise.

	* Makeconfig: Remove hair to set Makeconfig-add-on.

	* sysdeps/unix/Makefile (sysdirs): Remove export.
	(asm_CPP): Variable removed.
	($(common-objpfx)sysd-syscalls): Pass them directly for the script.

	* sysdeps/posix/Makefile: New file.
	* Makerules (L_tmpnam, TMP_MAX, L_ctermid, L_cuserid): Set non-posix
	values here with ?=.

	* stdlib/gen-mpn-copy: File removed.
	* stdlib/Makefile (distribute): Remove it.
	* configure.in: Don't grok --with-gmp.
	* configure: Regenerated.

	* configure.in (libc_cv_idn): Don't check it; libidn/configure does it.
	* configure: Regenerated.

	* bare: Directory removed, saved in ports repository.
2006-02-28 07:11:04 +00:00
Roland McGrath
9de06f3c77 * po/.cvsignore: List libc.pot.files, and not any .pot names.
* manual/maint.texi (Porting): Don't mention Dist files.
	* sysdeps/alpha/soft-fp/Dist: File removed.
	* sysdeps/alpha/Dist: File removed.
	* sysdeps/i386/i686/Dist: File removed.
	* sysdeps/i386/soft-fp/Dist: File removed.
	* sysdeps/i386/Dist: File removed.
	* sysdeps/mips/soft-fp/Dist: File removed.
	* sysdeps/mips/mips64/soft-fp/Dist: File removed.
	* sysdeps/mips/mips64/Dist: File removed.
	* sysdeps/mips/Dist: File removed.
	* sysdeps/wordsize-32/Dist: File removed.
	* sysdeps/m68k/fpu/switch/Dist: File removed.
	* sysdeps/m68k/fpu/Dist: File removed.
	* sysdeps/powerpc/powerpc64/Dist: File removed.
	* sysdeps/powerpc/soft-fp/Dist: File removed.
	* sysdeps/powerpc/powerpc32/fpu/Dist: File removed.
	* sysdeps/powerpc/powerpc32/Dist: File removed.
	* sysdeps/powerpc/fpu/Dist: File removed.
	* sysdeps/powerpc/Dist: File removed.
	* sysdeps/unix/common/Dist: File removed.
	* sysdeps/unix/bsd/bsd4.4/Dist: File removed.
	* sysdeps/unix/bsd/Dist: File removed.
	* sysdeps/unix/sysv/linux/alpha/Dist: File removed.
	* sysdeps/unix/sysv/linux/i386/Dist: File removed.
	* sysdeps/unix/sysv/linux/mips/mips64/Dist: File removed.
	* sysdeps/unix/sysv/linux/mips/Dist: File removed.
	* sysdeps/unix/sysv/linux/m68k/Dist: File removed.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist: File removed.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: File removed.
	* sysdeps/unix/sysv/linux/powerpc/aix/Dist: File removed.
	* sysdeps/unix/sysv/linux/powerpc/Dist: File removed.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Dist: File removed.
	* sysdeps/unix/sysv/linux/sparc/sparc64/Dist: File removed.
	* sysdeps/unix/sysv/linux/sparc/Dist: File removed.
	* sysdeps/unix/sysv/linux/ia64/Dist: File removed.
	* sysdeps/unix/sysv/linux/s390/s390-64/Dist: File removed.
	* sysdeps/unix/sysv/linux/s390/Dist: File removed.
	* sysdeps/unix/sysv/linux/s390/s390-32/Dist: File removed.
	* sysdeps/unix/sysv/linux/sh/Dist: File removed.
	* sysdeps/unix/sysv/linux/x86_64/Dist: File removed.
	* sysdeps/unix/sysv/linux/hppa/Dist: File removed.
	* sysdeps/unix/sysv/linux/Dist: File removed.
	* sysdeps/unix/sysv/Dist: File removed.
	* sysdeps/unix/Dist: File removed.
	* sysdeps/generic/Dist: File removed.
	* sysdeps/sparc/sparc32/soft-fp/Dist: File removed.
	* sysdeps/sparc/sparc32/sparcv9/Dist: File removed.
	* sysdeps/sparc/sparc32/sparcv8/Dist: File removed.
	* sysdeps/sparc/sparc32/Dist: File removed.
	* sysdeps/sparc/sparc64/soft-fp/Dist: File removed.
	* sysdeps/sparc/sparc64/Dist: File removed.
	* sysdeps/sparc/Dist: File removed.
	* sysdeps/gnu/Dist: File removed.
	* sysdeps/ia64/fpu/Dist: File removed.
	* sysdeps/ia64/Dist: File removed.
	* sysdeps/mach/mips/Dist: File removed.
	* sysdeps/mach/hurd/alpha/Dist: File removed.
	* sysdeps/mach/hurd/i386/Dist: File removed.
	* sysdeps/mach/hurd/mips/Dist: File removed.
	* sysdeps/mach/hurd/powerpc/Dist: File removed.
	* sysdeps/mach/hurd/Dist: File removed.
	* sysdeps/s390/s390-64/Dist: File removed.
	* sysdeps/s390/Dist: File removed.
	* sysdeps/s390/s390-32/Dist: File removed.
	* sysdeps/sh/Dist: File removed.
	* sysdeps/posix/Dist: File removed.
	* sysdeps/ieee754/dbl-64/Dist: File removed.
	* sysdeps/ieee754/ldbl-128/Dist: File removed.
	* sysdeps/ieee754/flt-32/Dist: File removed.
	* sysdeps/ieee754/Dist: File removed.
	* sysdeps/x86_64/soft-fp/Dist: File removed.
	* sysdeps/x86_64/Dist: File removed.
	* sysdeps/hppa/Dist: File removed.

	* Makerules (common-clean): Don't remove distinfo file.
	($(objpfx)distinfo): Target removed.
	* manual/Makefile (mostlyclean): Don't remove distinfo file.
	(glibc-targets): Remove echo-distinfo.

	* scripts/list-sources.sh: New file.
	* Makefile (TAGS): New target.
	* po/Makefile (libc.pot, libc.pot.files): New targets.
	* Makeconfig (XGETTEXT): New variable.
	* Makerules ($(..)po/%.pot): Rule removed.
	(TAGS): Target removed.
	* Rules (subdir_TAGS): Target removed.
	* MakeTAGS: File removed.

	* Makefile (iconvdata/% localedata/% po/% manual/%): Depend on FORCE.
	* Makeconfig ($(all-Depend-files)): New targets with no-op commands.
2006-01-08 06:46:10 +00:00
Roland McGrath
c913bb2cc4 * Makeconfig (+gnu-stabs): Remove ancient cruft. 2006-01-06 12:44:01 +00:00
Roland McGrath
ef226fecbe * config.make.in (c++-sysincludes): New substituted variable.
* configure.in (CXX_SYSINCLUDES): New substituted variable.
	* configure: Regenerated.
	* Makeconfig (CXXFLAGS): Prepend $(c++-sysincludes) here.
2005-12-28 06:53:43 +00:00
Ulrich Drepper
7735afa212 * Makeconfig: Define CXXFLAGS. Split out warnings from +gccwarn which
are not understood by the C++ compiler.
	* Makerules: Add rules to build C++ code for test cases.
	* include/stdlib.h: Protect for inclusion in C++ code.
	* include/time.h: Likewise.

	* test-skeleton.c (timeout_handler): Rewrite ts initialization for
	C++ compatibility.
2005-12-23 01:55:26 +00:00
Roland McGrath
c72565e5f1 2005-12-21 Roland McGrath <roland@redhat.com>
* sysdeps/generic/bits: Subdirectory and all files moved to ...
	* bits: ... here, new subdirectory.
	* Makeconfig (+includes): Reordered includes to put build and sysdeps
	dirs first after $(..)include, $(sysincludes) last.
	* sysdeps/generic/bits: Subdirectory and all files moved to ...
	* bits: ... here, new subdirectory.
	* Makeconfig (+includes): Reordered includes to put build and sysdeps
	dirs first after $(..)include, $(sysincludes) last.
2005-12-22 03:12:10 +00:00
Ulrich Drepper
b6ab06cef4 2005-12-13 Ulrich Drepper <drepper@redhat.com> 2005-12-14 08:43:25 +00:00
Ulrich Drepper
dec36b4f0c * Makeconfig (+cflags): Add -fmerge-all-constants by default. 2005-11-25 18:36:59 +00:00
Roland McGrath
2ceaa76abd * configure.in: Grok --with-cpu=CPU option. If given, search for
sysdeps/.../machine/CPU subdirs, and give error if none are found.
	* configure: Regenerated.
	* config.make.in (with-cpu): New substituted variable.
	* Makeconfig (+cflags): Add -mcpu=$(with-cpu) if set.
2005-11-08 01:21:32 +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
Roland McGrath
3e1e123d02 [BZ #715]
* Makefile (installed-stubs): New variable.
	Set to $(inst_includedir)/gnu/stubs.h if $(biarch) is no,
	or to $(inst_includedir)/gnu/stubs-$(biarch).h if otherwise.
	[$(biarch) != no] (install-others-nosubdir): Add $(installed-stubs).
	($(inst_includedir)/gnu/stubs.h): Use $(installed-stubs) for this
	rule's target.
	($(inst_includedir)/gnu/stubs.h): New target, install from ...
	* include/stubs-biarch.h: New file.

	* shlib-versions (i.86-.*-.*): Add WORDSIZE64 line mapping to x86_64.

	* Makeconfig ($(common-objpfx)soversions.mk): Depend on Makeconfig.
	Emit defn for variable `biarch'.

	* include/stub-tag.h: Update comment.
2005-02-11 10:17:19 +00:00
Roland McGrath
91adb529b0 [BZ #632]
2005-02-10  Roland McGrath  <roland@redhat.com>
	[BZ #632]
	* scripts/soversions.awk: Expect cpu, vendor, os as separate variables
	from command line.
	Grok shlib-versions lines with WORDSIZE* in second column.
	Add new leading column to output, DEFAULT for existing output lines.
	Also emit lines with WORDSIZE* for alternate configurations.
	* Makeconfig ($(common-objpfx)soversions.i): Pass those variables.
	($(common-objpfx)soversions.mk): Grok new column, use only DEFAULT.
	($(common-objpfx)gnu/lib-names.stmp): Depend on soversions.i instead
	of soversions.mk; replace inline shell script with use of ...
	* scripts/lib-names.awk: New file.  If input has non-DEFAULT lines,
	emit multiple sets of macros under #if.
	* shlib-versions (x86_64-.*-.*): Add WORDSIZE32 line mapping to i686.
	(s390x-.*-.*): Likewise for s390.
	(powerpc64-.*-.*): Likewise for powerpc.
	(sparc64-.*-.*): Likewise for sparc.
2005-02-10 09:18:34 +00:00
Roland McGrath
1d038b6bb2 * nscd/Makefile (LDLIBS-nscd): New variable.
($(objpfx)nscd): Use that instead of selinux-LIBS.

	* Makeconfig (link-extra-libs): Define just as $(LDLIBS-$(@F)).
	(link-extra-libs-static): Define to $(link-extra-libs).
	(link-extra-libs-bounded): Likewise.
2005-01-18 01:21:47 +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
cbdb12dec1 Update.
2004-09-08  H.J. Lu  <hongjiu.lu@intel.com>

	* Makeconfig (libunwind): New.
	(libgcc_eh): Add $(libunwind).
	(gnulib): Always set to -lgcc $(libgcc_eh).
	(static-gnulib): Always set to -lgcc -lgcc_eh $(libunwind).
	(libc.so-gnulib): New.
	* Makerules (LDLIBS-c.so): Use $(libc.so-gnulib) instead of
	$(static-gnulib).
	* configure.in (libc_cv_cc_with_libunwind): Set to yes if gcc
	uses -lunwind for static binaries.
2004-12-15 18:54:41 +00:00
Roland McGrath
5613ea1843 2004-12-05 Roland McGrath <roland@frob.com>
* Makeconfig: Comment typo fix.
2004-12-05 23:49:59 +00:00
Ulrich Drepper
ccd8de9aa6 Update.
2004-11-10  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/setreuid.c: Remove sys/syscall.h,
	sys/types.h, linux/posix_types.h, sysdep.h and pthread-functions.h
	includes.  Include setxid.h.  Use INLINE_SETXID_SYSCALL macro
	instead of INLINE_SYSCALL, kill the HAVE_PTR__NPTL_SETXID guarded
	snippets.
	* sysdeps/unix/sysv/linux/setegid.c: Likewise.
	* sysdeps/unix/sysv/linux/setuid.c: Likewise.
	* sysdeps/unix/sysv/linux/seteuid.c: Likewise.
	* sysdeps/unix/sysv/linux/setgid.c: Likewise.
	* sysdeps/unix/sysv/linux/setresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/setresgid.c: Likewise.
	* sysdeps/unix/sysv/linux/setregid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setegid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setregid.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/setreuid.c: Likewise.
	Formatting.  Change signed int into int.
	* sysdeps/unix/sysv/linux/alpha/setresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/setresgid.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/setregid.c: Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list (setresuid, setresgid):
	Remove.
	* sysdeps/unix/setxid.h: New file.

	* Rules (binaries-static): Add xtests-static.
	* Makeconfig (run-program-prefix): Filter also xtests-static.
2004-11-12 01:27:04 +00:00
Roland McGrath
861ff56cb1 * Makeconfig (link-libc, rpath-dirs): Remove AIX cruft definitions.
(LDFLAGS-rpath-ORIGIN, LDFLAGS-soname-fname): Likewise.
	(LDFLAGS-rdynamic, LDFLAGS-Bsymbolic): Likewise.
	($(common-objpfx)gnu/lib-names.stmp): Likewise.
2004-11-04 23:43:59 +00:00
Roland McGrath
6d864d156d * Makeconfig ($(common-objpfx)shlib-versions.v.i): Check also
$(config-sysdirs) for shlib-versions files.

	* Makeconfig ($(common-objpfx)soversions.i): Replace shell loop with
	use of ...
	* scripts/soversions.awk: ... this new file.  Collect lib info and
	match any DEFAULT line before emitting anything, so DEFAULT can come
	later in the concatenation of shlib-versions files.
2004-10-21 01:29:31 +00:00
Roland McGrath
9382fcee61 * Makeconfig ($(common-objpfx)config.status):
Fix typo: $(add_ons) -> $(add-ons).
	(Makeconfig-add-on): New variable.  When doing $(sysdep-makeconfigs)
	include, use black magic to get it set to an add-on's name during the
	include of the add-on's Makeconfig.

	* configure.in: Use variable name `libc_add_on' when sourcing add-on
	configure fragments, so they can refer to this.
	* configure: Regenerated.
2004-08-05 03:34:45 +00:00
Roland McGrath
8f73811bcf * configure.in (add_ons): Substitute this. Move $add_ons handling
after AC_CANONICAL_HOST and default setting of $machine et al.
	Don't set $subdirs from $add_ons.
	Instead, source add-on/configure fragments early on.
	(base_machine): If it's already set, don't set it based on $machine.
	(libc_config_ok): New variable, set to no.  If an add-on fragment sets
	it to yes, skip the  tuple sanity check as if --enable-hacker-mode.
	(sysnames): Try appending add-on names after machine as well.
	* configure: Regenerated.
	* config.make.in (add-ons): Set from @add_ons@ instead of @subdirs@.
	* Makeconfig ($(common-objpfx)config.status): Also depend on configure
	files in $(add_ons) dirs.

	* sysdeps/unix/sysv/linux/bits/in.h (struct ip_mreq): Remove
	definition, now in netinet/in.h proper.

	long.  Rewrite example code so that it takes into account l64a output
2004-07-20 22:14:59 +00:00
Roland McGrath
9632aaee31 * aclocal.m4: Add provide for AC_CONFIG_AUX_DIR_DEFAULT.
* Makeconfig ($(common-objpfx)shlib-versions.v.i): Move top-level
	$(..)shlib-versions file to last in deps list.  This lets add-ons give
	more-specific matches that override defaults in the top-level file.

	* sysdeps/unix/sysv/linux/configure.in: If arch_minimum_kernel was
	already set, don't set it or libc_cv_gcc_unwind_find_fde.
	* sysdeps/unix/sysv/linux/configure: Regenerated.
2004-07-02 06:45:17 +00:00
Ulrich Drepper
cdbf48bed6 Update.
2004-05-08  Jakub Jelinek  <jakub@redhat.com>

	* configure.in (libc_cv_libgcc_s_suffix): New check.
	(libc_cv_as_needed): Use -lgcc_s$libc_cv_libgcc_s_suffix.
	* config.make.in (libgcc_s_suffix): Set.
	* Makeconfig (libgcc_eh): Use -lgcc_s$(libgcc_s_suffix).
2004-05-09 17:30:53 +00:00
Ulrich Drepper
5339290658 Fix.
* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Remove unneeded
	frame info.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
2004-04-17 22:44:55 +00:00
Ulrich Drepper
feca5e0be0 Update.
2004-03-30  H.J. Lu  <hongjiu.lu@intel.com>

	* Makeconfig (link-libc-static): Use $(static-gnulib) instead
	of $(gnulib).
	(libgcc_eh): New variable.
	(gnulib): Use it variable.
	(static-gnulib): New variable.
	* Makerules (LDLIBS-c.so): Use $(static-gnulib) instead of $(gnulib).
	* config.make.in (have-as-needed): New variable.
	* configure.in: Check if linker supports --as-needed.
2004-04-03 08:53:24 +00:00
Ulrich Drepper
1c563add69 Define relro-LDFLAGS if have-z-relro==yes. Add it to LDFLAGS.so and LDFLAGS-rtld. (+link): Add relro-LDFLAGS. 2004-01-13 08:17:00 +00:00
Ulrich Drepper
26b30508e0 (gnulib): If have-cc-withh-libunwind is "yes", also mention -lunwind. 2003-12-10 22:27:45 +00:00
Ulrich Drepper
a4db3439f1 Update.
2003-09-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/Makefile (sysdep-CFLAGS): If not in math or csu
	subdir, add -mpreferred-stack-boundary=4, with few exceptions.

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

	* Makeconfig (stack-align-test-flags): Set.
	* stdlib/Makefile (CFLAGS-tst-bsearch.c): Add
	$(stack-align-test-flags).
	* stdlib/tst-bsearch.c: Include tst-stack-align.h.
	(align_check): New var.
	(comp): Use TEST_STACK_ALIGN macro.
	(do_test): Fail if align_check != 1.
	* sysdeps/generic/tst-stack-align.h: New file.
	* sysdeps/i386/i686/Makefile (stack-align-test-flags): Add -msse.
	* sysdeps/i386/i686/tst-stack-align.h: New file.
2003-09-17 08:47:44 +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
231e88a408 Update.
2003-07-10  Ulrich Drepper  <drepper@redhat.com>

	* Makeconfig (CFLAGS-.oS): Use PIC-ccflag instead of pic-ccflag.
	(PIC-ccflag): Define.
2003-07-10 09:10:43 +00:00
Ulrich Drepper
e1d8e1b7c5 Update.
2003-06-07  Ulrich Drepper  <drepper@redhat.com>

	* Makeconfig (gnulib): Add -lgcc_eh once again.
2003-06-07 09:40:26 +00:00
Ulrich Drepper
35915ec87b Regenerated. 2003-06-04 21:41:25 +00:00
Ulrich Drepper
c7652699b1 Update.
* Makeconfig (gnulib): Remove -lgcc_eh again.
2003-05-10 06:33:37 +00:00
Roland McGrath
499c0d7866 2003-04-27 Andreas Schwab <schwab@suse.de>
* Makeconfig ($(common-objpfx)sysd-sorted): Fix for running in
	subdirectory.
2003-04-27 18:36:13 +00:00
Ulrich Drepper
162434a682 Update.
2003-04-15  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Define AT_SYSINFO_EH_FRAME.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Handle
	AT_SYSINFO_EH_FRAME.
	(_dl_show_auxv):Display AT_SYSINFO_EH_FRAME value.
	* sysdeps/generic/ldsodefs.h [NEED_DL_SYSINFO] (struct rtld_global):
	Add _dl_sysinfo_eh_frame field.
	* elf/dl-support.c [NEED_DL_SYSINFO]: Define _dl_sysinfo_eh_frame.
	* sysdeps/generic/libc-start.c [NEED_DL_SYSINFO] Define eh_obj
	variable.
	[NEED_DL_SYSINFO] (LIBC_START_MAIN): Call __register_frame_info_bases
	if _dl_sysinfo_eh_frame is non-NULL.

	* Makeconfig (gnulib): Add -lgcc_eh.

	* config.h.in: Define HAVE_FORCED_UNWIND.
2003-04-15 22:46:40 +00:00
Roland McGrath
3045a1fe89 * Makeconfig (+includes): Don't use $(last-includes). 2003-03-23 11:17:28 +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
30077d51f6 2003-01-04 Roland McGrath <roland@redhat.com>
* Makeconfig (+mkdep): Add -MP flag.
	Suggested by Art Haas <ahaas@airmail.net>.
2003-01-06 00:41:51 +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
25c751d0dc 2002-11-10 Roland McGrath <roland@redhat.com>
* config.make.in (includedir): New variable, substituted by configure.
	Reported missing by Jocelyn Fournier <joc@presence-pc.com>.
	* Makeconfig (includedir): Use $(prefix), not $(exec_prefix).
2002-11-10 22:19:23 +00:00
Roland McGrath
d29724f870 * Makeconfig (CPPFLAGS): Fix last change to use $(libof-$(<F))
instead of $(libof-$<).
2002-10-17 09:16:52 +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
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
Roland McGrath
8027e18876 2002-09-25 Roland McGrath <roland@redhat.com>
* Makeconfig (%.v.i pattern rule): Use $(CPPFLAGS).
2002-09-25 07:19:28 +00:00