commit d96a9968cb69a9c25fd1dc8c803fdc2ac371fc05
Author: Jan RÄ™korajski <[email protected]>
Date:   Sat Dec 20 23:32:09 2014 +0100

    - remove unused and brokn cross-gcc_eh patch
    - workaround for broken echo in mksh (-e on by default)
    - add x32 arch bits

 fix-broken-echo.patch    | 44 ++++++++++++++++++++++++++++++++++++++++++++
 glibc-cross-gcc_eh.patch | 18 ------------------
 glibc.spec               | 16 +++++++++-------
 3 files changed, 53 insertions(+), 25 deletions(-)
---
diff --git a/glibc.spec b/glibc.spec
index 7062bcd..35cf1f7 100644
--- a/glibc.spec
+++ b/glibc.spec
@@ -13,7 +13,7 @@
 %bcond_without selinux         # without SELinux support (in nscd)
 %bcond_with    tests           # perform "make test"
 %bcond_without localedb        # don't build localedb-all (is time consuming)
-%bcond_with    cross           # build using crossgcc (without libgcc_eh)
+%bcond_with    cross           # make a cross build, skip native programs
 %bcond_without nss_crypt       # disable nss-crypt
 #
 %{!?min_kernel:%global         min_kernel      2.6.32}
@@ -76,7 +76,6 @@ Patch17:      %{name}-morelocales.patch
 Patch18:       %{name}-locale_fixes.patch
 Patch19:       %{name}-ZA_collate.patch
 Patch20:       %{name}-thread_start.patch
-Patch21:       %{name}-cross-gcc_eh.patch
 Patch22:       %{name}-with-stroke.patch
 Patch23:       %{name}-pt_pax.patch
 Patch25:       %{name}-cv_gnu89_inline.patch
@@ -88,7 +87,7 @@ Patch29:      %{name}-arm-alignment-fix.patch
 Patch30:       glibc-rh1124987.patch
 Patch31:       %{name}-origin.patch
 Patch32:       %{name}-Os-fail-workaround.patch
-
+Patch33:       fix-broken-echo.patch
 Patch38:       1055_all_glibc-resolv-dynamic.patch
 URL:           http://www.gnu.org/software/libc/
 %{?with_selinux:BuildRequires: audit-libs-devel}
@@ -138,7 +137,7 @@ Conflicts:  poldek < 0.18.8-5
 Conflicts:     rc-scripts < 0.3.1-13
 Conflicts:     rpm < 4.1
 Conflicts:     xorg-driver-video-nvidia-libs < 1:295.33
-ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} ia64 alpha 
s390 s390x sparc sparc64 sparcv9 ppc ppc64 armv5tel
+ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} x32 ia64 alpha 
s390 s390x sparc sparc64 sparcv9 ppc ppc64 armv5tel
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 # avoid -s here (ld.so must not be stripped to allow any program debugging)
@@ -969,7 +968,6 @@ exit 1
 %patch18 -p1
 %patch19 -p1
 %patch20 -p1
-%{?with_cross:%patch21 -p1}
 %patch22 -p1
 %patch23 -p0
 
@@ -981,6 +979,7 @@ exit 1
 %patch30 -p1
 %patch31 -p1
 %patch32 -p1
+%patch33 -p1
 
 %patch38 -p1
 
@@ -1382,10 +1381,13 @@ fi
 %ifarch %{x8664}
 %attr(755,root,root) /%{_lib}/ld-linux-x86-64.so.2
 %endif
+%ifarch x32
+%attr(755,root,root) /%{_lib}/ld-linux-x32.so.2
+%endif
 %ifarch ppc64 s390x
 %attr(755,root,root) /%{_lib}/ld64.so.1
 %endif
-%ifnarch %{ix86} sparc sparcv9 sparc64 alpha sh ia64 %{x8664} ppc64 s390x 
%{arm}
+%ifnarch %{ix86} sparc sparcv9 sparc64 alpha sh ia64 %{x8664} x32 ppc64 s390x 
%{arm}
 %attr(755,root,root) /%{_lib}/ld.so.1
 %endif
 %attr(755,root,root) /%{_lib}/libBrokenLocale-%{core_version}.so
@@ -1689,7 +1691,7 @@ fi
 %endif
 %{_libdir}/libpthread_nonshared.a
 %{_libdir}/librpcsvc.a
-%ifarch %{ix86} %{x8664} ppc ppc64 s390 s390x sparc sparcv9 sparc64
+%ifarch %{ix86} %{x8664} x32 ppc ppc64 s390 s390x sparc sparcv9 sparc64
 # ABI-dependent headers
 %{_includedir}/gnu/stubs-*.h
 %endif
diff --git a/fix-broken-echo.patch b/fix-broken-echo.patch
new file mode 100644
index 0000000..a29761c
--- /dev/null
+++ b/fix-broken-echo.patch
@@ -0,0 +1,44 @@
+--- glibc-2.20/sysdeps/unix/make-syscalls.sh.orig      2014-12-20 
14:00:04.210261443 +0100
++++ glibc-2.20/sysdeps/unix/make-syscalls.sh   2014-12-20 14:01:10.059904705 
+0100
+@@ -276,27 +276,27 @@
+     vdso_symbol="${vdso_syscall%@*}"
+     vdso_symver="${vdso_syscall#*@}"
+     vdso_symver=`echo "$vdso_symver" | sed 's/\./_/g'`
+-    echo "\
++    echo -E "\
+ \$(foreach p,\$(sysd-rules-targets),\$(objpfx)\$(patsubst %,\$p,$file).os): \\
+               \$(..)sysdeps/unix/make-syscalls.sh\
+       \$(make-target-directory)
+-      (echo '#include <dl-vdso.h>'; \\
+-       echo 'extern void *${strong}_ifunc (void) __asm (\"${strong}\");'; \\
+-       echo 'void *'; \\
+-       echo '${strong}_ifunc (void)'; \\
+-       echo '{'; \\
+-       echo '  PREPARE_VERSION_KNOWN (symver, ${vdso_symver});'; \\
+-       echo '  return _dl_vdso_vsym (\"${vdso_symbol}\", &symver);'; \\
+-       echo '}'; \\
+-       echo 'asm (\".type ${strong}, %gnu_indirect_function\");'; \\"
++      (echo -E '#include <dl-vdso.h>'; \\
++       echo -E 'extern void *${strong}_ifunc (void) __asm (\"${strong}\");'; 
\\
++       echo -E 'void *'; \\
++       echo -E '${strong}_ifunc (void)'; \\
++       echo -E '{'; \\
++       echo -E '  PREPARE_VERSION_KNOWN (symver, ${vdso_symver});'; \\
++       echo -E '  return _dl_vdso_vsym (\"${vdso_symbol}\", &symver);'; \\
++       echo -E '}'; \\
++       echo -E 'asm (\".type ${strong}, %gnu_indirect_function\");'; \\"
+     # This is doing "libc_hidden_def (${strong})", but the compiler
+     # doesn't know that we've defined ${strong} in the same file, so
+     # we can't do it the normal way.
+-    echo "\
+-       echo 'asm (\".globl __GI_${strong}\\n\"'; \\
+-       echo '     \"__GI_${strong} = ${strong}\");'; \\"
++    echo -E "\
++       echo -E 'asm (\".globl __GI_${strong}\\n\"'; \\
++       echo -E '     \"__GI_${strong} = ${strong}\");'; \\"
+     emit_weak_aliases
+-    echo '    ) | $(compile-stdin.c) '"\
++    echo -E ' ) | $(compile-stdin.c) '"\
+ \$(foreach p,\$(patsubst %$file,%,\$(basename \$(@F))),\$(\$(p)CPPFLAGS))"
+   fi
+ 
diff --git a/glibc-cross-gcc_eh.patch b/glibc-cross-gcc_eh.patch
deleted file mode 100644
index a9979da..0000000
--- a/glibc-cross-gcc_eh.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- libc/Makeconfig.orig       2004-12-31 20:33:44.918457704 +0100
-+++ libc/Makeconfig    2004-12-31 20:55:54.452337832 +0100
-@@ -514,12 +514,12 @@
-   libunwind = -lunwind
- endif
- ifneq ($(have-as-needed),yes)
-- libgcc_eh := -lgcc_eh $(libunwind)
-+ libgcc_eh := $(libunwind)
- else
-  libgcc_eh := -Wl,--as-needed -lgcc_s$(libgcc_s_suffix) $(libunwind) 
-Wl,--no-as-needed
- endif
- gnulib := -lgcc $(libgcc_eh)
--static-gnulib := -lgcc -lgcc_eh $(libunwind)
-+static-gnulib := -lgcc $(libunwind)
- libc.so-gnulib := -lgcc
- endif
- ifeq ($(elf),yes)
-
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/glibc.git/commitdiff/d96a9968cb69a9c25fd1dc8c803fdc2ac371fc05

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to