From 6c00c753af3ea5b20a1b62ce66378bb453f0dfb997ac5ba25a90e51b0812b043 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Thu, 17 Oct 2013 12:05:39 +0000 Subject: [PATCH] Accepting request 203482 from Base:System - Depend on gcc defaults for base powerpc optimisations (bnc#844824) (forwarded request 203481 from Andreas_Schwab) OBS-URL: https://build.opensuse.org/request/show/203482 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/glibc?expand=0&rev=158 --- glibc-testsuite.changes | 11 +++++++++ glibc-testsuite.spec | 22 +++++++++++------- glibc-utils.changes | 11 +++++++++ glibc-utils.spec | 22 +++++++++++------- glibc.changes | 11 +++++++++ glibc.spec | 22 +++++++++++------- m68k-Scrt1.patch | 50 +++++++++++++++++++++++++++++++++++++++++ 7 files changed, 125 insertions(+), 24 deletions(-) create mode 100644 m68k-Scrt1.patch diff --git a/glibc-testsuite.changes b/glibc-testsuite.changes index 0bdc9eb..16e45fb 100644 --- a/glibc-testsuite.changes +++ b/glibc-testsuite.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Oct 14 09:32:44 UTC 2013 - schwab@suse.de + +- Depend on gcc defaults for base powerpc optimisations (bnc#844824) + +------------------------------------------------------------------- +Fri Oct 11 08:37:38 UTC 2013 - schwab@suse.de + +- Enable ports addon for m68k and adapt file list +- m68k-Scrt1.patch: Use PIC for Scrt1.o + ------------------------------------------------------------------- Thu Sep 19 14:12:59 UTC 2013 - schwab@suse.de diff --git a/glibc-testsuite.spec b/glibc-testsuite.spec index 5139594..2040362 100644 --- a/glibc-testsuite.spec +++ b/glibc-testsuite.spec @@ -78,11 +78,11 @@ BuildRequires: gd-devel %ifarch ppc ppc64 %define optimize_power 1 %ifarch ppc - %define powerpc_optimize_base power3 + %define powerpc_optimize_base %{nil} %define powerpc_optimize_tune power3 %define powerpc_optimize_cpu_power4 %{normal_build} %else - %define powerpc_optimize_base power4 + %define powerpc_optimize_base %{nil} %define powerpc_optimize_tune power5 %define powerpc_optimize_cpu_power4 0 %endif @@ -92,7 +92,7 @@ BuildRequires: gd-devel %define powerpc_optimize_cpu_cell 0 %else %define optimize_power 0 - %define powerpc_optimize_base 0 + %define powerpc_optimize_base %{nil} %define powerpc_optimize_cpu_power4 0 %define powerpc_optimize_cpu_power6 0 %define powerpc_optimize_cpu_power7 0 @@ -246,6 +246,8 @@ Patch306: glibc-fix-double-loopback.diff Patch1000: fcntl-o-tmpfile.patch # PATCH-FIX-UPSTREAM Integer overflows in malloc Patch1001: malloc-overflows.patch +# PATCH-FIX-UPSTREAM m68k: Use PIC for Scrt1.o +Patch1002: m68k-Scrt1.patch ### # Patches awaiting upstream approval @@ -472,6 +474,7 @@ rm nscd/s-stamp %patch1000 -p1 %patch1001 -p1 +%patch1002 -p1 # XXX Disable, it breaks the testsuite, test elf/tst-audit2 # %patch2008 -p1 @@ -585,7 +588,7 @@ add_ons=",libidn" %ifarch %ix86 add_ons=$add_ons,noversion %endif -%ifarch %arm aarch64 mipsel ia64 +%ifarch %arm aarch64 mipsel ia64 m68k add_ons=$add_ons,ports %endif %ifarch mipsel @@ -655,8 +658,11 @@ configure_and_build_glibc() { # Build POWER-optimized glibc # # First, base build: - pBuildFlags="$BuildFlags -mcpu=%{powerpc_optimize_base} -mtune=%{powerpc_optimize_tune}" - %if %{powerpc_optimize_base} != "power3" + pBuildFlags="$BuildFlags -mtune=%{powerpc_optimize_tune}" + %if "%{powerpc_optimize_base}" != "" + pBuildFlags+=" -mcpu=%{powerpc_optimize_base}" + %endif + %if "%{powerpc_optimize_base}" != "" configure_and_build_glibc base "$pBuildFlags" "$add_ons" --with-cpu=%{powerpc_optimize_base} %else # Use no default CPU @@ -1057,7 +1063,7 @@ exit 0 %ifarch ia64 /%{_lib}/ld-linux-ia64.so.2 %endif -%ifarch ppc s390 mips hppa +%ifarch ppc s390 mips hppa m68k /%{_lib}/ld.so.1 %endif %ifarch ppc64 @@ -1156,7 +1162,7 @@ exit 0 %{_bindir}/getent %{_bindir}/iconv %attr(755,root,root) %{_bindir}/ldd -%ifarch %ix86 sparc sparcv9 +%ifarch %ix86 sparc sparcv9 m68k %{_bindir}/lddlibc4 %endif %{_bindir}/locale diff --git a/glibc-utils.changes b/glibc-utils.changes index 0bdc9eb..16e45fb 100644 --- a/glibc-utils.changes +++ b/glibc-utils.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Oct 14 09:32:44 UTC 2013 - schwab@suse.de + +- Depend on gcc defaults for base powerpc optimisations (bnc#844824) + +------------------------------------------------------------------- +Fri Oct 11 08:37:38 UTC 2013 - schwab@suse.de + +- Enable ports addon for m68k and adapt file list +- m68k-Scrt1.patch: Use PIC for Scrt1.o + ------------------------------------------------------------------- Thu Sep 19 14:12:59 UTC 2013 - schwab@suse.de diff --git a/glibc-utils.spec b/glibc-utils.spec index bf0217a..49a96ff 100644 --- a/glibc-utils.spec +++ b/glibc-utils.spec @@ -77,11 +77,11 @@ BuildRequires: gd-devel %ifarch ppc ppc64 %define optimize_power 1 %ifarch ppc - %define powerpc_optimize_base power3 + %define powerpc_optimize_base %{nil} %define powerpc_optimize_tune power3 %define powerpc_optimize_cpu_power4 %{normal_build} %else - %define powerpc_optimize_base power4 + %define powerpc_optimize_base %{nil} %define powerpc_optimize_tune power5 %define powerpc_optimize_cpu_power4 0 %endif @@ -91,7 +91,7 @@ BuildRequires: gd-devel %define powerpc_optimize_cpu_cell 0 %else %define optimize_power 0 - %define powerpc_optimize_base 0 + %define powerpc_optimize_base %{nil} %define powerpc_optimize_cpu_power4 0 %define powerpc_optimize_cpu_power6 0 %define powerpc_optimize_cpu_power7 0 @@ -245,6 +245,8 @@ Patch306: glibc-fix-double-loopback.diff Patch1000: fcntl-o-tmpfile.patch # PATCH-FIX-UPSTREAM Integer overflows in malloc Patch1001: malloc-overflows.patch +# PATCH-FIX-UPSTREAM m68k: Use PIC for Scrt1.o +Patch1002: m68k-Scrt1.patch ### # Patches awaiting upstream approval @@ -472,6 +474,7 @@ rm nscd/s-stamp %patch1000 -p1 %patch1001 -p1 +%patch1002 -p1 # XXX Disable, it breaks the testsuite, test elf/tst-audit2 # %patch2008 -p1 @@ -585,7 +588,7 @@ add_ons=",libidn" %ifarch %ix86 add_ons=$add_ons,noversion %endif -%ifarch %arm aarch64 mipsel ia64 +%ifarch %arm aarch64 mipsel ia64 m68k add_ons=$add_ons,ports %endif %ifarch mipsel @@ -655,8 +658,11 @@ configure_and_build_glibc() { # Build POWER-optimized glibc # # First, base build: - pBuildFlags="$BuildFlags -mcpu=%{powerpc_optimize_base} -mtune=%{powerpc_optimize_tune}" - %if %{powerpc_optimize_base} != "power3" + pBuildFlags="$BuildFlags -mtune=%{powerpc_optimize_tune}" + %if "%{powerpc_optimize_base}" != "" + pBuildFlags+=" -mcpu=%{powerpc_optimize_base}" + %endif + %if "%{powerpc_optimize_base}" != "" configure_and_build_glibc base "$pBuildFlags" "$add_ons" --with-cpu=%{powerpc_optimize_base} %else # Use no default CPU @@ -1057,7 +1063,7 @@ exit 0 %ifarch ia64 /%{_lib}/ld-linux-ia64.so.2 %endif -%ifarch ppc s390 mips hppa +%ifarch ppc s390 mips hppa m68k /%{_lib}/ld.so.1 %endif %ifarch ppc64 @@ -1156,7 +1162,7 @@ exit 0 %{_bindir}/getent %{_bindir}/iconv %attr(755,root,root) %{_bindir}/ldd -%ifarch %ix86 sparc sparcv9 +%ifarch %ix86 sparc sparcv9 m68k %{_bindir}/lddlibc4 %endif %{_bindir}/locale diff --git a/glibc.changes b/glibc.changes index 0bdc9eb..16e45fb 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Oct 14 09:32:44 UTC 2013 - schwab@suse.de + +- Depend on gcc defaults for base powerpc optimisations (bnc#844824) + +------------------------------------------------------------------- +Fri Oct 11 08:37:38 UTC 2013 - schwab@suse.de + +- Enable ports addon for m68k and adapt file list +- m68k-Scrt1.patch: Use PIC for Scrt1.o + ------------------------------------------------------------------- Thu Sep 19 14:12:59 UTC 2013 - schwab@suse.de diff --git a/glibc.spec b/glibc.spec index b3c13fc..9f8cc95 100644 --- a/glibc.spec +++ b/glibc.spec @@ -78,11 +78,11 @@ BuildRequires: gd-devel %ifarch ppc ppc64 %define optimize_power 1 %ifarch ppc - %define powerpc_optimize_base power3 + %define powerpc_optimize_base %{nil} %define powerpc_optimize_tune power3 %define powerpc_optimize_cpu_power4 %{normal_build} %else - %define powerpc_optimize_base power4 + %define powerpc_optimize_base %{nil} %define powerpc_optimize_tune power5 %define powerpc_optimize_cpu_power4 0 %endif @@ -92,7 +92,7 @@ BuildRequires: gd-devel %define powerpc_optimize_cpu_cell 0 %else %define optimize_power 0 - %define powerpc_optimize_base 0 + %define powerpc_optimize_base %{nil} %define powerpc_optimize_cpu_power4 0 %define powerpc_optimize_cpu_power6 0 %define powerpc_optimize_cpu_power7 0 @@ -246,6 +246,8 @@ Patch306: glibc-fix-double-loopback.diff Patch1000: fcntl-o-tmpfile.patch # PATCH-FIX-UPSTREAM Integer overflows in malloc Patch1001: malloc-overflows.patch +# PATCH-FIX-UPSTREAM m68k: Use PIC for Scrt1.o +Patch1002: m68k-Scrt1.patch ### # Patches awaiting upstream approval @@ -472,6 +474,7 @@ rm nscd/s-stamp %patch1000 -p1 %patch1001 -p1 +%patch1002 -p1 # XXX Disable, it breaks the testsuite, test elf/tst-audit2 # %patch2008 -p1 @@ -585,7 +588,7 @@ add_ons=",libidn" %ifarch %ix86 add_ons=$add_ons,noversion %endif -%ifarch %arm aarch64 mipsel ia64 +%ifarch %arm aarch64 mipsel ia64 m68k add_ons=$add_ons,ports %endif %ifarch mipsel @@ -655,8 +658,11 @@ configure_and_build_glibc() { # Build POWER-optimized glibc # # First, base build: - pBuildFlags="$BuildFlags -mcpu=%{powerpc_optimize_base} -mtune=%{powerpc_optimize_tune}" - %if %{powerpc_optimize_base} != "power3" + pBuildFlags="$BuildFlags -mtune=%{powerpc_optimize_tune}" + %if "%{powerpc_optimize_base}" != "" + pBuildFlags+=" -mcpu=%{powerpc_optimize_base}" + %endif + %if "%{powerpc_optimize_base}" != "" configure_and_build_glibc base "$pBuildFlags" "$add_ons" --with-cpu=%{powerpc_optimize_base} %else # Use no default CPU @@ -1057,7 +1063,7 @@ exit 0 %ifarch ia64 /%{_lib}/ld-linux-ia64.so.2 %endif -%ifarch ppc s390 mips hppa +%ifarch ppc s390 mips hppa m68k /%{_lib}/ld.so.1 %endif %ifarch ppc64 @@ -1156,7 +1162,7 @@ exit 0 %{_bindir}/getent %{_bindir}/iconv %attr(755,root,root) %{_bindir}/ldd -%ifarch %ix86 sparc sparcv9 +%ifarch %ix86 sparc sparcv9 m68k %{_bindir}/lddlibc4 %endif %{_bindir}/locale diff --git a/m68k-Scrt1.patch b/m68k-Scrt1.patch new file mode 100644 index 0000000..66dff9f --- /dev/null +++ b/m68k-Scrt1.patch @@ -0,0 +1,50 @@ +2013-10-08 Andreas Schwab + + * sysdeps/m68k/start.S [SHARED]: Use PIC. + +Index: glibc-2.18/ports/sysdeps/m68k/start.S +=================================================================== +--- glibc-2.18.orig/ports/sysdeps/m68k/start.S ++++ glibc-2.18/ports/sysdeps/m68k/start.S +@@ -52,6 +52,8 @@ + NULL + */ + ++#include ++ + .text + .globl _start + .type _start,@function +@@ -74,6 +76,24 @@ _start: + pea (%a1) /* Push address of the shared library + termination function. */ + ++#ifdef SHARED ++ /* Load PIC register. */ ++ LOAD_GOT (%a5) ++ ++ /* Push the address of our own entry points to `.fini' and ++ `.init'. */ ++ move.l __libc_csu_fini@GOT(%a5), -(%sp) ++ move.l __libc_csu_init@GOT(%a5), -(%sp) ++ ++ pea (%a0) /* Push second argument: argv. */ ++ move.l %d0, -(%sp) /* Push first argument: argc. */ ++ ++ move.l main@GOT(%a5), -(%sp) ++ ++ /* Call the user's main function, and exit with its value. But ++ let the libc call main. */ ++ jbsr __libc_start_main@PLTPC ++#else + /* Push the address of our own entry points to `.fini' and + `.init'. */ + pea __libc_csu_fini +@@ -87,6 +107,7 @@ _start: + /* Call the user's main function, and exit with its value. But + let the libc call main. */ + jbsr __libc_start_main ++#endif + + illegal /* Crash if somehow `exit' does return. */ +