diff --git a/.cvsignore b/.cvsignore index 4540fa5..5474af4 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -glibc-20060302T0855.tar.bz2 -glibc-fedora-20060302T0855.tar.bz2 +glibc-20060306T0720.tar.bz2 +glibc-fedora-20060306T0720.tar.bz2 diff --git a/glibc-fedora.patch b/glibc-fedora.patch index 34af045..0686f27 100644 --- a/glibc-fedora.patch +++ b/glibc-fedora.patch @@ -1,27 +1,38 @@ ---- glibc-20060302T0855/ChangeLog 2 Mar 2006 04:49:45 -0000 1.10046 -+++ glibc-20060302T0855-fedora/ChangeLog 2 Mar 2006 09:59:46 -0000 1.8782.2.168 -@@ -1,3 +1,20 @@ -+2006-03-02 Jakub Jelinek -+ -+ * malloc/malloc.c (MALLOC_ALIGNMENT): Set to __alignof__ (long double) -+ if long double is more aligned than 2 * SIZE_SZ. -+ (misaligned_chunk): Define. -+ (public_rEALLOc, _int_free, _int_realloc): Use it. -+ -+2006-03-02 Jakub Jelinek -+ -+ * elf/check-textrel.c: Include config.h. -+ (AB(handle_file)): Don't fail if PF_X | PF_W on architectures known -+ to have executable writable PLT. -+ * sysdeps/powerpc/powerpc32/configure.in (HAVE_PPC_SECURE_PLT): New -+ test. -+ * sysdeps/powerpc/powerpc32/configure: Rebuilt. -+ * config.h.in (HAVE_PPC_SECURE_PLT): Add. -+ - 2006-01-05 H.J. Lu - - [BZ #2013] -@@ -859,6 +876,11 @@ +--- glibc-20060306T0720/ChangeLog 6 Mar 2006 06:18:43 -0000 1.10059 ++++ glibc-20060306T0720-fedora/ChangeLog 6 Mar 2006 07:34:43 -0000 1.8782.2.171 +@@ -1,3 +1,31 @@ ++2006-03-04 Jakub Jelinek ++ Roland McGrath ++ ++ * sysdeps/unix/sysv/linux/i386/lowlevellock.h ++ (LLL_STUB_UNWIND_INFO_START, LLL_STUB_UNWIND_INFO_END, ++ LLL_STUB_UNWIND_INFO_3, LLL_STUB_UNWIND_INFO_4): Define. ++ (lll_mutex_lock, lll_robust_mutex_lock, lll_mutex_cond_lock, ++ lll_robust_mutex_cond_lock, lll_mutex_timedlock, ++ lll_robust_mutex_timedlock, lll_mutex_unlock, ++ lll_robust_mutex_unlock, lll_lock, lll_unlock): Use them. ++ Add _L_*_ symbols around the subsection. ++ * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Add unwind info. ++ * sysdeps/unix/sysv/linux/i386/i486/lowlevelrobustlock.S: Likewise. ++ ++2006-03-03 Jakub Jelinek ++ Roland McGrath ++ ++ * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h ++ (LLL_STUB_UNWIND_INFO_START, LLL_STUB_UNWIND_INFO_END, ++ LLL_STUB_UNWIND_INFO_5, LLL_STUB_UNWIND_INFO_6): Define. ++ (lll_mutex_lock, lll_robust_mutex_lock, lll_mutex_cond_lock, ++ lll_robust_mutex_cond_lock, lll_mutex_timedlock, ++ lll_robust_mutex_timedlock, lll_mutex_unlock, ++ lll_robust_mutex_unlock, lll_lock, lll_unlock): Use them. ++ Add _L_*_ symbols around the subsection. ++ * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Add unwind info. ++ * sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S: Likewise. ++ + 2006-03-05 Roland McGrath + + * malloc/malloc.c (MALLOC_ALIGNMENT): Revert to (2 * SIZE_SZ) value. +@@ -982,6 +1010,11 @@ (__MATHDECL_2): Use __REDIRECT_NTH instead of __REDIRECT followed by __THROW. @@ -33,7 +44,7 @@ 2006-02-02 Ulrich Drepper * sysdeps/unix/sysv/linux/futimesat.c [__NR_futimesat] -@@ -918,6 +940,11 @@ +@@ -1041,6 +1074,11 @@ * sysdeps/ieee754/ldbl-128/s_llrintl.c (__llrintl): Fix a typo. * sysdeps/s390/fpu/libm-test-ulps: Remove llrint ulps. @@ -45,7 +56,7 @@ 2006-01-19 Thomas Schwinge * libio/genops.c: Include . -@@ -3344,6 +3371,10 @@ +@@ -3467,6 +3505,10 @@ * elf/order2mod2.c (init): Cast ignored value to void. @@ -56,7 +67,7 @@ 2005-12-27 Ulrich Drepper * elf/tst-tls13.c (do_test): Avoid using the library path when -@@ -3627,6 +3658,26 @@ +@@ -3750,6 +3792,26 @@ * sysdeps/unix/sysv/linux/time.c: If __NR_time is not defined, use sysdeps/unix/time.c implementation. @@ -83,7 +94,7 @@ 2005-12-19 Ulrich Drepper [BZ #1955] -@@ -6745,6 +6796,11 @@ +@@ -6868,6 +6930,11 @@ 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. @@ -95,7 +106,7 @@ 2005-10-03 Roland McGrath * sysdeps/powerpc/nofpu: Directory removed, saved in ports repository. -@@ -7739,6 +7795,12 @@ +@@ -7862,6 +7929,12 @@ * argp/argp-help.c (__argp_error): __asprintf -> vasprintf. (__argp_failure): Likewise. @@ -108,7 +119,7 @@ 2005-08-08 Ulrich Drepper * nscd/cache.c (cache_add): Commit hash table and header to disk. -@@ -7863,6 +7925,17 @@ +@@ -7986,6 +8059,17 @@ __syslog_chk. * misc/Versions: Export __syslog_chk and __vsyslog_chk. @@ -126,7 +137,7 @@ 2005-07-28 Thomas Schwinge [BZ #1137] -@@ -10923,6 +10996,18 @@ +@@ -11046,6 +11130,18 @@ * scripts/soversions.awk: Fix default version set handling. @@ -145,8 +156,8 @@ 2005-02-10 Roland McGrath [BZ #157] ---- glibc-20060302T0855/ChangeLog.11 10 Nov 2000 03:31:36 -0000 1.1 -+++ glibc-20060302T0855-fedora/ChangeLog.11 22 Sep 2004 21:20:47 -0000 1.1.4.1 +--- glibc-20060306T0720/ChangeLog.11 10 Nov 2000 03:31:36 -0000 1.1 ++++ glibc-20060306T0720-fedora/ChangeLog.11 22 Sep 2004 21:20:47 -0000 1.1.4.1 @@ -1352,6 +1352,11 @@ * sysdeps/unix/sysv/linux/mips/sys/tas.h: Add missing .mips0 at the end of inline assembler code. @@ -196,8 +207,8 @@ * sysdeps/arm/bits/huge_val.h (HUGE_VAL, HUGE_VALF): Add __extension__ to hexadecimal floating constant notation. * sysdeps/i386/bits/huge_val.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): ---- glibc-20060302T0855/ChangeLog.12 16 Aug 2001 05:24:54 -0000 1.1 -+++ glibc-20060302T0855-fedora/ChangeLog.12 22 Sep 2004 21:20:47 -0000 1.1.4.1 +--- glibc-20060306T0720/ChangeLog.12 16 Aug 2001 05:24:54 -0000 1.1 ++++ glibc-20060306T0720-fedora/ChangeLog.12 22 Sep 2004 21:20:47 -0000 1.1.4.1 @@ -7729,6 +7729,13 @@ * Versions.def [ld]: Add GLIBC_2.2.1. @@ -224,8 +235,8 @@ 2001-01-02 Franz Sirl * sysdeps/powerpc/dl-machine.c (__process_machine_rela): Fix typo. ---- glibc-20060302T0855/ChangeLog.15 16 Feb 2005 07:34:17 -0000 1.1 -+++ glibc-20060302T0855-fedora/ChangeLog.15 3 Mar 2005 17:29:57 -0000 1.1.6.2 +--- glibc-20060306T0720/ChangeLog.15 16 Feb 2005 07:34:17 -0000 1.1 ++++ glibc-20060306T0720-fedora/ChangeLog.15 3 Mar 2005 17:29:57 -0000 1.1.6.2 @@ -477,6 +477,14 @@ 2004-11-26 Jakub Jelinek @@ -306,20 +317,8 @@ 2004-08-30 Roland McGrath * scripts/extract-abilist.awk: If `lastversion' variable defined, omit ---- glibc-20060302T0855/config.h.in 22 Feb 2006 02:09:03 -0000 1.78 -+++ glibc-20060302T0855-fedora/config.h.in 2 Mar 2006 09:59:02 -0000 1.70.2.5 -@@ -200,6 +200,9 @@ - /* Define if your assembler and linker support R_PPC_REL16* relocs. */ - #undef HAVE_ASM_PPC_REL16 - -+/* Define if your compiler defaults to -msecure-plt mode on ppc. */ -+#undef HAVE_PPC_SECURE_PLT -+ - /* Define if __stack_chk_guard canary should be randomized at program startup. */ - #undef ENABLE_STACKGUARD_RANDOMIZE - ---- glibc-20060302T0855/csu/elf-init.c 5 Nov 2005 17:41:38 -0000 1.8 -+++ glibc-20060302T0855-fedora/csu/elf-init.c 15 Nov 2005 09:54:10 -0000 1.3.2.6 +--- glibc-20060306T0720/csu/elf-init.c 5 Nov 2005 17:41:38 -0000 1.8 ++++ glibc-20060306T0720-fedora/csu/elf-init.c 15 Nov 2005 09:54:10 -0000 1.3.2.6 @@ -49,6 +49,23 @@ extern void (*__init_array_end []) (int, extern void (*__fini_array_start []) (void) attribute_hidden; extern void (*__fini_array_end []) (void) attribute_hidden; @@ -344,8 +343,8 @@ /* These function symbols are provided for the .init/.fini section entry points automagically by the linker. */ ---- glibc-20060302T0855/debug/tst-chk1.c 22 Aug 2005 15:12:34 -0000 1.14 -+++ glibc-20060302T0855-fedora/debug/tst-chk1.c 24 Aug 2005 07:23:26 -0000 1.1.2.15 +--- glibc-20060306T0720/debug/tst-chk1.c 22 Aug 2005 15:12:34 -0000 1.14 ++++ glibc-20060306T0720-fedora/debug/tst-chk1.c 24 Aug 2005 07:23:26 -0000 1.1.2.15 @@ -17,6 +17,9 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ @@ -374,8 +373,8 @@ # define O 0 #else # define O 1 ---- glibc-20060302T0855/elf/check-textrel.c 12 Jan 2006 00:23:10 -0000 1.7 -+++ glibc-20060302T0855-fedora/elf/check-textrel.c 2 Mar 2006 09:59:03 -0000 1.5.2.2 +--- glibc-20060306T0720/elf/check-textrel.c 2 Mar 2006 18:40:46 -0000 1.9 ++++ glibc-20060306T0720-fedora/elf/check-textrel.c 2 Mar 2006 09:59:03 -0000 1.5.2.2 @@ -18,6 +18,7 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ @@ -384,24 +383,8 @@ #include #include #include -@@ -88,7 +89,15 @@ AB(handle_file) (const char *fname, int - { - printf ("%s: segment %zu is executable and writable\n", - fname, cnt); -+#if !defined __sparc__ \ -+ && !defined __alpha__ \ -+ && (!defined __powerpc__ || defined __powerpc64__ || defined HAVE_PPC_SECURE_PLT) -+ /* sparc, sparc64, alpha and powerpc32 (the last one only when using -+ -mbss-plt) are expected to have PF_X | PF_W segment containing .plt -+ section, it is part of their ABI. It is bad security wise, nevertheless -+ this test shouldn't fail because of this. */ - return 1; -+#endif - } - - if (dynphdr == NULL) ---- glibc-20060302T0855/elf/ldconfig.c 1 Jan 2006 19:15:56 -0000 1.52 -+++ glibc-20060302T0855-fedora/elf/ldconfig.c 2 Jan 2006 10:52:50 -0000 1.47.2.7 +--- glibc-20060306T0720/elf/ldconfig.c 1 Jan 2006 19:15:56 -0000 1.52 ++++ glibc-20060306T0720-fedora/elf/ldconfig.c 2 Jan 2006 10:52:50 -0000 1.47.2.7 @@ -693,7 +693,18 @@ search_dir (const struct dir_entry *entr #endif !is_hwcap_platform (direntry->d_name))) @@ -503,8 +486,8 @@ } search_dirs (); ---- glibc-20060302T0855/elf/tst-stackguard1.c 26 Jun 2005 18:08:36 -0000 1.1 -+++ glibc-20060302T0855-fedora/elf/tst-stackguard1.c 8 Aug 2005 21:24:27 -0000 1.1.2.3 +--- glibc-20060306T0720/elf/tst-stackguard1.c 26 Jun 2005 18:08:36 -0000 1.1 ++++ glibc-20060306T0720-fedora/elf/tst-stackguard1.c 8 Aug 2005 21:24:27 -0000 1.1.2.3 @@ -160,17 +160,21 @@ do_test (void) the 16 runs, something is very wrong. */ int ndifferences = 0; @@ -529,8 +512,8 @@ { puts ("stack guard canaries are not randomized enough"); puts ("nor equal to the default canary value"); ---- glibc-20060302T0855/iconv/iconvconfig.c 1 Jan 2006 19:15:56 -0000 1.25 -+++ glibc-20060302T0855-fedora/iconv/iconvconfig.c 2 Jan 2006 10:52:50 -0000 1.19.2.6 +--- glibc-20060306T0720/iconv/iconvconfig.c 1 Jan 2006 19:15:56 -0000 1.25 ++++ glibc-20060306T0720-fedora/iconv/iconvconfig.c 2 Jan 2006 10:52:50 -0000 1.19.2.6 @@ -1011,6 +1011,34 @@ next_prime (uint32_t seed) module name offset (following last entry with step count 0) @@ -607,8 +590,8 @@ /* Open the output file. */ if (output_file == NULL) { ---- glibc-20060302T0855/include/features.h 5 Jan 2006 12:25:35 -0000 1.42 -+++ glibc-20060302T0855-fedora/include/features.h 6 Jan 2006 09:23:23 -0000 1.35.2.11 +--- glibc-20060306T0720/include/features.h 5 Jan 2006 12:25:35 -0000 1.42 ++++ glibc-20060306T0720-fedora/include/features.h 6 Jan 2006 09:23:23 -0000 1.35.2.11 @@ -275,7 +275,13 @@ #endif @@ -624,16 +607,16 @@ # if _FORTIFY_SOURCE > 1 # define __USE_FORTIFY_LEVEL 2 # else ---- glibc-20060302T0855/include/bits/stdlib-ldbl.h 1 Jan 1970 00:00:00 -0000 -+++ glibc-20060302T0855-fedora/include/bits/stdlib-ldbl.h 1 Feb 2006 09:30:43 -0000 1.1.2.1 +--- glibc-20060306T0720/include/bits/stdlib-ldbl.h 1 Jan 1970 00:00:00 -0000 ++++ glibc-20060306T0720-fedora/include/bits/stdlib-ldbl.h 1 Feb 2006 09:30:43 -0000 1.1.2.1 @@ -0,0 +1 @@ +#include ---- glibc-20060302T0855/include/bits/wchar-ldbl.h 1 Jan 1970 00:00:00 -0000 -+++ glibc-20060302T0855-fedora/include/bits/wchar-ldbl.h 1 Feb 2006 09:30:43 -0000 1.1.2.1 +--- glibc-20060306T0720/include/bits/wchar-ldbl.h 1 Jan 1970 00:00:00 -0000 ++++ glibc-20060306T0720-fedora/include/bits/wchar-ldbl.h 1 Feb 2006 09:30:43 -0000 1.1.2.1 @@ -0,0 +1 @@ +#include ---- glibc-20060302T0855/intl/locale.alias 4 Dec 2003 07:57:47 -0000 1.23 -+++ glibc-20060302T0855-fedora/intl/locale.alias 22 Sep 2004 21:20:53 -0000 1.23.2.1 +--- glibc-20060306T0720/intl/locale.alias 4 Dec 2003 07:57:47 -0000 1.23 ++++ glibc-20060306T0720-fedora/intl/locale.alias 22 Sep 2004 21:20:53 -0000 1.23.2.1 @@ -58,8 +58,6 @@ korean ko_KR.eucKR korean.euc ko_KR.eucKR ko_KR ko_KR.eucKR @@ -643,8 +626,8 @@ norwegian nb_NO.ISO-8859-1 nynorsk nn_NO.ISO-8859-1 polish pl_PL.ISO-8859-2 ---- glibc-20060302T0855/libio/stdio.h 16 Jan 2006 20:12:21 -0000 1.86 -+++ glibc-20060302T0855-fedora/libio/stdio.h 30 Jan 2006 09:29:46 -0000 1.78.2.8 +--- glibc-20060306T0720/libio/stdio.h 16 Jan 2006 20:12:21 -0000 1.86 ++++ glibc-20060306T0720-fedora/libio/stdio.h 30 Jan 2006 09:29:46 -0000 1.78.2.8 @@ -142,10 +142,12 @@ typedef _G_fpos64_t fpos64_t; extern struct _IO_FILE *stdin; /* Standard input stream. */ extern struct _IO_FILE *stdout; /* Standard output stream. */ @@ -658,8 +641,8 @@ __BEGIN_NAMESPACE_STD /* Remove file FILENAME. */ ---- glibc-20060302T0855/libio/bits/stdio2.h 19 Mar 2005 00:14:58 -0000 1.4 -+++ glibc-20060302T0855-fedora/libio/bits/stdio2.h 27 Jun 2005 13:04:16 -0000 1.1.2.6 +--- glibc-20060306T0720/libio/bits/stdio2.h 19 Mar 2005 00:14:58 -0000 1.4 ++++ glibc-20060306T0720-fedora/libio/bits/stdio2.h 27 Jun 2005 13:04:16 -0000 1.1.2.6 @@ -61,14 +61,25 @@ extern int __vfprintf_chk (FILE *__restr extern int __vprintf_chk (int __flag, __const char *__restrict __format, _G_va_list __ap); @@ -690,8 +673,8 @@ #endif ---- glibc-20060302T0855/locale/iso-4217.def 23 Sep 2005 19:07:54 -0000 1.18 -+++ glibc-20060302T0855-fedora/locale/iso-4217.def 3 Oct 2005 20:44:15 -0000 1.15.2.3 +--- glibc-20060306T0720/locale/iso-4217.def 23 Sep 2005 19:07:54 -0000 1.18 ++++ glibc-20060306T0720-fedora/locale/iso-4217.def 3 Oct 2005 20:44:15 -0000 1.15.2.3 @@ -8,6 +8,7 @@ * * !!! The list has to be sorted !!! @@ -783,8 +766,8 @@ DEFINE_INT_CURR("PYG") /* Paraguay Guarani */ DEFINE_INT_CURR("QAR") /* Qatar Rial */ DEFINE_INT_CURR("ROL") /* Romanian Leu */ ---- glibc-20060302T0855/locale/programs/3level.h 7 Dec 2005 05:47:27 -0000 1.6 -+++ glibc-20060302T0855-fedora/locale/programs/3level.h 19 Dec 2005 12:11:15 -0000 1.5.2.2 +--- glibc-20060306T0720/locale/programs/3level.h 7 Dec 2005 05:47:27 -0000 1.6 ++++ glibc-20060306T0720-fedora/locale/programs/3level.h 19 Dec 2005 12:11:15 -0000 1.5.2.2 @@ -202,6 +202,42 @@ CONCAT(TABLE,_iterate) (struct TABLE *t, } } @@ -828,8 +811,8 @@ #endif #ifndef NO_FINALIZE ---- glibc-20060302T0855/localedata/Makefile 25 Sep 2005 17:01:12 -0000 1.102 -+++ glibc-20060302T0855-fedora/localedata/Makefile 3 Oct 2005 20:44:15 -0000 1.101.2.2 +--- glibc-20060306T0720/localedata/Makefile 25 Sep 2005 17:01:12 -0000 1.102 ++++ glibc-20060306T0720-fedora/localedata/Makefile 3 Oct 2005 20:44:15 -0000 1.101.2.2 @@ -222,6 +222,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-lo echo -n '...'; \ input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \ @@ -838,8 +821,8 @@ -i locales/$$input -c -f charmaps/$$charset \ $(addprefix --prefix=,$(install_root)) $$locale; \ echo ' done'; \ ---- glibc-20060302T0855/localedata/SUPPORTED 5 Nov 2005 16:25:49 -0000 1.87 -+++ glibc-20060302T0855-fedora/localedata/SUPPORTED 15 Nov 2005 08:21:56 -0000 1.71.2.8 +--- glibc-20060306T0720/localedata/SUPPORTED 5 Nov 2005 16:25:49 -0000 1.87 ++++ glibc-20060306T0720-fedora/localedata/SUPPORTED 15 Nov 2005 08:21:56 -0000 1.71.2.8 @@ -69,6 +69,7 @@ cy_GB.UTF-8/UTF-8 \ cy_GB/ISO-8859-14 \ da_DK.UTF-8/UTF-8 \ @@ -881,8 +864,8 @@ ta_IN/UTF-8 \ te_IN/UTF-8 \ tg_TJ.UTF-8/UTF-8 \ ---- glibc-20060302T0855/localedata/locales/cy_GB 28 Sep 2004 04:37:33 -0000 1.4 -+++ glibc-20060302T0855-fedora/localedata/locales/cy_GB 29 Sep 2004 08:48:23 -0000 1.3.2.2 +--- glibc-20060306T0720/localedata/locales/cy_GB 28 Sep 2004 04:37:33 -0000 1.4 ++++ glibc-20060306T0720-fedora/localedata/locales/cy_GB 29 Sep 2004 08:48:23 -0000 1.3.2.2 @@ -248,8 +248,11 @@ mon "" d_fmt "" @@ -897,8 +880,8 @@ END LC_TIME LC_MESSAGES ---- glibc-20060302T0855/localedata/locales/en_GB 31 Oct 2004 23:42:26 -0000 1.12 -+++ glibc-20060302T0855-fedora/localedata/locales/en_GB 2 Nov 2004 12:25:47 -0000 1.10.2.2 +--- glibc-20060306T0720/localedata/locales/en_GB 31 Oct 2004 23:42:26 -0000 1.12 ++++ glibc-20060306T0720-fedora/localedata/locales/en_GB 2 Nov 2004 12:25:47 -0000 1.10.2.2 @@ -112,8 +112,8 @@ mon "" d_fmt "" @@ -910,8 +893,8 @@ date_fmt "/ / " ---- glibc-20060302T0855/localedata/locales/no_NO 1 Jan 1970 00:00:00 -0000 -+++ glibc-20060302T0855-fedora/localedata/locales/no_NO 22 Sep 2004 21:21:01 -0000 1.11.2.1 +--- glibc-20060306T0720/localedata/locales/no_NO 1 Jan 1970 00:00:00 -0000 ++++ glibc-20060306T0720-fedora/localedata/locales/no_NO 22 Sep 2004 21:21:01 -0000 1.11.2.1 @@ -0,0 +1,69 @@ +escape_char / +comment_char % @@ -982,8 +965,8 @@ +LC_ADDRESS +copy "nb_NO" +END LC_ADDRESS ---- glibc-20060302T0855/localedata/locales/zh_TW 31 Oct 2004 23:42:28 -0000 1.7 -+++ glibc-20060302T0855-fedora/localedata/locales/zh_TW 2 Nov 2004 12:25:57 -0000 1.5.2.2 +--- glibc-20060306T0720/localedata/locales/zh_TW 31 Oct 2004 23:42:28 -0000 1.7 ++++ glibc-20060306T0720-fedora/localedata/locales/zh_TW 2 Nov 2004 12:25:57 -0000 1.5.2.2 @@ -1,7 +1,7 @@ comment_char % escape_char / @@ -1011,70 +994,8 @@ revision "0.2" date "2000-08-02" % ---- glibc-20060302T0855/malloc/malloc.c 21 Nov 2005 15:43:03 -0000 1.155 -+++ glibc-20060302T0855-fedora/malloc/malloc.c 2 Mar 2006 09:59:46 -0000 1.127.2.23 -@@ -188,7 +188,8 @@ - Changing default word sizes: - - INTERNAL_SIZE_T size_t -- MALLOC_ALIGNMENT 2 * sizeof(INTERNAL_SIZE_T) -+ MALLOC_ALIGNMENT MAX (2 * sizeof(INTERNAL_SIZE_T), -+ __alignof__ (long double)) - - Configuration and functionality options: - -@@ -380,7 +381,8 @@ extern "C" { - - - #ifndef MALLOC_ALIGNMENT --#define MALLOC_ALIGNMENT (2 * SIZE_SZ) -+#define MALLOC_ALIGNMENT (2 * SIZE_SZ < __alignof__ (long double) \ -+ ? __alignof__ (long double) : 2 * SIZE_SZ) - #endif - - /* The corresponding bit mask value */ -@@ -1807,7 +1809,11 @@ nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+- - - /* Check if m has acceptable alignment */ - --#define aligned_OK(m) (((unsigned long)((m)) & (MALLOC_ALIGN_MASK)) == 0) -+#define aligned_OK(m) (((unsigned long)(m) & MALLOC_ALIGN_MASK) == 0) -+ -+#define misaligned_chunk(p) \ -+ ((uintptr_t)(MALLOC_ALIGNMENT == 2 * SIZE_SZ ? (p) : chunk2mem (p)) \ -+ & MALLOC_ALIGN_MASK) - - - /* -@@ -3468,7 +3474,7 @@ public_rEALLOc(Void_t* oldmem, size_t by - Therefore we can exclude some size values which might appear - here by accident or by "design" from some intruder. */ - if (__builtin_expect ((uintptr_t) oldp > (uintptr_t) -oldsize, 0) -- || __builtin_expect ((uintptr_t) oldp & MALLOC_ALIGN_MASK, 0)) -+ || __builtin_expect (misaligned_chunk (oldp), 0)) - { - malloc_printerr (check_action, "realloc(): invalid pointer", oldmem); - return NULL; -@@ -4282,7 +4288,7 @@ _int_free(mstate av, Void_t* mem) - Therefore we can exclude some size values which might appear - here by accident or by "design" from some intruder. */ - if (__builtin_expect ((uintptr_t) p > (uintptr_t) -size, 0) -- || __builtin_expect ((uintptr_t) p & MALLOC_ALIGN_MASK, 0)) -+ || __builtin_expect (misaligned_chunk (p), 0)) - { - errstr = "free(): invalid pointer"; - errout: -@@ -4628,7 +4634,7 @@ _int_realloc(mstate av, Void_t* oldmem, - oldsize = chunksize(oldp); - - /* Simple tests for old block integrity. */ -- if (__builtin_expect ((uintptr_t) oldp & MALLOC_ALIGN_MASK, 0)) -+ if (__builtin_expect (misaligned_chunk (oldp), 0)) - { - errstr = "realloc(): invalid pointer"; - errout: ---- glibc-20060302T0855/malloc/mcheck.c 8 Sep 2004 20:36:02 -0000 1.18 -+++ glibc-20060302T0855-fedora/malloc/mcheck.c 20 Dec 2005 10:59:21 -0000 1.18.2.1 +--- glibc-20060306T0720/malloc/mcheck.c 8 Sep 2004 20:36:02 -0000 1.18 ++++ glibc-20060306T0720-fedora/malloc/mcheck.c 20 Dec 2005 10:59:21 -0000 1.18.2.1 @@ -24,9 +24,25 @@ # include # include @@ -1150,8 +1071,8 @@ old_free_hook = __free_hook; __free_hook = freehook; ---- glibc-20060302T0855/malloc/mtrace.c 14 Sep 2004 04:24:46 -0000 1.41 -+++ glibc-20060302T0855-fedora/malloc/mtrace.c 20 Dec 2005 10:59:21 -0000 1.41.2.1 +--- glibc-20060306T0720/malloc/mtrace.c 14 Sep 2004 04:24:46 -0000 1.41 ++++ glibc-20060306T0720-fedora/malloc/mtrace.c 20 Dec 2005 10:59:21 -0000 1.41.2.1 @@ -40,6 +40,18 @@ # include # define setvbuf(s, b, f, l) INTUSE(_IO_setvbuf) (s, b, f, l) @@ -1207,9 +1128,9 @@ __memalign_hook = tr_memalignhook; __malloc_hook = tr_mallochook; ---- glibc-20060302T0855/nptl/ChangeLog 2 Mar 2006 00:28:24 -0000 1.876 -+++ glibc-20060302T0855-fedora/nptl/ChangeLog 2 Mar 2006 09:06:17 -0000 1.706.2.82 -@@ -711,6 +711,15 @@ +--- glibc-20060306T0720/nptl/ChangeLog 6 Mar 2006 01:41:08 -0000 1.879 ++++ glibc-20060306T0720-fedora/nptl/ChangeLog 6 Mar 2006 07:29:58 -0000 1.706.2.83 +@@ -731,6 +731,15 @@ Use __sigfillset. Document that sigfillset does the right thing wrt to SIGSETXID. @@ -1225,7 +1146,7 @@ 2005-07-11 Jakub Jelinek [BZ #1102] -@@ -1447,6 +1456,11 @@ +@@ -1467,6 +1476,11 @@ Move definition inside libpthread, libc, librt check. Provide definition for rtld. @@ -1237,7 +1158,7 @@ 2004-09-02 Ulrich Drepper * sysdeps/alpha/jmpbuf-unwind.h: Define __libc_unwind_longjmp. -@@ -3521,6 +3535,11 @@ +@@ -3541,6 +3555,11 @@ * Makefile [$(build-shared) = yes] (tests): Depend on $(test-modules). @@ -1249,8 +1170,8 @@ 2003-07-25 Jakub Jelinek * tst-cancel17.c (do_test): Check if aio_cancel failed. ---- glibc-20060302T0855/nptl/Makefile 28 Feb 2006 09:36:05 -0000 1.179 -+++ glibc-20060302T0855-fedora/nptl/Makefile 1 Mar 2006 06:55:40 -0000 1.157.2.19 +--- glibc-20060306T0720/nptl/Makefile 28 Feb 2006 09:36:05 -0000 1.179 ++++ glibc-20060306T0720-fedora/nptl/Makefile 1 Mar 2006 06:55:40 -0000 1.157.2.19 @@ -519,15 +519,19 @@ $(addprefix $(objpfx), \ $(tests) $(xtests) $(test-srcs))): $(objpfx)libpthread.so \ $(objpfx)libpthread_nonshared.a @@ -1273,8 +1194,8 @@ else $(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a endif ---- glibc-20060302T0855/nptl/tst-stackguard1.c 26 Jun 2005 17:44:14 -0000 1.1 -+++ glibc-20060302T0855-fedora/nptl/tst-stackguard1.c 8 Aug 2005 21:24:28 -0000 1.1.2.3 +--- glibc-20060306T0720/nptl/tst-stackguard1.c 26 Jun 2005 17:44:14 -0000 1.1 ++++ glibc-20060306T0720-fedora/nptl/tst-stackguard1.c 8 Aug 2005 21:24:28 -0000 1.1.2.3 @@ -190,17 +190,21 @@ do_test (void) the 16 runs, something is very wrong. */ int ndifferences = 0; @@ -1299,8 +1220,8 @@ { puts ("stack guard canaries are not randomized enough"); puts ("nor equal to the default canary value"); ---- glibc-20060302T0855/nptl/sysdeps/unix/sysv/linux/kernel-features.h 1 Jan 1970 00:00:00 -0000 -+++ glibc-20060302T0855-fedora/nptl/sysdeps/unix/sysv/linux/kernel-features.h 22 Sep 2004 21:21:02 -0000 1.1.2.1 +--- glibc-20060306T0720/nptl/sysdeps/unix/sysv/linux/kernel-features.h 1 Jan 1970 00:00:00 -0000 ++++ glibc-20060306T0720-fedora/nptl/sysdeps/unix/sysv/linux/kernel-features.h 22 Sep 2004 21:21:02 -0000 1.1.2.1 @@ -0,0 +1,6 @@ +#include_next + @@ -1308,8 +1229,1222 @@ +#ifndef __ASSUME_CLONE_THREAD_FLAGS +# define __ASSUME_CLONE_THREAD_FLAGS 1 +#endif ---- glibc-20060302T0855/nscd/connections.c 3 Jan 2006 21:26:28 -0000 1.82 -+++ glibc-20060302T0855-fedora/nscd/connections.c 4 Jan 2006 07:58:21 -0000 1.55.2.19 +--- glibc-20060306T0720/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 17 Feb 2006 08:05:32 -0000 1.29 ++++ glibc-20060306T0720-fedora/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 6 Mar 2006 07:34:44 -0000 1.25.2.4 +@@ -65,6 +65,88 @@ + #define BUSY_WAIT_NOP asm ("rep; nop") + + ++#ifdef USE_CFA_VAL_EXPRESSION ++# define LLL_STUB_UNWIND_INFO_START \ ++ ".section .eh_frame,\"a\",@progbits\n" \ ++"5:\t" ".long 7f-6f # Length of Common Information Entry\n" \ ++"6:\t" ".long 0x0 # CIE Identifier Tag\n\t" \ ++ ".byte 0x1 # CIE Version\n\t" \ ++ ".ascii \"zR\\0\" # CIE Augmentation\n\t" \ ++ ".uleb128 0x1 # CIE Code Alignment Factor\n\t" \ ++ ".sleb128 -4 # CIE Data Alignment Factor\n\t" \ ++ ".byte 0x8 # CIE RA Column\n\t" \ ++ ".uleb128 0x1 # Augmentation size\n\t" \ ++ ".byte 0x1b # FDE Encoding (pcrel sdata4)\n\t" \ ++ ".byte 0xc # DW_CFA_def_cfa\n\t" \ ++ ".uleb128 0x4\n\t" \ ++ ".uleb128 0x0\n\t" \ ++ ".align 4\n" \ ++"7:\t" ".long 17f-8f # FDE Length\n" \ ++"8:\t" ".long 8b-5b # FDE CIE offset\n\t" \ ++ ".long 1b-. # FDE initial location\n\t" \ ++ ".long 4b-1b # FDE address range\n\t" \ ++ ".uleb128 0x0 # Augmentation size\n\t" \ ++ ".byte 0x16 # DW_CFA_val_expression\n\t" \ ++ ".uleb128 0x8\n\t" \ ++ ".uleb128 10f-9f\n" \ ++"9:\t" ".byte 0x78 # DW_OP_breg8\n\t" \ ++ ".sleb128 3b-1b\n" ++# define LLL_STUB_UNWIND_INFO_END \ ++ ".byte 0x16 # DW_CFA_val_expression\n\t" \ ++ ".uleb128 0x8\n\t" \ ++ ".uleb128 12f-11f\n" \ ++"11:\t" ".byte 0x78 # DW_OP_breg8\n\t" \ ++ ".sleb128 3b-2b\n" \ ++"12:\t" ".byte 0x40 + (3b-2b-1) # DW_CFA_advance_loc\n\t" \ ++ ".byte 0x16 # DW_CFA_val_expression\n\t" \ ++ ".uleb128 0x8\n\t" \ ++ ".uleb128 16f-13f\n" \ ++"13:\t" ".byte 0x78 # DW_OP_breg8\n\t" \ ++ ".sleb128 15f-14f\n\t" \ ++ ".byte 0x0d # DW_OP_const4s\n" \ ++"14:\t" ".4byte 3b-.\n\t" \ ++ ".byte 0x1c # DW_OP_minus\n\t" \ ++ ".byte 0x0d # DW_OP_const4s\n" \ ++"15:\t" ".4byte 18f-.\n\t" \ ++ ".byte 0x22 # DW_OP_plus\n" \ ++"16:\t" ".align 4\n" \ ++"17:\t" ".previous\n" ++ ++/* Unwind info for ++ 1: lea ..., ... ++ 2: call ... ++ 3: jmp 18f ++ 4: ++ snippet. */ ++# define LLL_STUB_UNWIND_INFO_3 \ ++LLL_STUB_UNWIND_INFO_START \ ++"10:\t" ".byte 0x40 + (2b-1b) # DW_CFA_advance_loc\n\t" \ ++LLL_STUB_UNWIND_INFO_END ++ ++/* Unwind info for ++ 1: lea ..., ... ++ 0: movl ..., ... ++ 2: call ... ++ 3: jmp 18f ++ 4: ++ snippet. */ ++# define LLL_STUB_UNWIND_INFO_4 \ ++LLL_STUB_UNWIND_INFO_START \ ++"10:\t" ".byte 0x40 + (0b-1b) # DW_CFA_advance_loc\n\t" \ ++ ".byte 0x16 # DW_CFA_val_expression\n\t" \ ++ ".uleb128 0x8\n\t" \ ++ ".uleb128 20f-19f\n" \ ++"19:\t" ".byte 0x78 # DW_OP_breg8\n\t" \ ++ ".sleb128 3b-0b\n" \ ++"20:\t" ".byte 0x40 + (2b-0b) # DW_CFA_advance_loc\n\t" \ ++LLL_STUB_UNWIND_INFO_END ++ ++#else ++# define LLL_STUB_UNWIND_INFO_3 ++# define LLL_STUB_UNWIND_INFO_4 ++#endif ++ ++ + #define lll_futex_wait(futex, val) \ + ({ \ + int __status; \ +@@ -165,13 +247,14 @@ extern int __lll_mutex_unlock_wake (int + "jnz _L_mutex_lock_%=\n\t" \ + ".subsection 1\n\t" \ + ".type _L_mutex_lock_%=,@function\n" \ +- "_L_mutex_lock_%=:\n\t" \ +- "leal %2, %%ecx\n\t" \ +- "call __lll_mutex_lock_wait\n\t" \ +- "jmp 1f\n\t" \ +- ".size _L_mutex_lock_%=,.-_L_mutex_lock_%=\n" \ ++ "_L_mutex_lock_%=:\n" \ ++ "1:\tleal %2, %%ecx\n" \ ++ "2:\tcall __lll_mutex_lock_wait\n" \ ++ "3:\tjmp 18f\n" \ ++ "4:\t.size _L_mutex_lock_%=, 4b-1b\n\t" \ + ".previous\n" \ +- "1:" \ ++ LLL_STUB_UNWIND_INFO_3 \ ++ "18:" \ + : "=a" (ignore1), "=c" (ignore2), "=m" (futex) \ + : "0" (0), "1" (1), "m" (futex) \ + : "memory"); }) +@@ -180,16 +263,17 @@ extern int __lll_mutex_unlock_wake (int + #define lll_robust_mutex_lock(futex, id) \ + ({ int result, ignore; \ + __asm __volatile (LOCK_INSTR "cmpxchgl %1, %2\n\t" \ +- "jnz _L_mutex_lock_%=\n\t" \ ++ "jnz _L_robust_mutex_lock_%=\n\t" \ + ".subsection 1\n\t" \ +- ".type _L_mutex_lock_%=,@function\n" \ +- "_L_mutex_lock_%=:\n\t" \ +- "leal %2, %%ecx\n\t" \ +- "call __lll_robust_mutex_lock_wait\n\t" \ +- "jmp 1f\n\t" \ +- ".size _L_mutex_lock_%=,.-_L_mutex_lock_%=\n" \ ++ ".type _L_robust_mutex_lock_%=,@function\n" \ ++ "_L_robust_mutex_lock_%=:\n" \ ++ "1:\tleal %2, %%ecx\n" \ ++ "2:\tcall __lll_robust_mutex_lock_wait\n" \ ++ "3:\tjmp 18f\n" \ ++ "4:\t.size _L_robust_mutex_lock_%=, 4b-1b\n\t" \ + ".previous\n" \ +- "1:" \ ++ LLL_STUB_UNWIND_INFO_3 \ ++ "18:" \ + : "=a" (result), "=c" (ignore), "=m" (futex) \ + : "0" (0), "1" (id), "m" (futex) \ + : "memory"); \ +@@ -204,13 +288,14 @@ extern int __lll_mutex_unlock_wake (int + "jnz _L_mutex_cond_lock_%=\n\t" \ + ".subsection 1\n\t" \ + ".type _L_mutex_cond_lock_%=,@function\n" \ +- "_L_mutex_cond_lock_%=:\n\t" \ +- "leal %2, %%ecx\n\t" \ +- "call __lll_mutex_lock_wait\n\t" \ +- "jmp 1f\n\t" \ +- ".size _L_mutex_cond_lock_%=,.-_L_mutex_cond_lock_%=\n" \ ++ "_L_mutex_cond_lock_%=:\n" \ ++ "1:\tleal %2, %%ecx\n" \ ++ "2:\tcall __lll_mutex_lock_wait\n" \ ++ "3:\tjmp 18f\n" \ ++ "4:\t.size _L_mutex_cond_lock_%=, 4b-1b\n\t" \ + ".previous\n" \ +- "1:" \ ++ LLL_STUB_UNWIND_INFO_3 \ ++ "18:" \ + : "=a" (ignore1), "=c" (ignore2), "=m" (futex) \ + : "0" (0), "1" (2), "m" (futex) \ + : "memory"); }) +@@ -219,16 +304,17 @@ extern int __lll_mutex_unlock_wake (int + #define lll_robust_mutex_cond_lock(futex, id) \ + ({ int result, ignore; \ + __asm __volatile (LOCK_INSTR "cmpxchgl %1, %2\n\t" \ +- "jnz _L_mutex_cond_lock_%=\n\t" \ ++ "jnz _L_robust_mutex_cond_lock_%=\n\t" \ + ".subsection 1\n\t" \ +- ".type _L_mutex_cond_lock_%=,@function\n" \ +- "_L_mutex_cond_lock_%=:\n\t" \ +- "leal %2, %%ecx\n\t" \ +- "call __lll_robust_mutex_lock_wait\n\t" \ +- "jmp 1f\n\t" \ +- ".size _L_mutex_cond_lock_%=,.-_L_mutex_cond_lock_%=\n"\ ++ ".type _L_robust_mutex_cond_lock_%=,@function\n" \ ++ "_L_robust_mutex_cond_lock_%=:\n" \ ++ "1:\tleal %2, %%ecx\n" \ ++ "2:\tcall __lll_robust_mutex_lock_wait\n" \ ++ "3:\tjmp 18f\n" \ ++ "4:\t.size _L_robust_mutex_cond_lock_%=, 4b-1b\n\t" \ + ".previous\n" \ +- "1:" \ ++ LLL_STUB_UNWIND_INFO_3 \ ++ "18:" \ + : "=a" (result), "=c" (ignore), "=m" (futex) \ + : "0" (0), "1" (id | FUTEX_WAITERS), "m" (futex) \ + : "memory"); \ +@@ -241,14 +327,15 @@ extern int __lll_mutex_unlock_wake (int + "jnz _L_mutex_timedlock_%=\n\t" \ + ".subsection 1\n\t" \ + ".type _L_mutex_timedlock_%=,@function\n" \ +- "_L_mutex_timedlock_%=:\n\t" \ +- "leal %3, %%ecx\n\t" \ +- "movl %7, %%edx\n\t" \ +- "call __lll_mutex_timedlock_wait\n\t" \ +- "jmp 1f\n\t" \ +- ".size _L_mutex_timedlock_%=,.-_L_mutex_timedlock_%=\n"\ ++ "_L_mutex_timedlock_%=:\n" \ ++ "1:\tleal %3, %%ecx\n" \ ++ "0:\tmovl %7, %%edx\n" \ ++ "2:\tcall __lll_mutex_timedlock_wait\n" \ ++ "3:\tjmp 18f\n" \ ++ "4:\t.size _L_mutex_timedlock_%=, 4b-1b\n\t" \ + ".previous\n" \ +- "1:" \ ++ LLL_STUB_UNWIND_INFO_4 \ ++ "18:" \ + : "=a" (result), "=c" (ignore1), "=&d" (ignore2), \ + "=m" (futex) \ + : "0" (0), "1" (1), "m" (futex), "m" (timeout) \ +@@ -259,17 +346,18 @@ extern int __lll_mutex_unlock_wake (int + #define lll_robust_mutex_timedlock(futex, timeout, id) \ + ({ int result, ignore1, ignore2; \ + __asm __volatile (LOCK_INSTR "cmpxchgl %1, %3\n\t" \ +- "jnz _L_mutex_timedlock_%=\n\t" \ ++ "jnz _L_robust_mutex_timedlock_%=\n\t" \ + ".subsection 1\n\t" \ +- ".type _L_mutex_timedlock_%=,@function\n" \ +- "_L_mutex_timedlock_%=:\n\t" \ +- "leal %3, %%ecx\n\t" \ +- "movl %7, %%edx\n\t" \ +- "call __lll_robust_mutex_timedlock_wait\n\t" \ +- "jmp 1f\n\t" \ +- ".size _L_mutex_timedlock_%=,.-_L_mutex_timedlock_%=\n"\ ++ ".type _L_robust_mutex_timedlock_%=,@function\n" \ ++ "_L_robust_mutex_timedlock_%=:\n" \ ++ "1:\tleal %3, %%ecx\n" \ ++ "0:\tmovl %7, %%edx\n" \ ++ "2:\tcall __lll_robust_mutex_timedlock_wait\n" \ ++ "3:\tjmp 18f\n" \ ++ "4:\t.size _L_robust_mutex_timedlock_%=, 4b-1b\n\t" \ + ".previous\n" \ +- "1:" \ ++ LLL_STUB_UNWIND_INFO_4 \ ++ "18:" \ + : "=a" (result), "=c" (ignore1), "=&d" (ignore2), \ + "=m" (futex) \ + : "0" (0), "1" (id), "m" (futex), "m" (timeout) \ +@@ -283,13 +371,14 @@ extern int __lll_mutex_unlock_wake (int + "jne _L_mutex_unlock_%=\n\t" \ + ".subsection 1\n\t" \ + ".type _L_mutex_unlock_%=,@function\n" \ +- "_L_mutex_unlock_%=:\n\t" \ +- "leal %0, %%eax\n\t" \ +- "call __lll_mutex_unlock_wake\n\t" \ +- "jmp 1f\n\t" \ +- ".size _L_mutex_unlock_%=,.-_L_mutex_unlock_%=\n" \ ++ "_L_mutex_unlock_%=:\n" \ ++ "1:\tleal %0, %%eax\n" \ ++ "2:\tcall __lll_mutex_unlock_wake\n" \ ++ "3:\tjmp 18f\n" \ ++ "4:\t.size _L_mutex_unlock_%=, 4b-1b\n\t" \ + ".previous\n" \ +- "1:" \ ++ LLL_STUB_UNWIND_INFO_3 \ ++ "18:" \ + : "=m" (futex), "=&a" (ignore) \ + : "m" (futex) \ + : "memory"); }) +@@ -298,16 +387,17 @@ extern int __lll_mutex_unlock_wake (int + #define lll_robust_mutex_unlock(futex) \ + (void) ({ int ignore; \ + __asm __volatile (LOCK_INSTR "andl %2, %0\n\t" \ +- "jne _L_mutex_unlock_%=\n\t" \ ++ "jne _L_robust_mutex_unlock_%=\n\t" \ + ".subsection 1\n\t" \ +- ".type _L_mutex_unlock_%=,@function\n" \ +- "_L_mutex_unlock_%=:\n\t" \ +- "leal %0, %%eax\n\t" \ +- "call __lll_mutex_unlock_wake\n\t" \ +- "jmp 1f\n\t" \ +- ".size _L_mutex_unlock_%=,.-_L_mutex_unlock_%=\n" \ ++ ".type _L_robust_mutex_unlock_%=,@function\n" \ ++ "_L_robust_mutex_unlock_%=:\n\t" \ ++ "1:\tleal %0, %%eax\n" \ ++ "2:\tcall __lll_mutex_unlock_wake\n" \ ++ "3:\tjmp 18f\n" \ ++ "4:\t.size _L_robust_mutex_unlock_%=, 4b-1b\n\t"\ + ".previous\n" \ +- "1:" \ ++ LLL_STUB_UNWIND_INFO_3 \ ++ "18:" \ + : "=m" (futex), "=&a" (ignore) \ + : "i" (FUTEX_WAITERS), "m" (futex) \ + : "memory"); }) +@@ -401,16 +491,17 @@ extern int lll_unlock_wake_cb (int *__fu + "je,pt 0f\n\t" \ + "lock\n" \ + "0:\tcmpxchgl %1, %2\n\t" \ +- "jnz _L_mutex_lock_%=\n\t" \ ++ "jnz _L_lock_%=\n\t" \ + ".subsection 1\n\t" \ +- ".type _L_mutex_lock_%=,@function\n" \ +- "_L_mutex_lock_%=:\n\t" \ +- "leal %2, %%ecx\n\t" \ +- "call __lll_mutex_lock_wait\n\t" \ +- "jmp 1f\n\t" \ +- ".size _L_mutex_lock_%=,.-_L_mutex_lock_%=\n" \ ++ ".type _L_lock_%=,@function\n" \ ++ "_L_lock_%=:\n" \ ++ "1:\tleal %2, %%ecx\n" \ ++ "2:\tcall __lll_mutex_lock_wait\n" \ ++ "3:\tjmp 18f\n" \ ++ "4:\t.size _L_lock_%=, 4b-1b\n\t" \ + ".previous\n" \ +- "1:" \ ++ LLL_STUB_UNWIND_INFO_3 \ ++ "18:" \ + : "=a" (ignore1), "=c" (ignore2), "=m" (futex) \ + : "0" (0), "1" (1), "m" (futex), \ + "i" (offsetof (tcbhead_t, multiple_threads)) \ +@@ -422,17 +513,18 @@ extern int lll_unlock_wake_cb (int *__fu + __asm __volatile ("cmpl $0, %%gs:%P3\n\t" \ + "je,pt 0f\n\t" \ + "lock\n" \ +- "0:\tsubl $1,%0\n\t" \ +- "jne _L_mutex_unlock_%=\n\t" \ ++ "0:\tsubl $1,%0\n\t" \ ++ "jne _L_unlock_%=\n\t" \ + ".subsection 1\n\t" \ +- ".type _L_mutex_unlock_%=,@function\n" \ +- "_L_mutex_unlock_%=:\n\t" \ +- "leal %0, %%eax\n\t" \ +- "call __lll_mutex_unlock_wake\n\t" \ +- "jmp 1f\n\t" \ +- ".size _L_mutex_unlock_%=,.-_L_mutex_unlock_%=\n" \ ++ ".type _L_unlock_%=,@function\n" \ ++ "_L_unlock_%=:\n" \ ++ "1:\tleal %0, %%eax\n" \ ++ "2:\tcall __lll_mutex_unlock_wake\n" \ ++ "3:\tjmp 18f\n\t" \ ++ "4:\t.size _L_unlock_%=, 4b-1b\n\t" \ + ".previous\n" \ +- "1:" \ ++ LLL_STUB_UNWIND_INFO_3 \ ++ "18:" \ + : "=m" (futex), "=&a" (ignore) \ + : "m" (futex), \ + "i" (offsetof (tcbhead_t, multiple_threads)) \ +--- glibc-20060306T0720/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S 1 Oct 2004 10:30:44 -0000 1.14 ++++ glibc-20060306T0720-fedora/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S 6 Mar 2006 07:34:44 -0000 1.13.2.2 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. ++/* Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 2002. + +@@ -41,9 +41,16 @@ + .hidden __lll_mutex_lock_wait + .align 16 + __lll_mutex_lock_wait: ++ cfi_startproc + pushl %edx ++ cfi_adjust_cfa_offset(4) + pushl %ebx ++ cfi_adjust_cfa_offset(4) + pushl %esi ++ cfi_adjust_cfa_offset(4) ++ cfi_offset(%edx, -8) ++ cfi_offset(%ebx, -12) ++ cfi_offset(%esi, -16) + + movl $2, %edx + movl %ecx, %ebx +@@ -63,9 +70,16 @@ __lll_mutex_lock_wait: + jnz,pn 1b + + popl %esi ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%esi) + popl %ebx ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%ebx) + popl %edx ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%edx) + ret ++ cfi_endproc + .size __lll_mutex_lock_wait,.-__lll_mutex_lock_wait + + +@@ -75,17 +89,27 @@ __lll_mutex_lock_wait: + .hidden __lll_mutex_timedlock_wait + .align 16 + __lll_mutex_timedlock_wait: ++ cfi_startproc + /* Check for a valid timeout value. */ + cmpl $1000000000, 4(%edx) + jae 3f + + pushl %edi ++ cfi_adjust_cfa_offset(4) + pushl %esi ++ cfi_adjust_cfa_offset(4) + pushl %ebx ++ cfi_adjust_cfa_offset(4) + pushl %ebp ++ cfi_adjust_cfa_offset(4) ++ cfi_offset(%edi, -8) ++ cfi_offset(%esi, -12) ++ cfi_offset(%ebx, -16) ++ cfi_offset(%ebp, -20) + + /* Stack frame for the timespec and timeval structs. */ + subl $8, %esp ++ cfi_adjust_cfa_offset(8) + + movl %ecx, %ebp + movl %edx, %edi +@@ -140,12 +164,29 @@ __lll_mutex_timedlock_wait: + jnz 7f + + 6: addl $8, %esp ++ cfi_adjust_cfa_offset(-8) + popl %ebp ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%ebp) + popl %ebx ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%ebx) + popl %esi ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%esi) + popl %edi ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%edi) + ret + ++3: movl $EINVAL, %eax ++ ret ++ ++ cfi_adjust_cfa_offset(24) ++ cfi_offset(%edi, -8) ++ cfi_offset(%esi, -12) ++ cfi_offset(%ebx, -16) ++ cfi_offset(%ebp, -20) + /* Check whether the time expired. */ + 7: cmpl $-ETIMEDOUT, %ecx + je 5f +@@ -157,11 +198,9 @@ __lll_mutex_timedlock_wait: + jz 6b + jmp 1b + +-3: movl $EINVAL, %eax +- ret +- + 5: movl $ETIMEDOUT, %eax + jmp 6b ++ cfi_endproc + .size __lll_mutex_timedlock_wait,.-__lll_mutex_timedlock_wait + #endif + +@@ -200,9 +239,16 @@ lll_unlock_wake_cb: + .hidden __lll_mutex_unlock_wake + .align 16 + __lll_mutex_unlock_wake: ++ cfi_startproc + pushl %ebx ++ cfi_adjust_cfa_offset(4) + pushl %ecx ++ cfi_adjust_cfa_offset(4) + pushl %edx ++ cfi_adjust_cfa_offset(4) ++ cfi_offset(%ebx, -8) ++ cfi_offset(%ecx, -12) ++ cfi_offset(%edx, -16) + + movl %eax, %ebx + movl $0, (%eax) +@@ -212,9 +258,16 @@ __lll_mutex_unlock_wake: + ENTER_KERNEL + + popl %edx ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%edx) + popl %ecx ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%ecx) + popl %ebx ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%ebx) + ret ++ cfi_endproc + .size __lll_mutex_unlock_wake,.-__lll_mutex_unlock_wake + + +--- glibc-20060306T0720/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevelrobustlock.S 2 Mar 2006 00:25:56 -0000 1.2 ++++ glibc-20060306T0720-fedora/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevelrobustlock.S 6 Mar 2006 07:34:44 -0000 1.1.2.3 +@@ -44,9 +44,16 @@ + .hidden __lll_robust_mutex_lock_wait + .align 16 + __lll_robust_mutex_lock_wait: ++ cfi_startproc + pushl %edx ++ cfi_adjust_cfa_offset(4) + pushl %ebx ++ cfi_adjust_cfa_offset(4) + pushl %esi ++ cfi_adjust_cfa_offset(4) ++ cfi_offset(%edx, -8) ++ cfi_offset(%ebx, -12) ++ cfi_offset(%esi, -16) + + movl %ecx, %ebx + xorl %esi, %esi /* No timeout. */ +@@ -81,9 +88,16 @@ __lll_robust_mutex_lock_wait: + /* NB: %eax == 0 */ + + 3: popl %esi ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%esi) + popl %ebx ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%ebx) + popl %edx ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%edx) + ret ++ cfi_endproc + .size __lll_robust_mutex_lock_wait,.-__lll_robust_mutex_lock_wait + + +@@ -92,17 +106,27 @@ __lll_robust_mutex_lock_wait: + .hidden __lll_robust_mutex_timedlock_wait + .align 16 + __lll_robust_mutex_timedlock_wait: ++ cfi_startproc + /* Check for a valid timeout value. */ + cmpl $1000000000, 4(%edx) + jae 3f + + pushl %edi ++ cfi_adjust_cfa_offset(4) + pushl %esi ++ cfi_adjust_cfa_offset(4) + pushl %ebx ++ cfi_adjust_cfa_offset(4) + pushl %ebp ++ cfi_adjust_cfa_offset(4) ++ cfi_offset(%edi, -8) ++ cfi_offset(%esi, -12) ++ cfi_offset(%ebx, -16) ++ cfi_offset(%ebp, -20) + + /* Stack frame for the timespec and timeval structs. */ + subl $12, %esp ++ cfi_adjust_cfa_offset(12) + + movl %ecx, %ebp + movl %edx, %edi +@@ -170,19 +194,34 @@ __lll_robust_mutex_timedlock_wait: + jnz 7f + + 6: addl $12, %esp ++ cfi_adjust_cfa_offset(-12) + popl %ebp ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%ebp) + popl %ebx ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%ebx) + popl %esi ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%esi) + popl %edi ++ cfi_adjust_cfa_offset(-4) ++ cfi_restore(%edi) + ret + ++3: movl $EINVAL, %eax ++ ret ++ ++ cfi_adjust_cfa_offset(28) ++ cfi_offset(%edi, -8) ++ cfi_offset(%esi, -12) ++ cfi_offset(%ebx, -16) ++ cfi_offset(%ebp, -20) + /* Check whether the time expired. */ + 7: cmpl $-ETIMEDOUT, %ecx + jne 1b + + 8: movl $ETIMEDOUT, %eax + jmp 6b +- +-3: movl $EINVAL, %eax +- ret ++ cfi_endproc + .size __lll_robust_mutex_timedlock_wait,.-__lll_robust_mutex_timedlock_wait +--- glibc-20060306T0720/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S 31 Mar 2005 10:00:15 -0000 1.14 ++++ glibc-20060306T0720-fedora/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S 6 Mar 2006 07:33:30 -0000 1.11.2.4 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. ++/* Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 2002. + +@@ -43,9 +43,13 @@ + .hidden __lll_mutex_lock_wait + .align 16 + __lll_mutex_lock_wait: ++ cfi_startproc + pushq %r10 ++ cfi_adjust_cfa_offset(8) + pushq %rdx +- ++ cfi_adjust_cfa_offset(8) ++ cfi_offset(%r10, -16) ++ cfi_offset(%rdx, -24) + xorq %r10, %r10 /* No timeout. */ + movl $2, %edx + #if FUTEX_WAIT == 0 +@@ -67,8 +71,13 @@ __lll_mutex_lock_wait: + jnz 1b + + popq %rdx ++ cfi_adjust_cfa_offset(-8) ++ cfi_restore(%rdx) + popq %r10 ++ cfi_adjust_cfa_offset(-8) ++ cfi_restore(%r10) + retq ++ cfi_endproc + .size __lll_mutex_lock_wait,.-__lll_mutex_lock_wait + + +@@ -78,18 +87,30 @@ __lll_mutex_lock_wait: + .hidden __lll_mutex_timedlock_wait + .align 16 + __lll_mutex_timedlock_wait: ++ cfi_startproc + /* Check for a valid timeout value. */ + cmpq $1000000000, 8(%rdx) + jae 3f + + pushq %r8 ++ cfi_adjust_cfa_offset(8) + pushq %r9 ++ cfi_adjust_cfa_offset(8) + pushq %r12 ++ cfi_adjust_cfa_offset(8) + pushq %r13 ++ cfi_adjust_cfa_offset(8) + pushq %r14 ++ cfi_adjust_cfa_offset(8) ++ cfi_offset(%r8, -16) ++ cfi_offset(%r9, -24) ++ cfi_offset(%r12, -32) ++ cfi_offset(%r13, -40) ++ cfi_offset(%r14, -48) + + /* Stack frame for the timespec and timeval structs. */ + subq $16, %rsp ++ cfi_adjust_cfa_offset(16) + + movq %rdi, %r12 + movq %rdx, %r13 +@@ -147,13 +168,33 @@ __lll_mutex_timedlock_wait: + jnz 7f + + 6: addq $16, %rsp ++ cfi_adjust_cfa_offset(-16) + popq %r14 ++ cfi_adjust_cfa_offset(-8) ++ cfi_restore(%r14) + popq %r13 ++ cfi_adjust_cfa_offset(-8) ++ cfi_restore(%r13) + popq %r12 ++ cfi_adjust_cfa_offset(-8) ++ cfi_restore(%r12) + popq %r9 ++ cfi_adjust_cfa_offset(-8) ++ cfi_restore(%r9) + popq %r8 ++ cfi_adjust_cfa_offset(-8) ++ cfi_restore(%r8) ++ retq ++ ++3: movl $EINVAL, %eax + retq + ++ cfi_adjust_cfa_offset(56) ++ cfi_offset(%r8, -16) ++ cfi_offset(%r9, -24) ++ cfi_offset(%r12, -32) ++ cfi_offset(%r13, -40) ++ cfi_offset(%r14, -48) + /* Check whether the time expired. */ + 7: cmpq $-ETIMEDOUT, %rcx + je 5f +@@ -165,11 +206,9 @@ __lll_mutex_timedlock_wait: + jz 6b + jmp 1b + +-3: movl $EINVAL, %eax +- retq +- + 5: movl $ETIMEDOUT, %eax + jmp 6b ++ cfi_endproc + .size __lll_mutex_timedlock_wait,.-__lll_mutex_timedlock_wait + #endif + +@@ -199,8 +238,13 @@ lll_unlock_wake_cb: + .hidden __lll_mutex_unlock_wake + .align 16 + __lll_mutex_unlock_wake: ++ cfi_startproc + pushq %rsi ++ cfi_adjust_cfa_offset(8) + pushq %rdx ++ cfi_adjust_cfa_offset(8) ++ cfi_offset(%rsi, -16) ++ cfi_offset(%rdx, -24) + + movl $0, (%rdi) + movl $FUTEX_WAKE, %esi +@@ -209,8 +253,13 @@ __lll_mutex_unlock_wake: + syscall + + popq %rdx ++ cfi_adjust_cfa_offset(-8) ++ cfi_restore(%rdx) + popq %rsi ++ cfi_adjust_cfa_offset(-8) ++ cfi_restore(%rsi) + retq ++ cfi_endproc + .size __lll_mutex_unlock_wake,.-__lll_mutex_unlock_wake + + +--- glibc-20060306T0720/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 17 Feb 2006 08:06:14 -0000 1.26 ++++ glibc-20060306T0720-fedora/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 6 Mar 2006 07:33:30 -0000 1.23.2.3 +@@ -46,6 +46,110 @@ + #define BUSY_WAIT_NOP asm ("rep; nop") + + ++#ifdef USE_CFA_VAL_EXPRESSION ++# define LLL_STUB_UNWIND_INFO_START \ ++ ".section .eh_frame,\"a\",@progbits\n" \ ++"7:\t" ".long 9f-8f # Length of Common Information Entry\n" \ ++"8:\t" ".long 0x0 # CIE Identifier Tag\n\t" \ ++ ".byte 0x1 # CIE Version\n\t" \ ++ ".ascii \"zR\\0\" # CIE Augmentation\n\t" \ ++ ".uleb128 0x1 # CIE Code Alignment Factor\n\t" \ ++ ".sleb128 -8 # CIE Data Alignment Factor\n\t" \ ++ ".byte 0x10 # CIE RA Column\n\t" \ ++ ".uleb128 0x1 # Augmentation size\n\t" \ ++ ".byte 0x1b # FDE Encoding (pcrel sdata4)\n\t" \ ++ ".byte 0x12 # DW_CFA_def_cfa_sf\n\t" \ ++ ".uleb128 0x7\n\t" \ ++ ".sleb128 16\n\t" \ ++ ".align 8\n" \ ++"9:\t" ".long 23f-10f # FDE Length\n" \ ++"10:\t" ".long 10b-7b # FDE CIE offset\n\t" \ ++ ".long 1b-. # FDE initial location\n\t" \ ++ ".long 6b-1b # FDE address range\n\t" \ ++ ".uleb128 0x0 # Augmentation size\n\t" \ ++ ".byte 0x16 # DW_CFA_val_expression\n\t" \ ++ ".uleb128 0x10\n\t" \ ++ ".uleb128 12f-11f\n" \ ++"11:\t" ".byte 0x80 # DW_OP_breg16\n\t" \ ++ ".sleb128 4b-1b\n" ++# define LLL_STUB_UNWIND_INFO_END \ ++ ".byte 0x16 # DW_CFA_val_expression\n\t" \ ++ ".uleb128 0x10\n\t" \ ++ ".uleb128 14f-13f\n" \ ++"13:\t" ".byte 0x80 # DW_OP_breg16\n\t" \ ++ ".sleb128 4b-2b\n" \ ++"14:\t" ".byte 0x40 + (3b-2b) # DW_CFA_advance_loc\n\t" \ ++ ".byte 0x0e # DW_CFA_def_cfa_offset\n\t" \ ++ ".uleb128 0\n\t" \ ++ ".byte 0x16 # DW_CFA_val_expression\n\t" \ ++ ".uleb128 0x10\n\t" \ ++ ".uleb128 16f-15f\n" \ ++"15:\t" ".byte 0x80 # DW_OP_breg16\n\t" \ ++ ".sleb128 4b-3b\n" \ ++"16:\t" ".byte 0x40 + (4b-3b-1) # DW_CFA_advance_loc\n\t" \ ++ ".byte 0x0e # DW_CFA_def_cfa_offset\n\t" \ ++ ".uleb128 128\n\t" \ ++ ".byte 0x16 # DW_CFA_val_expression\n\t" \ ++ ".uleb128 0x10\n\t" \ ++ ".uleb128 20f-17f\n" \ ++"17:\t" ".byte 0x80 # DW_OP_breg16\n\t" \ ++ ".sleb128 19f-18f\n\t" \ ++ ".byte 0x0d # DW_OP_const4s\n" \ ++"18:\t" ".4byte 4b-.\n\t" \ ++ ".byte 0x1c # DW_OP_minus\n\t" \ ++ ".byte 0x0d # DW_OP_const4s\n" \ ++"19:\t" ".4byte 24f-.\n\t" \ ++ ".byte 0x22 # DW_OP_plus\n" \ ++"20:\t" ".byte 0x40 + (5b-4b+1) # DW_CFA_advance_loc\n\t" \ ++ ".byte 0x13 # DW_CFA_def_cfa_offset_sf\n\t" \ ++ ".sleb128 16\n\t" \ ++ ".byte 0x16 # DW_CFA_val_expression\n\t" \ ++ ".uleb128 0x10\n\t" \ ++ ".uleb128 22f-21f\n" \ ++"21:\t" ".byte 0x80 # DW_OP_breg16\n\t" \ ++ ".sleb128 4b-5b\n" \ ++"22:\t" ".align 8\n" \ ++"23:\t" ".previous\n" ++ ++/* Unwind info for ++ 1: leaq ..., %rdi ++ 2: subq $128, %rsp ++ 3: callq ... ++ 4: addq $128, %rsp ++ 5: jmp 24f ++ 6: ++ snippet. */ ++# define LLL_STUB_UNWIND_INFO_5 \ ++LLL_STUB_UNWIND_INFO_START \ ++"12:\t" ".byte 0x40 + (2b-1b) # DW_CFA_advance_loc\n\t" \ ++LLL_STUB_UNWIND_INFO_END ++ ++/* Unwind info for ++ 1: leaq ..., %rdi ++ 0: movq ..., %rdx ++ 2: subq $128, %rsp ++ 3: callq ... ++ 4: addq $128, %rsp ++ 5: jmp 24f ++ 6: ++ snippet. */ ++# define LLL_STUB_UNWIND_INFO_6 \ ++LLL_STUB_UNWIND_INFO_START \ ++"12:\t" ".byte 0x40 + (0b-1b) # DW_CFA_advance_loc\n\t" \ ++ ".byte 0x16 # DW_CFA_val_expression\n\t" \ ++ ".uleb128 0x10\n\t" \ ++ ".uleb128 26f-25f\n" \ ++"25:\t" ".byte 0x80 # DW_OP_breg16\n\t" \ ++ ".sleb128 4b-0b\n" \ ++"26:\t" ".byte 0x40 + (2b-0b) # DW_CFA_advance_loc\n\t" \ ++LLL_STUB_UNWIND_INFO_END ++ ++#else ++# define LLL_STUB_UNWIND_INFO_5 ++# define LLL_STUB_UNWIND_INFO_6 ++#endif ++ ++ + #define lll_futex_wait(futex, val) \ + ({ \ + int __status; \ +@@ -135,14 +239,18 @@ extern int __lll_mutex_unlock_wait (int + (void) ({ int ignore1, ignore2, ignore3; \ + __asm __volatile (LOCK_INSTR "cmpxchgl %0, %2\n\t" \ + "jnz 1f\n\t" \ +- ".subsection 1\n" \ +- "1:\tleaq %2, %%rdi\n\t" \ +- "subq $128, %%rsp\n\t" \ +- "callq __lll_mutex_lock_wait\n\t" \ +- "addq $128, %%rsp\n\t" \ +- "jmp 2f\n\t" \ ++ ".subsection 1\n\t" \ ++ ".type _L_mutex_lock_%=, @function\n" \ ++ "_L_mutex_lock_%=:\n" \ ++ "1:\tleaq %2, %%rdi\n" \ ++ "2:\tsubq $128, %%rsp\n" \ ++ "3:\tcallq __lll_mutex_lock_wait\n" \ ++ "4:\taddq $128, %%rsp\n" \ ++ "5:\tjmp 24f\n" \ ++ "6:\t.size _L_mutex_lock_%=, 6b-1b\n\t" \ + ".previous\n" \ +- "2:" \ ++ LLL_STUB_UNWIND_INFO_5 \ ++ "24:" \ + : "=S" (ignore1), "=&D" (ignore2), "=m" (futex),\ + "=a" (ignore3) \ + : "0" (1), "m" (futex), "3" (0) \ +@@ -150,17 +258,21 @@ extern int __lll_mutex_unlock_wait (int + + + #define lll_robust_mutex_lock(futex, id) \ +- ({ int result, ignore1, ignore2; \ ++ ({ int result, ignore1, ignore2; \ + __asm __volatile (LOCK_INSTR "cmpxchgl %0, %2\n\t" \ + "jnz 1f\n\t" \ +- ".subsection 1\n" \ +- "1:\tleaq %2, %%rdi\n\t" \ +- "subq $128, %%rsp\n\t" \ +- "callq __lll_robust_mutex_lock_wait\n\t" \ +- "addq $128, %%rsp\n\t" \ +- "jmp 2f\n\t" \ ++ ".subsection 1\n\t" \ ++ ".type _L_robust_mutex_lock_%=, @function\n" \ ++ "_L_robust_mutex_lock_%=:\n" \ ++ "1:\tleaq %2, %%rdi\n" \ ++ "2:\tsubq $128, %%rsp\n" \ ++ "3:\tcallq __lll_robust_mutex_lock_wait\n" \ ++ "4:\taddq $128, %%rsp\n" \ ++ "5:\tjmp 24f\n" \ ++ "6:\t.size _L_robust_mutex_lock_%=, 6b-1b\n\t" \ + ".previous\n" \ +- "2:" \ ++ LLL_STUB_UNWIND_INFO_5 \ ++ "24:" \ + : "=S" (ignore1), "=&D" (ignore2), "=m" (futex), \ + "=a" (result) \ + : "0" (id), "m" (futex), "3" (0) \ +@@ -172,14 +284,18 @@ extern int __lll_mutex_unlock_wait (int + (void) ({ int ignore1, ignore2, ignore3; \ + __asm __volatile (LOCK_INSTR "cmpxchgl %0, %2\n\t" \ + "jnz 1f\n\t" \ +- ".subsection 1\n" \ +- "1:\tleaq %2, %%rdi\n\t" \ +- "subq $128, %%rsp\n\t" \ +- "callq __lll_mutex_lock_wait\n\t" \ +- "addq $128, %%rsp\n\t" \ +- "jmp 2f\n\t" \ ++ ".subsection 1\n\t" \ ++ ".type _L_mutex_cond_lock_%=, @function\n" \ ++ "_L_mutex_cond_lock_%=:\n" \ ++ "1:\tleaq %2, %%rdi\n" \ ++ "2:\tsubq $128, %%rsp\n" \ ++ "3:\tcallq __lll_mutex_lock_wait\n" \ ++ "4:\taddq $128, %%rsp\n" \ ++ "5:\tjmp 24f\n" \ ++ "6:\t.size _L_mutex_cond_lock_%=, 6b-1b\n\t" \ + ".previous\n" \ +- "2:" \ ++ LLL_STUB_UNWIND_INFO_5 \ ++ "24:" \ + : "=S" (ignore1), "=&D" (ignore2), "=m" (futex),\ + "=a" (ignore3) \ + : "0" (2), "m" (futex), "3" (0) \ +@@ -190,14 +306,18 @@ extern int __lll_mutex_unlock_wait (int + ({ int result, ignore1, ignore2; \ + __asm __volatile (LOCK_INSTR "cmpxchgl %0, %2\n\t" \ + "jnz 1f\n\t" \ +- ".subsection 1\n" \ +- "1:\tleaq %2, %%rdi\n\t" \ +- "subq $128, %%rsp\n\t" \ +- "callq __lll_robust_mutex_lock_wait\n\t" \ +- "addq $128, %%rsp\n\t" \ +- "jmp 2f\n\t" \ ++ ".subsection 1\n\t" \ ++ ".type _L_robust_mutex_cond_lock_%=, @function\n" \ ++ "_L_robust_mutex_cond_lock_%=:\n" \ ++ "1:\tleaq %2, %%rdi\n" \ ++ "2:\tsubq $128, %%rsp\n" \ ++ "3:\tcallq __lll_robust_mutex_lock_wait\n" \ ++ "4:\taddq $128, %%rsp\n" \ ++ "5:\tjmp 24f\n" \ ++ "6:\t.size _L_robust_mutex_cond_lock_%=, 6b-1b\n\t" \ + ".previous\n" \ +- "2:" \ ++ LLL_STUB_UNWIND_INFO_5 \ ++ "24:" \ + : "=S" (ignore1), "=&D" (ignore2), "=m" (futex), \ + "=a" (result) \ + : "0" (id | FUTEX_WAITERS), "m" (futex), "3" (0) \ +@@ -209,15 +329,19 @@ extern int __lll_mutex_unlock_wait (int + ({ int result, ignore1, ignore2, ignore3; \ + __asm __volatile (LOCK_INSTR "cmpxchgl %2, %4\n\t" \ + "jnz 1f\n\t" \ +- ".subsection 1\n" \ +- "1:\tleaq %4, %%rdi\n\t" \ +- "movq %8, %%rdx\n\t" \ +- "subq $128, %%rsp\n\t" \ +- "callq __lll_mutex_timedlock_wait\n\t" \ +- "addq $128, %%rsp\n\t" \ +- "jmp 2f\n\t" \ ++ ".subsection 1\n\t" \ ++ ".type _L_mutex_timedlock_%=, @function\n" \ ++ "_L_mutex_timedlock_%=:\n" \ ++ "1:\tleaq %4, %%rdi\n" \ ++ "0:\tmovq %8, %%rdx\n" \ ++ "2:\tsubq $128, %%rsp\n" \ ++ "3:\tcallq __lll_mutex_timedlock_wait\n" \ ++ "4:\taddq $128, %%rsp\n" \ ++ "5:\tjmp 24f\n" \ ++ "6:\t.size _L_mutex_timedlock_%=, 6b-1b\n\t" \ + ".previous\n" \ +- "2:" \ ++ LLL_STUB_UNWIND_INFO_6 \ ++ "24:" \ + : "=a" (result), "=&D" (ignore1), "=S" (ignore2), \ + "=&d" (ignore3), "=m" (futex) \ + : "0" (0), "2" (1), "m" (futex), "m" (timeout) \ +@@ -229,15 +353,19 @@ extern int __lll_mutex_unlock_wait (int + ({ int result, ignore1, ignore2, ignore3; \ + __asm __volatile (LOCK_INSTR "cmpxchgl %2, %4\n\t" \ + "jnz 1f\n\t" \ +- ".subsection 1\n" \ +- "1:\tleaq %4, %%rdi\n\t" \ +- "movq %8, %%rdx\n\t" \ +- "subq $128, %%rsp\n\t" \ +- "callq __lll_robust_mutex_timedlock_wait\n\t" \ +- "addq $128, %%rsp\n\t" \ +- "jmp 2f\n\t" \ ++ ".subsection 1\n\t" \ ++ ".type _L_robust_mutex_timedlock_%=, @function\n" \ ++ "_L_robust_mutex_timedlock_%=:\n" \ ++ "1:\tleaq %4, %%rdi\n" \ ++ "0:\tmovq %8, %%rdx\n" \ ++ "2:\tsubq $128, %%rsp\n" \ ++ "3:\tcallq __lll_robust_mutex_timedlock_wait\n" \ ++ "4:\taddq $128, %%rsp\n" \ ++ "5:\tjmp 24f\n" \ ++ "6:\t.size _L_robust_mutex_timedlock_%=, 6b-1b\n\t" \ + ".previous\n" \ +- "2:" \ ++ LLL_STUB_UNWIND_INFO_6 \ ++ "24:" \ + : "=a" (result), "=&D" (ignore1), "=S" (ignore2), \ + "=&d" (ignore3), "=m" (futex) \ + : "0" (0), "2" (id), "m" (futex), "m" (timeout) \ +@@ -249,14 +377,18 @@ extern int __lll_mutex_unlock_wait (int + (void) ({ int ignore; \ + __asm __volatile (LOCK_INSTR "decl %0\n\t" \ + "jne 1f\n\t" \ +- ".subsection 1\n" \ +- "1:\tleaq %0, %%rdi\n\t" \ +- "subq $128, %%rsp\n\t" \ +- "callq __lll_mutex_unlock_wake\n\t" \ +- "addq $128, %%rsp\n\t" \ +- "jmp 2f\n\t" \ ++ ".subsection 1\n\t" \ ++ ".type _L_mutex_unlock_%=, @function\n" \ ++ "_L_mutex_unlock_%=:\n" \ ++ "1:\tleaq %0, %%rdi\n" \ ++ "2:\tsubq $128, %%rsp\n" \ ++ "3:\tcallq __lll_mutex_unlock_wake\n" \ ++ "4:\taddq $128, %%rsp\n" \ ++ "5:\tjmp 24f\n" \ ++ "6:\t.size _L_mutex_unlock_%=, 6b-1b\n\t" \ + ".previous\n" \ +- "2:" \ ++ LLL_STUB_UNWIND_INFO_5 \ ++ "24:" \ + : "=m" (futex), "=&D" (ignore) \ + : "m" (futex) \ + : "ax", "cx", "r11", "cc", "memory"); }) +@@ -266,14 +398,18 @@ extern int __lll_mutex_unlock_wait (int + (void) ({ int ignore; \ + __asm __volatile (LOCK_INSTR "andl %2, %0\n\t" \ + "jne 1f\n\t" \ +- ".subsection 1\n" \ +- "1:\tleaq %0, %%rdi\n\t" \ +- "subq $128, %%rsp\n\t" \ +- "callq __lll_mutex_unlock_wake\n\t" \ +- "addq $128, %%rsp\n\t" \ +- "jmp 2f\n\t" \ ++ ".subsection 1\n\t" \ ++ ".type _L_robust_mutex_unlock_%=, @function\n" \ ++ "_L_robust_mutex_unlock_%=:\n" \ ++ "1:\tleaq %0, %%rdi\n" \ ++ "2:\tsubq $128, %%rsp\n" \ ++ "3:\tcallq __lll_mutex_unlock_wake\n" \ ++ "4:\taddq $128, %%rsp\n" \ ++ "5:\tjmp 24f\n" \ ++ "6:\t.size _L_robust_mutex_unlock_%=, 6b-1b\n\t"\ + ".previous\n" \ +- "2:" \ ++ LLL_STUB_UNWIND_INFO_5 \ ++ "24:" \ + : "=m" (futex), "=&D" (ignore) \ + : "i" (FUTEX_WAITERS), "m" (futex) \ + : "ax", "cx", "r11", "cc", "memory"); }) +@@ -348,17 +484,21 @@ extern int lll_unlock_wake_cb (int *__fu + "je 0f\n\t" \ + "lock; cmpxchgl %0, %2\n\t" \ + "jnz 1f\n\t" \ +- "jmp 2f\n" \ ++ "jmp 24f\n" \ + "0:\tcmpxchgl %0, %2\n\t" \ + "jnz 1f\n\t" \ +- ".subsection 1\n" \ +- "1:\tleaq %2, %%rdi\n\t" \ +- "subq $128, %%rsp\n\t" \ +- "callq __lll_mutex_lock_wait\n\t" \ +- "addq $128, %%rsp\n\t" \ +- "jmp 2f\n\t" \ ++ ".subsection 1\n\t" \ ++ ".type _L_lock_%=, @function\n" \ ++ "_L_lock_%=:\n" \ ++ "1:\tleaq %2, %%rdi\n" \ ++ "2:\tsubq $128, %%rsp\n" \ ++ "3:\tcallq __lll_mutex_lock_wait\n" \ ++ "4:\taddq $128, %%rsp\n" \ ++ "5:\tjmp 24f\n" \ ++ "6:\t.size _L_lock_%=, 6b-1b\n\t" \ + ".previous\n" \ +- "2:" \ ++ LLL_STUB_UNWIND_INFO_5 \ ++ "24:" \ + : "=S" (ignore1), "=&D" (ignore2), "=m" (futex),\ + "=a" (ignore3) \ + : "0" (1), "m" (futex), "3" (0) \ +@@ -371,17 +511,21 @@ extern int lll_unlock_wake_cb (int *__fu + "je 0f\n\t" \ + "lock; decl %0\n\t" \ + "jne 1f\n\t" \ +- "jmp 2f\n" \ ++ "jmp 24f\n" \ + "0:\tdecl %0\n\t" \ + "jne 1f\n\t" \ +- ".subsection 1\n" \ +- "1:\tleaq %0, %%rdi\n\t" \ +- "subq $128, %%rsp\n\t" \ +- "callq __lll_mutex_unlock_wake\n\t" \ +- "addq $128, %%rsp\n\t" \ +- "jmp 2f\n\t" \ ++ ".subsection 1\n\t" \ ++ ".type _L_unlock_%=, @function\n" \ ++ "_L_unlock_%=:\n" \ ++ "1:\tleaq %0, %%rdi\n" \ ++ "2:\tsubq $128, %%rsp\n" \ ++ "3:\tcallq __lll_mutex_unlock_wake\n" \ ++ "4:\taddq $128, %%rsp\n" \ ++ "5:\tjmp 24f\n" \ ++ "6:\t.size _L_unlock_%=, 6b-1b\n\t" \ + ".previous\n" \ +- "2:" \ ++ LLL_STUB_UNWIND_INFO_5 \ ++ "24:" \ + : "=m" (futex), "=&D" (ignore) \ + : "m" (futex) \ + : "ax", "cx", "r11", "cc", "memory"); }) +--- glibc-20060306T0720/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S 2 Mar 2006 00:26:55 -0000 1.2 ++++ glibc-20060306T0720-fedora/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S 6 Mar 2006 07:33:30 -0000 1.1.2.3 +@@ -46,8 +46,13 @@ + .hidden __lll_robust_mutex_lock_wait + .align 16 + __lll_robust_mutex_lock_wait: ++ cfi_startproc + pushq %r10 ++ cfi_adjust_cfa_offset(8) + pushq %rdx ++ cfi_adjust_cfa_offset(8) ++ cfi_offset(%r10, -16) ++ cfi_offset(%rdx, -24) + + xorq %r10, %r10 /* No timeout. */ + #if FUTEX_WAIT == 0 +@@ -85,8 +90,13 @@ __lll_robust_mutex_lock_wait: + /* NB: %rax == 0 */ + + 3: popq %rdx ++ cfi_adjust_cfa_offset(-8) ++ cfi_restore(%rdx) + popq %r10 ++ cfi_adjust_cfa_offset(-8) ++ cfi_restore(%r10) + retq ++ cfi_endproc + .size __lll_robust_mutex_lock_wait,.-__lll_robust_mutex_lock_wait + + +@@ -95,17 +105,27 @@ __lll_robust_mutex_lock_wait: + .hidden __lll_robust_mutex_timedlock_wait + .align 16 + __lll_robust_mutex_timedlock_wait: ++ cfi_startproc + /* Check for a valid timeout value. */ + cmpq $1000000000, 8(%rdx) + jae 3f + + pushq %r8 ++ cfi_adjust_cfa_offset(8) + pushq %r9 ++ cfi_adjust_cfa_offset(8) + pushq %r12 ++ cfi_adjust_cfa_offset(8) + pushq %r13 ++ cfi_adjust_cfa_offset(8) ++ cfi_offset(%r8, -16) ++ cfi_offset(%r9, -24) ++ cfi_offset(%r12, -32) ++ cfi_offset(%r13, -40) + + /* Stack frame for the timespec and timeval structs. */ + subq $24, %rsp ++ cfi_adjust_cfa_offset(24) + + movq %rdi, %r12 + movq %rdx, %r13 +@@ -176,19 +196,34 @@ __lll_robust_mutex_timedlock_wait: + jnz 7f + + 6: addq $24, %rsp ++ cfi_adjust_cfa_offset(-24) + popq %r13 ++ cfi_adjust_cfa_offset(-8) ++ cfi_restore(%r13) + popq %r12 ++ cfi_adjust_cfa_offset(-8) ++ cfi_restore(%r12) + popq %r9 ++ cfi_adjust_cfa_offset(-8) ++ cfi_restore(%r9) + popq %r8 ++ cfi_adjust_cfa_offset(-8) ++ cfi_restore(%r8) + retq + ++3: movl $EINVAL, %eax ++ retq ++ ++ cfi_adjust_cfa_offset(56) ++ cfi_offset(%r8, -16) ++ cfi_offset(%r9, -24) ++ cfi_offset(%r12, -32) ++ cfi_offset(%r13, -40) + /* Check whether the time expired. */ + 7: cmpq $-ETIMEDOUT, %rcx + jne 1b + + 8: movl $ETIMEDOUT, %eax + jmp 6b +- +-3: movl $EINVAL, %eax +- retq ++ cfi_endproc + .size __lll_robust_mutex_timedlock_wait,.-__lll_robust_mutex_timedlock_wait +--- glibc-20060306T0720/nscd/connections.c 3 Jan 2006 21:26:28 -0000 1.82 ++++ glibc-20060306T0720-fedora/nscd/connections.c 4 Jan 2006 07:58:21 -0000 1.55.2.19 @@ -1873,3 +1873,18 @@ finish_drop_privileges (void) exit (4); } @@ -1329,8 +2464,8 @@ + prune_cache (&dbs[hstdb], LONG_MAX); +} + ---- glibc-20060302T0855/nscd/nscd.c 1 Jan 2006 19:15:56 -0000 1.51 -+++ glibc-20060302T0855-fedora/nscd/nscd.c 2 Jan 2006 10:52:53 -0000 1.38.2.11 +--- glibc-20060306T0720/nscd/nscd.c 1 Jan 2006 19:15:56 -0000 1.51 ++++ glibc-20060306T0720-fedora/nscd/nscd.c 2 Jan 2006 10:52:53 -0000 1.38.2.11 @@ -119,6 +119,9 @@ static struct argp argp = options, parse_opt, NULL, doc, }; @@ -1349,8 +2484,8 @@ signal (SIGPIPE, SIG_IGN); /* Cleanup files created by a previous 'bind'. */ ---- glibc-20060302T0855/nscd/nscd.conf 23 Aug 2005 23:17:32 -0000 1.11 -+++ glibc-20060302T0855-fedora/nscd/nscd.conf 24 Aug 2005 07:23:30 -0000 1.8.2.3 +--- glibc-20060306T0720/nscd/nscd.conf 23 Aug 2005 23:17:32 -0000 1.11 ++++ glibc-20060306T0720-fedora/nscd/nscd.conf 24 Aug 2005 07:23:30 -0000 1.8.2.3 @@ -32,8 +32,8 @@ # logfile /var/log/nscd.log # threads 6 @@ -1362,8 +2497,8 @@ debug-level 0 # reload-count 5 paranoia no ---- glibc-20060302T0855/nscd/nscd.init 20 Jun 2005 15:47:52 -0000 1.9 -+++ glibc-20060302T0855-fedora/nscd/nscd.init 12 Sep 2005 12:53:20 -0000 1.6.2.4 +--- glibc-20060306T0720/nscd/nscd.init 20 Jun 2005 15:47:52 -0000 1.9 ++++ glibc-20060306T0720-fedora/nscd/nscd.init 12 Sep 2005 12:53:20 -0000 1.6.2.4 @@ -9,6 +9,7 @@ # slow naming services like NIS, NIS+, LDAP, or hesiod. # processname: /usr/sbin/nscd @@ -1404,8 +2539,8 @@ RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nscd ---- glibc-20060302T0855/posix/Makefile 8 Jan 2006 09:39:15 -0000 1.188 -+++ glibc-20060302T0855-fedora/posix/Makefile 9 Jan 2006 21:55:00 -0000 1.171.2.16 +--- glibc-20060306T0720/posix/Makefile 8 Jan 2006 09:39:15 -0000 1.188 ++++ glibc-20060306T0720-fedora/posix/Makefile 9 Jan 2006 21:55:00 -0000 1.171.2.16 @@ -107,7 +107,8 @@ generated := $(addprefix wordexp-test-re bug-regex21-mem bug-regex21.mtrace \ tst-rxspencer-mem tst-rxspencer.mtrace tst-getconf.out \ @@ -1439,8 +2574,8 @@ + | sed -n -e '/START_OF_STRINGS/,$${/POSIX_V6_/{s/^[^"]*"//;s/".*$$//;p}}' \ + > $@.new + mv -f $@.new $@ ---- glibc-20060302T0855/posix/getconf.speclist.h 1 Jan 1970 00:00:00 -0000 -+++ glibc-20060302T0855-fedora/posix/getconf.speclist.h 13 Dec 2004 23:32:37 -0000 1.1.2.2 +--- glibc-20060306T0720/posix/getconf.speclist.h 1 Jan 1970 00:00:00 -0000 ++++ glibc-20060306T0720-fedora/posix/getconf.speclist.h 13 Dec 2004 23:32:37 -0000 1.1.2.2 @@ -0,0 +1,15 @@ +#include +const char *START_OF_STRINGS = @@ -1457,8 +2592,8 @@ +"POSIX_V6_LPBIG_OFFBIG" +#endif +""; ---- glibc-20060302T0855/sysdeps/generic/dl-cache.h 25 Jun 2003 08:01:22 -0000 1.13 -+++ glibc-20060302T0855-fedora/sysdeps/generic/dl-cache.h 22 Sep 2004 21:21:07 -0000 1.13.2.1 +--- glibc-20060306T0720/sysdeps/generic/dl-cache.h 25 Jun 2003 08:01:22 -0000 1.13 ++++ glibc-20060306T0720-fedora/sysdeps/generic/dl-cache.h 22 Sep 2004 21:21:07 -0000 1.13.2.1 @@ -36,6 +36,14 @@ # define add_system_dir(dir) add_dir (dir) #endif @@ -1474,8 +2609,8 @@ #define CACHEMAGIC "ld.so-1.7.0" /* libc5 and glibc 2.0/2.1 use the same format. For glibc 2.2 another ---- glibc-20060302T0855/sysdeps/ia64/Makefile 16 Aug 2004 06:46:14 -0000 1.10 -+++ glibc-20060302T0855-fedora/sysdeps/ia64/Makefile 22 Sep 2004 21:21:07 -0000 1.10.2.1 +--- glibc-20060306T0720/sysdeps/ia64/Makefile 16 Aug 2004 06:46:14 -0000 1.10 ++++ glibc-20060306T0720-fedora/sysdeps/ia64/Makefile 22 Sep 2004 21:21:07 -0000 1.10.2.1 @@ -12,8 +12,8 @@ elide-routines.os += hp-timing ifeq (yes,$(build-shared)) @@ -1487,8 +2622,8 @@ endif endif ---- glibc-20060302T0855/sysdeps/ia64/ia64libgcc.S 11 May 2002 05:12:35 -0000 1.2 -+++ glibc-20060302T0855-fedora/sysdeps/ia64/ia64libgcc.S 22 Sep 2004 21:21:07 -0000 1.2.2.1 +--- glibc-20060306T0720/sysdeps/ia64/ia64libgcc.S 11 May 2002 05:12:35 -0000 1.2 ++++ glibc-20060306T0720-fedora/sysdeps/ia64/ia64libgcc.S 22 Sep 2004 21:21:07 -0000 1.2.2.1 @@ -1,350 +0,0 @@ -/* From the Intel IA-64 Optimization Guide, choose the minimum latency - alternative. */ @@ -1840,8 +2975,8 @@ - .symver ___multi3, __multi3@GLIBC_2.2 - -#endif ---- glibc-20060302T0855/sysdeps/ia64/libgcc-compat.c 1 Jan 1970 00:00:00 -0000 -+++ glibc-20060302T0855-fedora/sysdeps/ia64/libgcc-compat.c 22 Sep 2004 21:21:08 -0000 1.1.2.1 +--- glibc-20060306T0720/sysdeps/ia64/libgcc-compat.c 1 Jan 1970 00:00:00 -0000 ++++ glibc-20060306T0720-fedora/sysdeps/ia64/libgcc-compat.c 22 Sep 2004 21:21:08 -0000 1.1.2.1 @@ -0,0 +1,84 @@ +/* pre-.hidden libgcc compatibility + Copyright (C) 2002 Free Software Foundation, Inc. @@ -1927,63 +3062,8 @@ +symbol_version (INTUSE (__multi3), __multi3, GLIBC_2.2); + +#endif ---- glibc-20060302T0855/sysdeps/powerpc/powerpc32/configure 17 Jun 2005 22:58:48 -0000 1.1 -+++ glibc-20060302T0855-fedora/sysdeps/powerpc/powerpc32/configure 2 Mar 2006 09:59:03 -0000 1.1.2.2 -@@ -31,3 +31,32 @@ if test $libc_cv_ppc_rel16 = yes; then - _ACEOF - - fi -+ -+# See whether GCC uses -msecure-plt. -+echo "$as_me:$LINENO: checking for -msecure-plt by default" >&5 -+echo $ECHO_N "checking for -msecure-plt by default... $ECHO_C" >&6 -+if test "${libc_cv_ppc_secure_plt+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ echo 'int foo (void) { extern int bar; return bar; }' > conftest.c -+libc_cv_ppc_secure_plt=no -+if { ac_try='${CC-cc} -S $CFLAGS conftest.c -fpic -o conftest.s 1>&5' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ if grep '_GLOBAL_OFFSET_TABLE_-.*@ha' conftest.s > /dev/null 2>&1; then -+ libc_cv_ppc_secure_plt=yes -+ fi -+fi -+rm -rf conftest* -+fi -+echo "$as_me:$LINENO: result: $libc_cv_ppc_secure_plt" >&5 -+echo "${ECHO_T}$libc_cv_ppc_secure_plt" >&6 -+if test $libc_cv_ppc_secure_plt = yes; then -+ cat >>confdefs.h <<\_ACEOF -+#define HAVE_PPC_SECURE_PLT 1 -+_ACEOF -+ -+fi ---- glibc-20060302T0855/sysdeps/powerpc/powerpc32/configure.in 17 Jun 2005 22:58:48 -0000 1.1 -+++ glibc-20060302T0855-fedora/sysdeps/powerpc/powerpc32/configure.in 2 Mar 2006 09:59:03 -0000 1.1.2.2 -@@ -16,3 +16,17 @@ rm -f conftest*]) - if test $libc_cv_ppc_rel16 = yes; then - AC_DEFINE(HAVE_ASM_PPC_REL16) - fi -+ -+# See whether GCC uses -msecure-plt. -+AC_CACHE_CHECK(for -msecure-plt by default, libc_cv_ppc_secure_plt, [dnl -+echo 'int foo (void) { extern int bar; return bar; }' > conftest.c -+libc_cv_ppc_secure_plt=no -+if AC_TRY_COMMAND(${CC-cc} -S $CFLAGS conftest.c -fpic -o conftest.s 1>&AS_MESSAGE_LOG_FD); then -+ if grep '_GLOBAL_OFFSET_TABLE_-.*@ha' conftest.s > /dev/null 2>&1; then -+ libc_cv_ppc_secure_plt=yes -+ fi -+fi -+rm -rf conftest*]) -+if test $libc_cv_ppc_secure_plt = yes; then -+ AC_DEFINE(HAVE_PPC_SECURE_PLT) -+fi ---- glibc-20060302T0855/sysdeps/unix/nice.c 28 Sep 2002 19:13:13 -0000 1.6 -+++ glibc-20060302T0855-fedora/sysdeps/unix/nice.c 22 Sep 2004 21:21:08 -0000 1.6.2.1 +--- glibc-20060306T0720/sysdeps/unix/nice.c 28 Sep 2002 19:13:13 -0000 1.6 ++++ glibc-20060306T0720-fedora/sysdeps/unix/nice.c 22 Sep 2004 21:21:08 -0000 1.6.2.1 @@ -41,7 +41,12 @@ nice (int incr) __set_errno (save); } @@ -1998,8 +3078,8 @@ if (result != -1) return getpriority (PRIO_PROCESS, 0); else ---- glibc-20060302T0855/sysdeps/unix/sysv/linux/dl-osinfo.h 8 Jan 2006 08:21:15 -0000 1.22 -+++ glibc-20060302T0855-fedora/sysdeps/unix/sysv/linux/dl-osinfo.h 9 Jan 2006 21:55:08 -0000 1.14.2.8 +--- glibc-20060306T0720/sysdeps/unix/sysv/linux/dl-osinfo.h 8 Jan 2006 08:21:15 -0000 1.22 ++++ glibc-20060306T0720-fedora/sysdeps/unix/sysv/linux/dl-osinfo.h 9 Jan 2006 21:55:08 -0000 1.14.2.8 @@ -18,12 +18,15 @@ 02111-1307 USA. */ @@ -2048,8 +3128,8 @@ + ret ^= stk; return ret; } ---- glibc-20060302T0855/sysdeps/unix/sysv/linux/futimesat.c 3 Feb 2006 05:26:34 -0000 1.6 -+++ glibc-20060302T0855-fedora/sysdeps/unix/sysv/linux/futimesat.c 3 Feb 2006 09:43:55 -0000 1.1.2.7 +--- glibc-20060306T0720/sysdeps/unix/sysv/linux/futimesat.c 3 Feb 2006 05:26:34 -0000 1.6 ++++ glibc-20060306T0720-fedora/sysdeps/unix/sysv/linux/futimesat.c 3 Feb 2006 09:43:55 -0000 1.1.2.7 @@ -37,14 +37,14 @@ futimesat (fd, file, tvp) { int result; @@ -2092,8 +3172,8 @@ { size_t filelen = strlen (file); static const char procfd[] = "/proc/self/fd/%d/%s"; ---- glibc-20060302T0855/sysdeps/unix/sysv/linux/paths.h 15 Nov 2000 23:06:47 -0000 1.11 -+++ glibc-20060302T0855-fedora/sysdeps/unix/sysv/linux/paths.h 22 Sep 2004 21:21:08 -0000 1.11.4.1 +--- glibc-20060306T0720/sysdeps/unix/sysv/linux/paths.h 15 Nov 2000 23:06:47 -0000 1.11 ++++ glibc-20060306T0720-fedora/sysdeps/unix/sysv/linux/paths.h 22 Sep 2004 21:21:08 -0000 1.11.4.1 @@ -61,7 +61,7 @@ #define _PATH_TTY "/dev/tty" #define _PATH_UNIX "/boot/vmlinux" @@ -2103,8 +3183,8 @@ #define _PATH_WTMP "/var/log/wtmp" /* Provide trailing slash, since mostly used for building pathnames. */ ---- glibc-20060302T0855/sysdeps/unix/sysv/linux/tcsetattr.c 10 Sep 2003 19:16:07 -0000 1.16 -+++ glibc-20060302T0855-fedora/sysdeps/unix/sysv/linux/tcsetattr.c 22 Sep 2004 21:21:08 -0000 1.16.2.1 +--- glibc-20060306T0720/sysdeps/unix/sysv/linux/tcsetattr.c 10 Sep 2003 19:16:07 -0000 1.16 ++++ glibc-20060306T0720-fedora/sysdeps/unix/sysv/linux/tcsetattr.c 22 Sep 2004 21:21:08 -0000 1.16.2.1 @@ -49,6 +49,7 @@ tcsetattr (fd, optional_actions, termios { struct __kernel_termios k_termios; @@ -2150,8 +3230,8 @@ + return retval; } libc_hidden_def (tcsetattr) ---- glibc-20060302T0855/sysdeps/unix/sysv/linux/i386/dl-cache.h 1 Jan 1970 00:00:00 -0000 -+++ glibc-20060302T0855-fedora/sysdeps/unix/sysv/linux/i386/dl-cache.h 22 Sep 2004 21:21:08 -0000 1.1.2.1 +--- glibc-20060306T0720/sysdeps/unix/sysv/linux/i386/dl-cache.h 1 Jan 1970 00:00:00 -0000 ++++ glibc-20060306T0720-fedora/sysdeps/unix/sysv/linux/i386/dl-cache.h 22 Sep 2004 21:21:08 -0000 1.1.2.1 @@ -0,0 +1,59 @@ +/* Support for reading /etc/ld.so.cache files written by Linux ldconfig. + Copyright (C) 2004 Free Software Foundation, Inc. @@ -2212,8 +3292,8 @@ + } while (0) + +#include_next ---- glibc-20060302T0855/sysdeps/unix/sysv/linux/ia64/dl-cache.h 6 Jul 2001 04:56:17 -0000 1.2 -+++ glibc-20060302T0855-fedora/sysdeps/unix/sysv/linux/ia64/dl-cache.h 22 Sep 2004 21:21:09 -0000 1.2.4.1 +--- glibc-20060306T0720/sysdeps/unix/sysv/linux/ia64/dl-cache.h 6 Jul 2001 04:56:17 -0000 1.2 ++++ glibc-20060306T0720-fedora/sysdeps/unix/sysv/linux/ia64/dl-cache.h 22 Sep 2004 21:21:09 -0000 1.2.4.1 @@ -22,4 +22,31 @@ #define _dl_cache_check_flags(flags) \ ((flags) == _DL_CACHE_DEFAULT_ID) @@ -2246,24 +3326,24 @@ + } while (0) + #include_next ---- glibc-20060302T0855/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c 1 Jan 1970 00:00:00 -0000 -+++ glibc-20060302T0855-fedora/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c 22 Sep 2004 21:21:09 -0000 1.1.2.1 +--- glibc-20060306T0720/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c 1 Jan 1970 00:00:00 -0000 ++++ glibc-20060306T0720-fedora/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c 22 Sep 2004 21:21:09 -0000 1.1.2.1 @@ -0,0 +1,5 @@ +#ifdef IS_IN_ldconfig +#include +#else +#include +#endif ---- glibc-20060302T0855/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h 1 Jan 1970 00:00:00 -0000 -+++ glibc-20060302T0855-fedora/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h 22 Sep 2004 21:21:09 -0000 1.1.2.1 +--- glibc-20060306T0720/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h 1 Jan 1970 00:00:00 -0000 ++++ glibc-20060306T0720-fedora/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h 22 Sep 2004 21:21:09 -0000 1.1.2.1 @@ -0,0 +1,5 @@ +#ifdef IS_IN_ldconfig +#include +#else +#include +#endif ---- glibc-20060302T0855/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed 17 Jan 2002 06:49:28 -0000 1.2 -+++ glibc-20060302T0855-fedora/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed 22 Sep 2004 21:21:09 -0000 1.2.2.1 +--- glibc-20060306T0720/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed 17 Jan 2002 06:49:28 -0000 1.2 ++++ glibc-20060306T0720-fedora/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed 22 Sep 2004 21:21:09 -0000 1.2.2.1 @@ -1 +1 @@ -s_^\(RTLDLIST=\)\([^ ]*\)-ia64\(\.so\.[0-9.]*\)[ ]*$_\1"\2-ia64\3 \2\3"_ +s_^\(RTLDLIST=\)\([^ ]*\)-ia64\(\.so\.[0-9.]*\)[ ]*$_\1"\2-ia64\3 /emul/ia32-linux\2\3"_ diff --git a/glibc.spec b/glibc.spec index d8ee533..e09b839 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,9 +1,9 @@ -%define glibcdate 20060302T0855 +%define glibcdate 20060306T0720 %define glibcname glibc -%define glibcsrcdir glibc-20060302T0855 +%define glibcsrcdir glibc-20060306T0720 %define glibc_release_tarballs 0 %define glibcversion 2.3.91 -%define glibcrelease 1 +%define glibcrelease 2 %define auxarches i586 i686 athlon sparcv9 alphaev6 %define prelinkarches noarch %define xenarches i686 athlon @@ -699,6 +699,9 @@ BuildFlags="-march=%{_target_cpu}" %ifarch i686 BuildFlags="-march=i686 -mtune=pentium4" %endif +%ifarch x86_64 +BuildFlags="-DUSE_CFA_VAL_EXPRESSION" +%endif %ifarch alphaev6 BuildFlags="-mcpu=ev6" %endif @@ -1337,6 +1340,13 @@ rm -f *.filelist* %endif %changelog +* Mon Mar 6 2006 Jakub Jelinek 2.3.91-2 +- update from CVS + - fix sYSMALLOc for MALLOC_ALIGNMENT > 2 * SIZE_SZ (#183895) + - revert ppc32 malloc alignment patch, it breaks malloc_set_state + and needs some further thoughts and time (#183894) +- provide accurate unwind info for lowlevellock.h stubs on x86_64 + * Thu Mar 2 2006 Jakub Jelinek 2.3.91-1 - update from CVS - fixes for various arches diff --git a/sources b/sources index f330ae5..2e71d9d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -7787f2784c74be230cbb307b44a8a883 glibc-20060302T0855.tar.bz2 -3dd6039e4a284e1cde38324db43f8ebb glibc-fedora-20060302T0855.tar.bz2 +1e8fec58db2ad0735426a0e345c4d777 glibc-20060306T0720.tar.bz2 +e9f6d149054a4507911a303ec1de4064 glibc-fedora-20060306T0720.tar.bz2