From: Michael Tremer Date: Wed, 22 Aug 2012 14:06:31 +0000 (-0400) Subject: glibc: Patch test-installation.pl to ignore libgcc_s. X-Git-Tag: v2.13-beta1~207^2~1 X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=commitdiff_plain;h=847a72987ee919d86d259ec8b4a35e8632e35486 glibc: Patch test-installation.pl to ignore libgcc_s. --- diff --git a/lfs/glibc b/lfs/glibc index f2553e98af..234a7ce117 100644 --- a/lfs/glibc +++ b/lfs/glibc @@ -237,14 +237,13 @@ endif cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-resolv-stack_chk_fail.patch cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-remove-ctors-dtors-output-sections.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-test-installation.pl-nss_test1.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-test-installation.pl-libgcc_s.patch # Fixes: # Makefile:235: *** mixed implicit and normal rules. Stop. cd $(DIR_APP) && sed -i 's/ot \$$/ot:\n\ttouch $$@\n$$/' manual/Makefile - # Fix an issue when building glibc with gcc 4.7. - #cd $(DIR_APP) && sed -i "s/ -lgcc_s//" Makeconfig - ifeq "$(ROOT)" "" ifeq "$(MACHINE_TYPE)" "arm" cd $(DIR_APP) && sed -i 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.3 -o|' \ diff --git a/src/patches/glibc-test-installation.pl-libgcc_s.patch b/src/patches/glibc-test-installation.pl-libgcc_s.patch new file mode 100644 index 0000000000..a63d5d826d --- /dev/null +++ b/src/patches/glibc-test-installation.pl-libgcc_s.patch @@ -0,0 +1,97 @@ +From 6e236b92765cdafb46d19e4907471699accc8269 Mon Sep 17 00:00:00 2001 +From: Siddhesh Poyarekar +Date: Thu, 26 Apr 2012 09:18:48 +0530 +Subject: [PATCH] move libgcc_s soname definition to shlib-versions + +diff --git a/nptl/sysdeps/pthread/unwind-forcedunwind.c b/nptl/sysdeps/pthread/unwind-forcedunwind.c +index adce6e7..60dfbe6 100644 +--- a/nptl/sysdeps/pthread/unwind-forcedunwind.c ++++ b/nptl/sysdeps/pthread/unwind-forcedunwind.c +@@ -21,7 +21,7 @@ + #include + #include + #include +-#include ++#include + + static void *libgcc_s_handle; + static void (*libgcc_s_resume) (struct _Unwind_Exception *exc); +diff --git a/scripts/test-installation.pl b/scripts/test-installation.pl +index c4f3d6d..1b22086 100755 +--- a/scripts/test-installation.pl ++++ b/scripts/test-installation.pl + +@@ -105,9 +105,10 @@ while () { + # - libnss1_* from glibc-compat add-on + # - libthread_db since it contains unresolved references + # - it's just a test NSS module ++ # - We don't provide the libgcc so we don't test it + if ($name ne "nss_ldap" && $name ne "db1" + && !($name =~/^nss1_/) && $name ne "thread_db" +- && $name ne "nss_test1") { ++ && $name ne "nss_test1" && $name ne "libgcc_s") { + $link_libs .= " -l$name"; + $versions{$name} = $version; + } +diff --git a/shlib-versions b/shlib-versions +index c530a44..840e08f 100644 +--- a/shlib-versions ++++ b/shlib-versions +@@ -124,3 +124,7 @@ sparc64.*-.*-.* libBrokenLocale=1 GLIBC_2.2 + + # The asynchronous name lookup library. + .*-.*-.* libanl=1 ++ ++# This defines the libgcc soname version this glibc is to load for ++# asynchronous cancellation to work correctly. ++.*-.*-.* libgcc_s=1 +diff --git a/sysdeps/generic/framestate.c b/sysdeps/generic/framestate.c +index 3638bbe..3bad5b5 100644 +--- a/sysdeps/generic/framestate.c ++++ b/sysdeps/generic/framestate.c +@@ -1,5 +1,5 @@ + /* __frame_state_for unwinder helper function wrapper. +- Copyright (C) 2001, 2003 Free Software Foundation, Inc. ++ Copyright (C) 2001-2012 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek , 2001. + +@@ -23,7 +23,7 @@ + #define __frame_state_for fallback_frame_state_for + #include + #undef __frame_state_for +-#include ++#include + + typedef struct frame_state * (*framesf)(void *pc, struct frame_state *); + struct frame_state *__frame_state_for (void *pc, +diff --git a/sysdeps/generic/libgcc_s.h b/sysdeps/generic/libgcc_s.h +deleted file mode 100644 +index e74a103..0000000 +--- a/sysdeps/generic/libgcc_s.h ++++ /dev/null +@@ -1,2 +0,0 @@ +-/* Name of libgcc_s library provided by gcc. */ +-#define LIBGCC_S_SO "libgcc_s.so.1" +diff --git a/sysdeps/gnu/unwind-resume.c b/sysdeps/gnu/unwind-resume.c +index 1d3e33f..6afaebd 100644 +--- a/sysdeps/gnu/unwind-resume.c ++++ b/sysdeps/gnu/unwind-resume.c +@@ -1,4 +1,4 @@ +-/* Copyright (C) 2003 Free Software Foundation, Inc. ++/* Copyright (C) 2003-2012 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek . + +@@ -19,7 +19,7 @@ + #include + #include + #include +-#include ++#include + + static void (*libgcc_s_resume) (struct _Unwind_Exception *exc); + static _Unwind_Reason_Code (*libgcc_s_personality) +-- +1.7.3.4 + diff --git a/src/patches/glibc-test-installation.pl-nss_test1.patch b/src/patches/glibc-test-installation.pl-nss_test1.patch new file mode 100644 index 0000000000..8881d94986 --- /dev/null +++ b/src/patches/glibc-test-installation.pl-nss_test1.patch @@ -0,0 +1,31 @@ +From 9191c04a7e19fffbea0a08523e579cd8e55142df Mon Sep 17 00:00:00 2001 +From: Ulrich Drepper +Date: Sat, 23 Jul 2011 15:28:31 -0400 +Subject: [PATCH] Adjust test for correct installation + +diff --git a/scripts/test-installation.pl b/scripts/test-installation.pl +index 90cd9d7..25a919b 100755 +--- a/scripts/test-installation.pl ++++ b/scripts/test-installation.pl +@@ -1,5 +1,5 @@ + #! /usr/bin/perl -w +-# Copyright (C) 1997, 1998, 1999, 2004 Free Software Foundation, Inc. ++# Copyright (C) 1997, 1998, 1999, 2004, 2011 Free Software Foundation, Inc. + # This file is part of the GNU C Library. + # Contributed by Andreas Jaeger , 1997. + +@@ -105,8 +105,10 @@ while () { + # - libdb1 since it conflicts with libdb + # - libnss1_* from glibc-compat add-on + # - libthread_db since it contains unresolved references ++ # - it's just a test NSS module + if ($name ne "nss_ldap" && $name ne "db1" +- && !($name =~/^nss1_/) && $name ne "thread_db") { ++ && !($name =~/^nss1_/) && $name ne "thread_db" ++ && $name ne "nss_test1") { + $link_libs .= " -l$name"; + $versions{$name} = $version; + } +-- +1.7.3.4 +