Merge branch 'glibc-update2' of ssh://git.ipfire.org/pub/git/people/ms/ipfire-2.x into glibc-update2

This commit is contained in:
Michael Tremer
2012-08-22 22:05:14 +02:00
3 changed files with 130 additions and 3 deletions

View File

@@ -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|' \

View File

@@ -0,0 +1,97 @@
From 6e236b92765cdafb46d19e4907471699accc8269 Mon Sep 17 00:00:00 2001
From: Siddhesh Poyarekar <siddhesh@redhat.com>
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 <unwind.h>
#include <pthreadP.h>
#include <sysdep.h>
-#include <libgcc_s.h>
+#include <gnu/lib-names.h>
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 (<SOVERSIONS>) {
# - 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 <jakub@redhat.com>, 2001.
@@ -23,7 +23,7 @@
#define __frame_state_for fallback_frame_state_for
#include <unwind-dw2.c>
#undef __frame_state_for
-#include <libgcc_s.h>
+#include <gnu/lib-names.h>
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 <jakub@redhat.com>.
@@ -19,7 +19,7 @@
#include <dlfcn.h>
#include <stdio.h>
#include <unwind.h>
-#include <libgcc_s.h>
+#include <gnu/lib-names.h>
static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
static _Unwind_Reason_Code (*libgcc_s_personality)
--
1.7.3.4

View File

@@ -0,0 +1,31 @@
From 9191c04a7e19fffbea0a08523e579cd8e55142df Mon Sep 17 00:00:00 2001
From: Ulrich Drepper <drepper@gmail.com>
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 <aj@arthur.rhein-neckar.de>, 1997.
@@ -105,8 +105,10 @@ while (<SOVERSIONS>) {
# - 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