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

Reply via email to