diff --git a/.cvsignore b/.cvsignore index 6771e64..87eb1f2 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -glibc-20090218T1534.tar.bz2 -glibc-fedora-20090218T1534.tar.bz2 +glibc-20090309T1421.tar.bz2 +glibc-fedora-20090309T1421.tar.bz2 diff --git a/glibc-fedora.patch b/glibc-fedora.patch index e022888..f17558e 100644 --- a/glibc-fedora.patch +++ b/glibc-fedora.patch @@ -2101,3 +2101,193 @@ cfi_startproc; PSEUDO_END (BP_SYM (__clone)) +2009-02-18 Jakub Jelinek + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Use + .machine push; .machine "power6" and .machine pop around mtfsf + insns outside of _ARCH_PWR6 define. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S: + Likewise. + * sysdeps/powerpc/fpu/tst-setcontext-fpscr.c (_SET_DI_FPSCR): Likewise. + * sysdeps/powerpc/fpu/fenv_libc.h (fesetenv_register, + relax_fenv_state): Likewise. + +--- libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S.jj 2008-11-17 03:49:06.000000000 +0100 ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S 2009-02-18 22:55:07.000000000 +0100 +@@ -1,5 +1,6 @@ + /* Switch to context. +- Copyright (C) 2002, 2004, 2005, 2006, 2008 Free Software Foundation, Inc. ++ Copyright (C) 2002, 2004, 2005, 2006, 2008, 2009 ++ Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -86,6 +87,8 @@ ENTRY(__novec_setcontext) + /* Use the extended four-operand version of the mtfsf insn. */ + mtfsf 0xff,fp0,1,0 + # else ++ .machine push ++ .machine "power6" + /* Availability of DFP indicates a 64-bit FPSCR. */ + andi. r6,r5,PPC_FEATURE_HAS_DFP + beq 5f +@@ -96,6 +99,7 @@ ENTRY(__novec_setcontext) + 5: + mtfsf 0xff,fp0 + 6: ++ .machine pop + # endif /* _ARCH_PWR6 */ + lfd fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r31) + lfd fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r31) +@@ -374,6 +378,8 @@ L(has_no_vec): + /* Use the extended four-operand version of the mtfsf insn. */ + mtfsf 0xff,fp0,1,0 + # else ++ .machine push ++ .machine "power6" + /* Availability of DFP indicates a 64-bit FPSCR. */ + andi. r6,r5,PPC_FEATURE_HAS_DFP + beq 7f +@@ -384,6 +390,7 @@ L(has_no_vec): + 7: + mtfsf 0xff,fp0 + 8: ++ .machine pop + # endif /* _ARCH_PWR6 */ + lfd fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r31) + lfd fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r31) +--- libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S.jj 2008-11-17 03:49:30.000000000 +0100 ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S 2009-02-18 22:55:37.000000000 +0100 +@@ -1,5 +1,6 @@ + /* Save current context and install the given one. +- Copyright (C) 2002, 2004, 2005, 2006, 2008 Free Software Foundation, Inc. ++ Copyright (C) 2002, 2004, 2005, 2006, 2008, 2009 ++ Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -180,6 +181,8 @@ ENTRY(__novec_swapcontext) + /* Use the extended four-operand version of the mtfsf insn. */ + mtfsf 0xff,fp0,1,0 + # else ++ .machine push ++ .machine "power6" + /* Availability of DFP indicates a 64-bit FPSCR. */ + andi. r6,r8,PPC_FEATURE_HAS_DFP + beq 5f +@@ -190,6 +193,7 @@ ENTRY(__novec_swapcontext) + 5: + mtfsf 0xff,fp0 + 6: ++ .machine pop + #endif /* _ARCH_PWR6 */ + lfd fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r31) + lfd fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r31) +@@ -672,6 +676,8 @@ L(has_no_vec2): + /* Use the extended four-operand version of the mtfsf insn. */ + mtfsf 0xff,fp0,1,0 + # else ++ .machine push ++ .machine "power6" + /* Availability of DFP indicates a 64-bit FPSCR. */ + andi. r6,r8,PPC_FEATURE_HAS_DFP + beq 7f +@@ -682,6 +688,7 @@ L(has_no_vec2): + 7: + mtfsf 0xff,fp0 + 8: ++ .machine pop + #endif /* _ARCH_PWR6 */ + lfd fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r31) + lfd fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r31) +--- libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S.jj 2009-01-30 21:30:33.000000000 +0100 ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S 2009-02-18 22:52:48.000000000 +0100 +@@ -430,6 +430,8 @@ ENTRY(__CONTEXT_FUNC_NAME) + /* Use the extended four-operand version of the mtfsf insn. */ + mtfsf 0xff,fp31,1,0 + # else ++ .machine push ++ .machine "power6" + /* Availability of DFP indicates a 64-bit FPSCR. */ + andi. r6,r7,PPC_FEATURE_HAS_DFP + beq 7f +@@ -438,7 +440,7 @@ ENTRY(__CONTEXT_FUNC_NAME) + b 8f + /* Continue to operate on the FPSCR as if it were 32-bits. */ + 7: mtfsf 0xff,fp31 +-8: ++8: .machine pop + #endif /* _ARCH_PWR6 */ + lfd fp1,_UC_FREGS+(1*8)(r31) + lfd fp2,_UC_FREGS+(2*8)(r31) +--- libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S.jj 2009-01-30 21:29:24.000000000 +0100 ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S 2009-02-18 22:52:39.000000000 +0100 +@@ -204,6 +204,8 @@ ENTRY(__CONTEXT_FUNC_NAME) + /* Use the extended four-operand version of the mtfsf insn. */ + mtfsf 0xff,fp31,1,0 + # else ++ .machine push ++ .machine "power6" + /* Availability of DFP indicates a 64-bit FPSCR. */ + andi. r6,r7,PPC_FEATURE_HAS_DFP + beq 7f +@@ -212,7 +214,7 @@ ENTRY(__CONTEXT_FUNC_NAME) + b 8f + /* Continue to operate on the FPSCR as if it were 32-bits. */ + 7: mtfsf 0xff,fp31 +-8: ++8: .machine pop + # endif /* _ARCH_PWR6 */ + lfd fp1,_UC_FREGS+(1*8)(r31) + lfd fp2,_UC_FREGS+(2*8)(r31) +--- libc/sysdeps/powerpc/fpu/tst-setcontext-fpscr.c.jj 2009-01-30 21:27:24.000000000 +0100 ++++ libc/sysdeps/powerpc/fpu/tst-setcontext-fpscr.c 2009-02-18 23:40:01.000000000 +0100 +@@ -111,7 +111,11 @@ typedef unsigned int si_fpscr_t __attrib + tmp __attribute__ ((__aligned__(8))); \ + tmp.fpscr = __fpscr; \ + /* Set the entire 64-bit FPSCR. */ \ +- __asm__ ("lfd%U0 0,%0; mtfsf 255,0,1,0" : : "m" (tmp.d) : "fr0"); \ ++ __asm__ ("lfd%U0 0,%0; " \ ++ ".machine push; " \ ++ ".machine \"power6\"; " \ ++ "mtfsf 255,0,1,0; " \ ++ ".machine pop" : : "m" (tmp.d) : "fr0"); \ + tmp.d = 0; \ + __asm__("lfd%U0 0,%0" : : "m" (tmp.d) : "fr0"); \ + } +--- libc/sysdeps/powerpc/fpu/fenv_libc.h.jj 2008-11-17 02:32:11.000000000 +0100 ++++ libc/sysdeps/powerpc/fpu/fenv_libc.h 2009-02-18 23:42:15.000000000 +0100 +@@ -1,5 +1,5 @@ + /* Internal libc stuff for floating point environment routines. +- Copyright (C) 1997, 2006, 2008 Free Software Foundation, Inc. ++ Copyright (C) 1997, 2006, 2008, 2009 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -39,7 +39,10 @@ libm_hidden_proto (__fe_nomask_env) + do { \ + double d = (env); \ + if(GLRO(dl_hwcap) & PPC_FEATURE_HAS_DFP) \ +- asm volatile ("mtfsf 0xff,%0,1,0" : : "f" (d)); \ ++ asm volatile (".machine push; " \ ++ ".machine \"power6\"; " \ ++ "mtfsf 0xff,%0,1,0; " \ ++ ".machine pop" : : "f" (d)); \ + else \ + asm volatile ("mtfsf 0xff,%0" : : "f" (d)); \ + } while(0) +@@ -52,8 +55,9 @@ libm_hidden_proto (__fe_nomask_env) + functions. */ + #define relax_fenv_state() \ + do { \ +- if(GLRO(dl_hwcap) & PPC_FEATURE_HAS_DFP) \ +- asm ("mtfsfi 7,0,1"); \ ++ if (GLRO(dl_hwcap) & PPC_FEATURE_HAS_DFP) \ ++ asm (".machine push; .machine \"power6\"; " \ ++ "mtfsfi 7,0,1; .machine pop"); \ + asm ("mtfsfi 7,0"); \ + } while(0) + diff --git a/glibc.spec b/glibc.spec index fbf9a40..b194a6d 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,6 +1,6 @@ -%define glibcdate 20090218T1534 +%define glibcdate 20090309T1421 %define glibcname glibc -%define glibcsrcdir glibc-20090218T1534 +%define glibcsrcdir glibc-20090309T1421 %define glibc_release_tarballs 0 %define run_glibc_tests 1 %define auxarches i686 athlon sparcv9v sparc64v alphaev6 @@ -23,7 +23,7 @@ Summary: The GNU libc libraries Name: glibc Version: 2.9.90 -Release: 8.1 +Release: 9 # GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries. # Things that are linked directly into dynamically linked programs # and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional @@ -77,8 +77,6 @@ BuildRequires: rpm >= 4.2-0.56 %define __find_provides %{_builddir}/%{glibcsrcdir}/find_provides.sh %define _filter_GLIBC_PRIVATE 1 -Patch2: thread_db.patch - %description The glibc package contains standard libraries which are used by multiple programs on the system. In order to save disk space and @@ -235,8 +233,6 @@ package or when debugging this package. %endif %endif -%patch2 -p0 - # A lot of programs still misuse memcpy when they have to use # memmove. The memcpy implementation below is not tolerant at # all. @@ -607,10 +603,10 @@ grep -v '%{_prefix}/%{_lib}/lib.*_p.a' rpm.filelist.full | egrep -v "(%{_prefix}/include)|(%{_infodir})" > rpm.filelist grep '%{_prefix}/%{_lib}/lib.*\.a' < rpm.filelist \ - | grep '/lib\(\(c\|pthread\)_nonshared\|bsd\(\|-compat\)\|g\|ieee\|mcheck\|rpcsvc\)\.a$' \ + | grep '/lib\(\(c\|pthread\|nldbl\)_nonshared\|bsd\(\|-compat\)\|g\|ieee\|mcheck\|rpcsvc\)\.a$' \ >> devel.filelist grep '%{_prefix}/%{_lib}/lib.*\.a' < rpm.filelist \ - | grep -v '/lib\(\(c\|pthread\)_nonshared\|bsd\(\|-compat\)\|g\|ieee\|mcheck\|rpcsvc\)\.a$' \ + | grep -v '/lib\(\(c\|pthread\|nldbl\)_nonshared\|bsd\(\|-compat\)\|g\|ieee\|mcheck\|rpcsvc\)\.a$' \ > static.filelist grep '%{_prefix}/%{_lib}/.*\.o' < rpm.filelist >> devel.filelist grep '%{_prefix}/%{_lib}/lib.*\.so' < rpm.filelist >> devel.filelist @@ -756,7 +752,7 @@ echo ====================PLT RELOCS END================== %endif pushd $RPM_BUILD_ROOT/usr/%{_lib}/ -$GCC -Wl,-r -nostdlib -o libpthread.o -Wl,--whole-archive ./libpthread.a +$GCC -r -nostdlib -o libpthread.o -Wl,--whole-archive ./libpthread.a rm libpthread.a ar rcs libpthread.a libpthread.o rm libpthread.o @@ -1017,6 +1013,11 @@ rm -f *.filelist* %endif %changelog +* Mon Mar 9 2009 Jakub Jelinek 2.9.90-9 +- update from trunk + - POSIX 2008 support: -D_XOPEN_SOURCE=700 and -D_POSIX_C_SOURCE=200809L +- move libnldbl_nonshared.a on ppc*/s390*/sparc* back to glibc-devel + * Fri Feb 27 2009 Roland McGrath - 2.9.90-8.1 - fix libthread_db (#487212) diff --git a/import.log b/import.log index 77040b5..75121ac 100644 --- a/import.log +++ b/import.log @@ -4,3 +4,4 @@ glibc-2_9_90-1:HEAD:glibc-2.9.90-1.src.rpm:1230934009 glibc-2_9_90-2:HEAD:glibc-2.9.90-2.src.rpm:1231411404 glibc-2_9_90-3:HEAD:glibc-2.9.90-3.src.rpm:1233787870 glibc-2_9_90-4:HEAD:glibc-2.9.90-4.src.rpm:1234989992 +glibc-2_9_90-9:HEAD:glibc-2.9.90-9.src.rpm:1236610744 diff --git a/sources b/sources index 1176190..12a591f 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -086325bc4b2a05d1870f12b627d894ca glibc-20090218T1534.tar.bz2 -407b035feb8ac8f685409d8208f99605 glibc-fedora-20090218T1534.tar.bz2 +5dd18e197bad27f4b286cef3f7f5c7f6 glibc-20090309T1421.tar.bz2 +f04dcc55050cf57727323ff916bd0612 glibc-fedora-20090309T1421.tar.bz2 diff --git a/thread_db.patch b/thread_db.patch deleted file mode 100644 index 02df68d..0000000 --- a/thread_db.patch +++ /dev/null @@ -1,47 +0,0 @@ -2009-02-27 Roland McGrath - - * init.c (__nptl_initial_report_events): Mark __attribute_used__. - * pthread_create.c (__nptl_threads_events, __nptl_last_event): Likewise. - -Index: nptl/init.c -=================================================================== -RCS file: /cvs/glibc/libc/nptl/init.c,v -retrieving revision 1.78 -diff -u -r1.78 init.c ---- nptl/init.c 29 Jan 2009 20:35:17 -0000 1.78 -+++ nptl/init.c 28 Feb 2009 02:26:34 -0000 -@@ -260,7 +260,7 @@ - - - /* This can be set by the debugger before initialization is complete. */ --static bool __nptl_initial_report_events; -+static bool __nptl_initial_report_events __attribute_used__; - - void - __pthread_initialize_minimal_internal (void) -Index: nptl/pthread_create.c -=================================================================== -RCS file: /cvs/glibc/libc/nptl/pthread_create.c,v -retrieving revision 1.59 -diff -u -r1.59 pthread_create.c ---- nptl/pthread_create.c 9 Apr 2008 17:58:06 -0000 1.59 -+++ nptl/pthread_create.c 28 Feb 2009 02:26:34 -0000 -@@ -1,4 +1,4 @@ --/* Copyright (C) 2002-2007, 2008 Free Software Foundation, Inc. -+/* Copyright (C) 2002-2007,2008,2009 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 2002. - -@@ -40,10 +40,10 @@ - int __pthread_debug; - - /* Globally enabled events. */ --static td_thr_events_t __nptl_threads_events; -+static td_thr_events_t __nptl_threads_events __attribute_used__; - - /* Pointer to descriptor with the last event. */ --static struct pthread *__nptl_last_event; -+static struct pthread *__nptl_last_event __attribute_used__; - - /* Number of threads running. */ - unsigned int __nptl_nthreads = 1;