From df64b57568675bc69ef5329ccdde2575ed0d802573c6dc2960c8fc68c58ccf75 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Wed, 25 Apr 2012 10:39:06 +0000 Subject: [PATCH 1/4] Accepting request 115279 from home:adrianSuSE:branches:Base:System fix armv7 provides as discussed with aj OBS-URL: https://build.opensuse.org/request/show/115279 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=174 --- glibc.changes | 5 +++++ glibc.spec | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/glibc.changes b/glibc.changes index 0115fb2..8426c7d 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Apr 25 08:47:22 UTC 2012 - adrian@suse.de + +- provide old ld-linux.so.3 on armv7, not catched by find.provides + ------------------------------------------------------------------- Sun Apr 22 11:35:05 UTC 2012 - aj@suse.de diff --git a/glibc.spec b/glibc.spec index 53f8166..666a560 100644 --- a/glibc.spec +++ b/glibc.spec @@ -108,6 +108,11 @@ Obsoletes: glibc-64bit %ifarch ppc Obsoletes: glibc-32bit %endif +%ifarch armv7l armv7hl +# The old runtime linker link gets not provided by rpm find.provides, but it exists +Provides: ld-linux.so.3 +Provides: ld-linux.so.3(GLIBC_2.4) +%endif Version: 2.15 Release: 0 %define git_id 2ba92745c36e From 15be052ab723a6b207c88be45e4ff47a8983420eb37ebd786a3c11c8d2b74a77 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Wed, 25 Apr 2012 10:41:00 +0000 Subject: [PATCH 2/4] Accepting request 115297 from home:a_jaeger:my-factory-packages Check for armv7hl as well. OBS-URL: https://build.opensuse.org/request/show/115297 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=175 --- glibc.changes | 5 +++++ glibc.spec | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/glibc.changes b/glibc.changes index 8426c7d..a0edbcc 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Apr 25 10:40:20 UTC 2012 - aj@suse.de + +- Also check for armv7hl. + ------------------------------------------------------------------- Wed Apr 25 08:47:22 UTC 2012 - adrian@suse.de diff --git a/glibc.spec b/glibc.spec index 666a560..7cfec31 100644 --- a/glibc.spec +++ b/glibc.spec @@ -546,7 +546,7 @@ rm nscd/s-stamp %endif %patch2001 -p1 -%ifarch armv7l +%ifarch armv7l armv7hl %patch2002 -p1 %endif %patch2003 -p1 @@ -619,6 +619,8 @@ BuildFlags="%{optflags} -U_FORTIFY_SOURCE" BuildFlags="$(echo $BuildFlags | sed -e 's#-fstack-protector##' -e 's#-ffortify=[0-9]*##')" BuildCC="%__cc" BuildCCplus="%__cxx" +BuildCC="gcc-4.6" +BuildCCplus="g++-4.6" add_ons=",libidn" PARALLEL="%{?_smp_mflags}" # @@ -1024,7 +1026,7 @@ mkdir -p %{buildroot}/lib/systemd/system install -m 644 %{SOURCE21} %{buildroot}/lib/systemd/system install -m 644 %{SOURCE22} %{buildroot}/lib/systemd/system -%ifarch armv7l +%ifarch armv7l armv7hl # Provide compatibility link ln -s ld-%{version}.so %{buildroot}/lib/ld-linux.so.3 %endif @@ -1104,7 +1106,7 @@ exit 0 # Each architecture has a different name for the dynamic linker: %ifarch %arm -%ifarch armv7l +%ifarch armv7l armv7hl /%{_lib}/ld-linux-armhf.so.3 # Keep compatibility link /%{_lib}/ld-linux.so.3 From 56b843c31ecb02a3c0436e7bb930c39ec8a1a450426579e4199d272fcfec2940 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 25 Apr 2012 12:55:47 +0000 Subject: [PATCH 3/4] Accepting request 115312 from home:a_jaeger:my-factory-packages Remove accidental gcc 4.6 settings. OBS-URL: https://build.opensuse.org/request/show/115312 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=176 --- glibc.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/glibc.spec b/glibc.spec index 7cfec31..239ac38 100644 --- a/glibc.spec +++ b/glibc.spec @@ -619,8 +619,6 @@ BuildFlags="%{optflags} -U_FORTIFY_SOURCE" BuildFlags="$(echo $BuildFlags | sed -e 's#-fstack-protector##' -e 's#-ffortify=[0-9]*##')" BuildCC="%__cc" BuildCCplus="%__cxx" -BuildCC="gcc-4.6" -BuildCCplus="g++-4.6" add_ons=",libidn" PARALLEL="%{?_smp_mflags}" # From 0c5c481b0bbf443ee6363d03e4d38f4bf89e5f1e6d013dc57ab6000aca2ea674 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Thu, 3 May 2012 14:04:04 +0000 Subject: [PATCH 4/4] Accepting request 116358 from home:a_jaeger:my-factory-packages Fix name of dynamic linker for ARMv5 OBS-URL: https://build.opensuse.org/request/show/116358 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=177 --- glibc-2.16-mcheck.patch | 25 +++++++++++++++++++++++++ glibc.changes | 10 ++++++++++ glibc.spec | 5 ++++- 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 glibc-2.16-mcheck.patch diff --git a/glibc-2.16-mcheck.patch b/glibc-2.16-mcheck.patch new file mode 100644 index 0000000..a2287c2 --- /dev/null +++ b/glibc-2.16-mcheck.patch @@ -0,0 +1,25 @@ +diff --git a/malloc/mcheck.c b/malloc/mcheck.c +index 9213740..7491c49 100644 +--- a/malloc/mcheck.c ++++ b/malloc/mcheck.c +@@ -370,6 +370,12 @@ mabort (enum mcheck_status status) + #endif + } + ++#ifndef malloc_opt_barrier ++#define malloc_opt_barrier(x) \ ++({ __typeof (x) __x = x; __asm ("" : "+m" (__x)); __x; }) ++#define malloc_force_eval(x) __asm __volatile ("" : : "m" (x)) ++#endif ++ + int + mcheck (func) + void (*func) (enum mcheck_status); +@@ -381,6 +387,7 @@ mcheck (func) + { + /* We call malloc() once here to ensure it is initialized. */ + void *p = malloc (0); ++ p = malloc_opt_barrier (p); + free (p); + + old_free_hook = __free_hook; diff --git a/glibc.changes b/glibc.changes index a0edbcc..1f3006a 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu May 3 11:05:36 UTC 2012 - aj@suse.de + +- Fix dynamic linker name for ARMv5. + +------------------------------------------------------------------- +Thu Apr 26 14:02:37 UTC 2012 - aj@suse.de + +- Fix mcheck (optimization problem with gcc 4.7) + ------------------------------------------------------------------- Wed Apr 25 10:40:20 UTC 2012 - aj@suse.de diff --git a/glibc.spec b/glibc.spec index 239ac38..c917b47 100644 --- a/glibc.spec +++ b/glibc.spec @@ -297,6 +297,8 @@ Patch2007: glibc-sw13618-2.patch Patch2008: glibc-ld-profile.patch # PATCH-FIX-OPENSUSE _fini does not have proper unwinding information on x86_64 bso#11610 Patch2009: glibc-fini-unwind.diff +# PATCH-FIX-OPENSUSE malloc(0);free gets optimized out +Patch2010: glibc-2.16-mcheck.patch %description The GNU C Library provides the most important standard libraries used @@ -558,6 +560,7 @@ rm nscd/s-stamp # XXX Disable, it breaks the testsuite, test elf/tst-audit2 # %patch2008 -p1 %patch2009 -p1 +%patch2010 -p1 # # Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed! @@ -1109,7 +1112,7 @@ exit 0 # Keep compatibility link /%{_lib}/ld-linux.so.3 %else -/%{_lib}/ld-linux.so.2 +/%{_lib}/ld-linux.so.3 %endif %endif %ifarch ia64