From 9b0cdd693e7f54fd35fd58931b940efe6ccb88cd Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 16 Aug 2007 22:08:56 +0000 Subject: Updated to fedora-glibc-20070816T2121 --- ChangeLog | 26 +++++++++++++++++++++++ elf/Makefile | 3 ++- fedora/branch.mk | 4 ++-- fedora/glibc.spec.in | 10 ++++++--- nptl/ChangeLog | 7 ++++++ nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h | 4 ++-- stdlib/bits/stdlib-ldbl.h | 4 +--- sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S | 2 ++ sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S | 2 ++ sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S | 2 ++ sysdeps/sparc/sparc32/sparcv9b/memcpy.S | 4 ---- sysdeps/sparc/sparc32/sparcv9v/memcpy.S | 2 -- sysdeps/sparc/sparc32/sparcv9v/memset.S | 2 -- sysdeps/unix/sysv/linux/sparc/sparc32/clone.S | 8 ++++--- sysdeps/unix/sysv/linux/sparc/sparc64/clone.S | 25 ++++------------------ sysdeps/unix/sysv/linux/x86_64/gettimeofday.S | 2 +- wcsmbs/bits/wchar-ldbl.h | 4 +--- 17 files changed, 64 insertions(+), 47 deletions(-) create mode 100644 sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S create mode 100644 sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S create mode 100644 sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S delete mode 100644 sysdeps/sparc/sparc32/sparcv9b/memcpy.S delete mode 100644 sysdeps/sparc/sparc32/sparcv9v/memcpy.S delete mode 100644 sysdeps/sparc/sparc32/sparcv9v/memset.S diff --git a/ChangeLog b/ChangeLog index 31270d220c..232f0b3c79 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,29 @@ +2007-08-16 Jakub Jelinek + + * elf/Makefile ($(objpfx)ld.so): Use readelf -s and awk instead of nm -u + to check for undefined symbols. + + * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): + If the syscall fails, set errno to the actual returned error number + rather than EINVAL. + * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): If + arguments are incorrect, set errno to EINVAL, if the syscall + fails, set errno to the actual returned error number. + + * stdlib/bits/stdlib-ldbl.h (__strtold_internal): Remove. + * wcsmbs/bits/wchar-ldbl.h (__wcstold_internal): Remove. + + * sysdeps/sparc/sparc32/sparcv9b/memcpy.S: Moved to... + * sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S: ... here. New + file. + (ASI_PNF, ASI_BLK_P): Don't define. + * sysdeps/sparc/sparc32/sparcv9v/memcpy.S: Moved to... + * sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S: ... here. New + file. + * sysdeps/sparc/sparc32/sparcv9v/memset.S: Moved to... + * sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S: ... here. New + file. + 2007-08-15 Jakub Jelinek * sysdeps/sparc/fpu/fraiseexcpt.c (__feraiseexcept): Fix raising diff --git a/elf/Makefile b/elf/Makefile index d1b3c5a1f5..2943acc66b 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -307,7 +307,8 @@ $(objpfx)ld.so: $(objpfx)librtld.os $(ld-map) $(filter-out $(map-file),$^) $(load-map-file) \ -Wl,-soname=$(rtld-installed-name) -T $@.lds rm -f $@.lds - nm -u $@ | cmp -s /dev/null - + readelf -s $@ \ + | awk '($$7 ~ /^UND(|EF)$$/ && $$1 != "0:" && $$4 != "REGISTER") { print; p=1 } END { exit p != 0 }' # interp.c exists just to get this string into the libraries. CFLAGS-interp.c = -D'RUNTIME_LINKER="$(slibdir)/$(rtld-installed-name)"' \ diff --git a/fedora/branch.mk b/fedora/branch.mk index 293333c941..a6a31c8035 100644 --- a/fedora/branch.mk +++ b/fedora/branch.mk @@ -3,5 +3,5 @@ glibc-branch := fedora glibc-base := HEAD DIST_BRANCH := devel COLLECTION := dist-f8 -fedora-sync-date := 2007-08-15 20:49 UTC -fedora-sync-tag := fedora-glibc-20070815T2049 +fedora-sync-date := 2007-08-16 21:21 UTC +fedora-sync-tag := fedora-glibc-20070816T2121 diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in index 0410094832..dc13a53a20 100644 --- a/fedora/glibc.spec.in +++ b/fedora/glibc.spec.in @@ -1,4 +1,4 @@ -%define glibcrelease 10 +%define glibcrelease 11 %define run_glibc_tests 1 %define auxarches i586 i686 athlon sparcv9v sparc64v alphaev6 %define xenarches i686 athlon @@ -256,8 +256,6 @@ package or when debugging this package. # memmove. The memcpy implementation below is not tolerant at # all. rm -f sysdeps/alpha/alphaev6/memcpy.S -mv sysdeps/sparc/sparc32/{,sparcv9/}sparcv9b -mv sysdeps/sparc/sparc32/{,sparcv9/}sparcv9v find . -type f -size 0 -o -name "*.orig" -exec rm -f {} \; cat > find_provides.sh < 2.6.90-11 +- remove __strtold_internal and __wcstold_internal from ppc*/s390*/sparc* + *-ldbl.h headers +- temporarily backout x86_64 gettimeofday.S changes (#252453) +- some further sparc, sparc64 and alpha fixes + * Wed Aug 15 2007 Jakub Jelinek 2.6.90-10 - don't open /etc/ld.so.{cache,preload} with O_NOATIME (#252146) - s390{,x}, alpha and sparc fixes diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 3e4ca2333e..4edb7af9ab 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,10 @@ +2007-08-16 Jakub Jelinek + + * sysdeps/unix/sysv/linux/alpha/lowlevellock.h + (__lll_robust_timedlock): Pass private as last argument to + __lll_robust_timedlock_wait. + (__lll_unlock): Fix a pasto. + 2007-08-15 Jakub Jelinek * sysdeps/unix/sysv/linux/sparc/internaltypes.h (sparc_new_sem, diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h index 4487607bb3..9fa321cb3f 100644 --- a/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h +++ b/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h @@ -219,7 +219,7 @@ __lll_robust_timedlock (int *futex, const struct timespec *abstime, { int result = 0; if (atomic_compare_and_exchange_bool_acq (futex, id, 0) != 0) - result = __lll_robust_timedlock_wait (futex, abstime); + result = __lll_robust_timedlock_wait (futex, abstime, private); return result; } #define lll_robust_timedlock(futex, abstime, id, private) \ @@ -229,7 +229,7 @@ __lll_robust_timedlock (int *futex, const struct timespec *abstime, #define __lll_unlock(futex, private) \ (void) \ ({ int *__futex = (futex); \ - ({ int __oldval = atomic_exchange_rel (__futex, 0); \ + int __oldval = atomic_exchange_rel (__futex, 0); \ if (__builtin_expect (__oldval > 1, 0)) \ lll_futex_wake (__futex, 1, private); \ }) diff --git a/stdlib/bits/stdlib-ldbl.h b/stdlib/bits/stdlib-ldbl.h index b197c5754d..d48e1f7004 100644 --- a/stdlib/bits/stdlib-ldbl.h +++ b/stdlib/bits/stdlib-ldbl.h @@ -1,5 +1,5 @@ /* -mlong-double-64 compatibility mode for functions. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 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 @@ -31,8 +31,6 @@ __END_NAMESPACE_C99 __LDBL_REDIR1_DECL (strtold_l, strtod_l) #endif -__LDBL_REDIR1_DECL (__strtold_internal, __strtod_internal) - #if defined __USE_SVID || defined __USE_XOPEN_EXTENDED # ifdef __USE_MISC __LDBL_REDIR1_DECL (qecvt, ecvt) diff --git a/sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S b/sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S new file mode 100644 index 0000000000..61960dce61 --- /dev/null +++ b/sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S @@ -0,0 +1,2 @@ +#define XCC icc +#include diff --git a/sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S b/sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S new file mode 100644 index 0000000000..4c05f57bc2 --- /dev/null +++ b/sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S @@ -0,0 +1,2 @@ +#define XCC icc +#include diff --git a/sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S b/sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S new file mode 100644 index 0000000000..5e46c7489f --- /dev/null +++ b/sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S @@ -0,0 +1,2 @@ +#define XCC icc +#include diff --git a/sysdeps/sparc/sparc32/sparcv9b/memcpy.S b/sysdeps/sparc/sparc32/sparcv9b/memcpy.S deleted file mode 100644 index 1404dead73..0000000000 --- a/sysdeps/sparc/sparc32/sparcv9b/memcpy.S +++ /dev/null @@ -1,4 +0,0 @@ -#define ASI_PNF 0x82 -#define ASI_BLK_P 0xf0 -#define XCC icc -#include diff --git a/sysdeps/sparc/sparc32/sparcv9v/memcpy.S b/sysdeps/sparc/sparc32/sparcv9v/memcpy.S deleted file mode 100644 index 4c05f57bc2..0000000000 --- a/sysdeps/sparc/sparc32/sparcv9v/memcpy.S +++ /dev/null @@ -1,2 +0,0 @@ -#define XCC icc -#include diff --git a/sysdeps/sparc/sparc32/sparcv9v/memset.S b/sysdeps/sparc/sparc32/sparcv9v/memset.S deleted file mode 100644 index 5e46c7489f..0000000000 --- a/sysdeps/sparc/sparc32/sparcv9v/memset.S +++ /dev/null @@ -1,2 +0,0 @@ -#define XCC icc -#include diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S b/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S index 1e099cc97d..a64d8e519b 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S @@ -41,9 +41,9 @@ ENTRY (__clone) /* sanity check arguments */ orcc %i0,%g0,%g2 - be .Lerror + be .Leinval orcc %i1,%g0,%o1 - be .Lerror + be .Leinval mov %i2,%o0 /* The child_stack is the top of the stack, allocate one @@ -70,9 +70,11 @@ ENTRY (__clone) jmpl %i7 + 8, %g0 restore %o0,%g0,%o0 +.Leinval: + mov EINVAL, %o0 .Lerror: call HIDDEN_JUMPTARGET(__errno_location) - or %g0,EINVAL,%i0 + mov %o0, %i0 st %i0,[%o0] jmpl %i7 + 8, %g0 restore %g0,-1,%o0 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S b/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S index b1dcc914b0..2bbbd80202 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S @@ -62,33 +62,16 @@ ENTRY (__clone) /* Do the system call */ set __NR_clone, %g1 ta 0x6d - bcs,pn %xcc, 99f + bcs,pn %xcc, 98f nop brnz,pn %o1, __thread_start nop jmpl %i7 + 8, %g0 restore %o0, %g0, %o0 -99: -#ifndef _LIBC_REENTRANT -#ifdef PIC - call 1f - sethi %hi(_GLOBAL_OFFSET_TABLE_-(99b-.)), %l7 -1: or %l7, %lo(_GLOBAL_OFFSET_TABLE_-(99b-.)), %l7 - add %l7, %o7, %l7 - set EINVAL, %i0 - sethi %hi(errno), %g2 - or %g2, %lo(errno), %g2 - st %i0, [%l7+%g2] -#else - sethi %hi(errno), %g2 - set EINVAL, %i0 - st %i0, [%g2+%lo(errno)] -#endif -#else - call HIDDEN_JUMPTARGET(__errno_location) - nop +99: mov EINVAL, %o0 +98: call HIDDEN_JUMPTARGET(__errno_location) + mov %o0, %i0 st %i0, [%o0] -#endif jmpl %i7 + 8, %g0 restore %g0,-1,%o0 END(__clone) diff --git a/sysdeps/unix/sysv/linux/x86_64/gettimeofday.S b/sysdeps/unix/sysv/linux/x86_64/gettimeofday.S index f618e738b1..c74fc67cac 100644 --- a/sysdeps/unix/sysv/linux/x86_64/gettimeofday.S +++ b/sysdeps/unix/sysv/linux/x86_64/gettimeofday.S @@ -28,7 +28,7 @@ ENTRY (__gettimeofday) /* Align stack. */ sub $0x8, %rsp cfi_adjust_cfa_offset(8) -#ifdef SHARED +#if 0 /* def SHARED */ movq __vdso_gettimeofday(%rip), %rax PTR_DEMANGLE (%rax) #else diff --git a/wcsmbs/bits/wchar-ldbl.h b/wcsmbs/bits/wchar-ldbl.h index 5e4894567c..56a28d33b9 100644 --- a/wcsmbs/bits/wchar-ldbl.h +++ b/wcsmbs/bits/wchar-ldbl.h @@ -1,5 +1,5 @@ /* -mlong-double-64 compatibility mode for functions. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 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 @@ -48,8 +48,6 @@ __END_NAMESPACE_C99 __LDBL_REDIR1_DECL (wcstold_l, wcstod_l); #endif -__LDBL_REDIR1_DECL (__wcstold_internal, __wcstod_internal); - #if __USE_FORTIFY_LEVEL > 0 && !defined __cplusplus __LDBL_REDIR_DECL (__swprintf_chk) __LDBL_REDIR_DECL (__vswprintf_chk) -- cgit v1.2.3