Hello community, here is the log from the commit of package glibc for openSUSE:Factory checked in at 2011-11-14 11:52:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/glibc (Old) and /work/SRC/openSUSE:Factory/.glibc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glibc", Maintainer is "m...@suse.com" Changes: -------- --- /work/SRC/openSUSE:Factory/glibc/glibc.changes 2011-11-08 09:25:57.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.glibc.new/glibc.changes 2011-11-14 11:52:30.000000000 +0100 @@ -1,0 +2,15 @@ +Tue Nov 8 22:55:40 CET 2011 - dmuel...@suse.de + +- make glibc-static provide versioned + +------------------------------------------------------------------- +Tue Nov 8 18:20:39 CET 2011 - dmuel...@suse.de + +- fix building with ports again: + * ifuncs tracing backport requires adjustments + +- avoid using asynchronous-unwind-tables only during configure, + but still built the library with unwind tables enabled +- replace arm build hack with a proper solution + +------------------------------------------------------------------ @@ -77 +91,0 @@ -- add armv8l architecture @@ -78,0 +93 @@ +- armv8l architecture does not exist New: ---- glibc-ports-2.15-ifunc-trace.patch nscd-avoid-gcc-warning.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ glibc.spec ++++++ --- /var/tmp/diff_new_pack.1ZjrSQ/_old 2011-11-14 11:52:32.000000000 +0100 +++ /var/tmp/diff_new_pack.1ZjrSQ/_new 2011-11-14 11:52:32.000000000 +0100 @@ -80,10 +80,12 @@ Version: 2.14.1 Release: 12 %define git_id 4f2b767fef50 +%define glibc_ports_ver %version Url: http://www.gnu.org/software/libc/libc.html BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: glibc-%{version}-%{git_id}.tar.bz2 -Source2: http://ftp.gnu.org/gnu/glibc/glibc-ports-%{version}.tar.bz2 +%define glibc_ports_dir glibc-ports-%{glibc_ports_ver} +Source2: http://ftp.gnu.org/gnu/glibc/glibc-ports-%{glibc_ports_ver}.tar.bz2 Source3: noversion.tar.bz2 Source4: manpages.tar.bz2 Source8: nsswitch.conf @@ -209,6 +211,8 @@ Patch74: glibc-2.14-fix-ctors.patch # PATCH-FIX-UPSTREAM Fix trace and ifuncs a...@suse.de Patch75: glibc-2.15-ifunc-trace.patch +# PATCH-FIX-UPSTREAM Fix trace and ifuncs (talk to a...@suse.de) +Patch76: glibc-ports-2.15-ifunc-trace.patch # PATCH-FEATURE-OPENSUSE -- add sha support to crypt_blowfish lnus...@suse.de Patch80: crypt_blowfish-1.2-sha.diff # PATCH-FEATURE-OPENSUSE -- use separate symbol version for Owl extensions - lnus...@suse.de @@ -217,6 +221,8 @@ Patch82: crypt_blowfish-1.2-hack_around_arm.diff # PATCH-FIX-UPSTREAM fix unwinding when using clone() Patch83: glibc-arm-clone-unwind-fix.diff +# PATCH-FIX-OPENSUSE avoid false positive warning that triggers brp postcheck fail +Patch84: nscd-avoid-gcc-warning.diff %description The GNU C Library provides the most important standard libraries used @@ -329,12 +335,11 @@ library. %package devel-static - Summary: C library static libraries for -static linking Group: Development/Libraries/C and C++ Requires: %{name}-devel = %{version} # Provide Fedora name for package to make packaging easier -Provides: %{name}-static +Provides: %{name}-static = %version %description devel-static The glibc-devel-static package contains the C library static libraries @@ -378,8 +383,10 @@ %ifarch %arm # add glibc-ports for arm %setup -n glibc-%{version} -q -a 2 -a 3 -a 4 -mv glibc-ports-* ports -%patch83 +pushd %glibc_ports_dir +%patch76 -p1 +%patch83 -p1 +popd %else # any other leave out ports %setup -n glibc-%{version} -q -a 3 -a 4 @@ -389,9 +396,7 @@ pushd crypt_blowfish-%{crypt_bf_version} %patch80 -p1 %patch81 -p1 -%ifarch %arm %patch82 -%endif popd mv crypt/{crypt.h,gnu-crypt.h} mv crypt_blowfish-%crypt_bf_version/*.[chS] crypt/ @@ -457,6 +462,7 @@ %patch73 -p1 %patch74 -p1 %patch75 -p1 +%patch84 # # Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed! @@ -549,14 +555,11 @@ %ifarch %ix86 add_ons=$add_ons,noversion %endif -%ifarch %arm - add_ons=$add_ons,ports +%ifarch %arm mipsel + add_ons=$add_ons,%glibc_ports_dir # fails to build otherwise - need to recheck and fix %define enable_stackguard_randomization 0 %endif -%ifarch mipsel - add_ons=$add_ons,ports -%endif configure_and_build_glibc() { local dirname="$1"; shift @@ -564,7 +567,15 @@ local addons="$1"; shift mkdir "cc-$dirname" cd "cc-$dirname" - CFLAGS="$cflags" CC="$BuildCC" CXX="$BuildCCplus" ../configure \ +%ifarch %arm + # remove asynchronous-unwind-tables during configure as it causes + # some checks to fail spuriously on %arm + conf_cflags="${cflags/-fasynchronous-unwind-tables/}" + conf_cflags="${conf_cflags/-funwind-tables/}" +%else + conf_cflags="$cflags" +%endif + CFLAGS="$conf_cflags" CC="$BuildCC" CXX="$BuildCCplus" ../configure \ --prefix=%{_prefix} \ --libexecdir=%{_libdir} --infodir=%{_infodir} \ --enable-add-ons=nptl$addons --without-cvs --enable-profile \ @@ -585,7 +596,8 @@ --with-tls --with-__thread --enable-kernel=%{enablekernel} \ --enable-bind-now # Should we enable --enable-nss-crypt to build use freebl3 hash functions? - make $PARALLEL + # explicitly set CFLAGS to use the full CFLAGS (not the reduced one for configure) + make $PARALLEL CFLAGS="$cflags" cd .. } @@ -938,7 +950,7 @@ %ifarch x86_64 /%{_lib}/ld-linux-x86-64.so.2 %else - %ifarch %arm armv5tel armv7l armv8l + %ifarch %arm /%{_lib}/ld-linux.so.3 %else /%{_lib}/ld-linux.so.2 ++++++ crypt_blowfish-1.2-hack_around_arm.diff ++++++ --- /var/tmp/diff_new_pack.1ZjrSQ/_old 2011-11-14 11:52:32.000000000 +0100 +++ /var/tmp/diff_new_pack.1ZjrSQ/_new 2011-11-14 11:52:32.000000000 +0100 @@ -1,13 +1,9 @@ --- x86.S +++ x86.S -@@ -196,8 +196,8 @@ - hlt - jmp BF_die +@@ -199,5 +199,5 @@ + #endif --#endif -- #if defined(__ELF__) && defined(__linux__) - .section .note.GNU-stack,"",@progbits +-.section .note.GNU-stack,"",@progbits ++.section .note.GNU-stack,"",%progbits #endif -+ -+#endif ++++++ glibc-ports-2.15-ifunc-trace.patch ++++++ commit 0507f293c9b67d8eec92e8178308d72f1ed88449 Author: Andreas Schwab <sch...@redhat.com> Date: Wed Oct 5 11:51:41 2011 +0200 arm: don't call ifunc functions in trace mode --- a/sysdeps/arm/dl-machine.h +++ b/sysdeps/arm/dl-machine.h @@ -335,7 +335,7 @@ auto inline void __attribute__ ((always_inline)) elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, const Elf32_Sym *sym, const struct r_found_version *version, - void *const reloc_addr_arg) + void *const reloc_addr_arg, int skip_ifunc) { Elf32_Addr *const reloc_addr = reloc_addr_arg; const unsigned int r_type = ELF32_R_TYPE (reloc->r_info); @@ -369,9 +369,9 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, Elf32_Addr value = sym_map == NULL ? 0 : sym_map->l_addr + sym->st_value; if (sym != NULL - && __builtin_expect (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC, - 0) - && __builtin_expect (sym->st_shndx != SHN_UNDEF, 1)) + && __builtin_expect (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC, 0) + && __builtin_expect (sym->st_shndx != SHN_UNDEF, 1) + && __builtin_expect (!skip_ifunc, 1)) value = ((Elf32_Addr (*) (void)) value) (); switch (r_type) @@ -430,7 +430,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, } case R_ARM_TLS_DESC: { - struct tlsdesc volatile *td = + struct tlsdesc volatile *td = (struct tlsdesc volatile *)reloc_addr; # ifndef RTLD_BOOTSTRAP @@ -454,10 +454,10 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, else # endif # endif - { + { td->argument.value = value + sym_map->l_tls_offset; td->entry = _dl_tlsdesc_return; - } + } } } break; @@ -525,7 +525,7 @@ auto inline void __attribute__ ((always_inline)) elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, const Elf32_Sym *sym, const struct r_found_version *version, - void *const reloc_addr_arg) + void *const reloc_addr_arg, int skip_ifunc) { Elf32_Addr *const reloc_addr = reloc_addr_arg; const unsigned int r_type = ELF32_R_TYPE (reloc->r_info); @@ -543,9 +543,9 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, Elf32_Addr value = sym_map == NULL ? 0 : sym_map->l_addr + sym->st_value; if (sym != NULL - && __builtin_expect (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC, - 0) - && __builtin_expect (sym->st_shndx != SHN_UNDEF, 1)) + && __builtin_expect (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC, 0) + && __builtin_expect (sym->st_shndx != SHN_UNDEF, 1) + && __builtin_expect (!skip_ifunc, 1)) value = ((Elf32_Addr (*) (void)) value) (); switch (r_type) @@ -656,7 +656,8 @@ elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, auto inline void __attribute__ ((always_inline)) elf_machine_lazy_rel (struct link_map *map, - Elf32_Addr l_addr, const Elf32_Rel *reloc) + Elf32_Addr l_addr, const Elf32_Rel *reloc, + int skip_ifunc) { Elf32_Addr *const reloc_addr = (void *) (l_addr + reloc->r_offset); const unsigned int r_type = ELF32_R_TYPE (reloc->r_info); @@ -674,8 +675,8 @@ elf_machine_lazy_rel (struct link_map *map, (struct tlsdesc volatile *)reloc_addr; /* The linker must have given us the parameter we need in the - first GOT entry, and left the second one empty. We fill the - last with the resolver address */ + first GOT entry, and left the second one empty. We fill the + last with the resolver address */ assert (td->entry == 0); td->entry = (void*)(D_PTR (map, l_info[ADDRIDX (DT_TLSDESC_PLT)]) + map->l_addr); ++++++ nscd-avoid-gcc-warning.diff ++++++ --- nscd/connections.c +++ nscd/connections.c @@ -1717,6 +1717,8 @@ ++nready; } /* NOTREACHED */ + assert(0); + return 0; } -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org