This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 2/3] Define libgcc soname in make scripts and not in aheader
ping?
Reposting patch for review by the ports maintainers. If that is
unnecessary then please let me know so that I can commit this patch.
--
Siddhesh
On Fri, 13 Apr 2012 12:41:53 +0530, Siddhesh wrote:
> ugh, sorry. I once again forgot to attach the patch itself. Repeating
> ChangeLog for convenience of reviewers:
>
>
> ChangeLog:
> 2012-04-13 Siddhesh Poyarekar <siddhesh@redhat.com>
>
> * shlib-versions: Add libgcc_s version information.
> * sysdeps/generic/libgcc_s.h: Remove.
> * sysdeps/generic/framestate.c: Include gnu/lib-names.h
> instead of libgcc_s.h.
> * sysdeps/gnu/unwind-resume.c: Ditto.
> * scripts/test-installation.pl: Remove libgcc_s from
> link_libs.
>
>
> nptl/ChangeLog:
> 2012-04-13 Siddhesh Poyarekar <siddhesh@redhat.com>
>
> * sysdeps/pthread/unwind-forcedunwind.c: Include
> gnu/lib-names.h instead of libgcc_s.h.
---
nptl/sysdeps/pthread/unwind-forcedunwind.c | 2 +-
scripts/test-installation.pl | 3 ++-
shlib-versions | 4 ++++
sysdeps/generic/framestate.c | 2 +-
sysdeps/generic/libgcc_s.h | 2 --
sysdeps/gnu/unwind-resume.c | 2 +-
8 files changed, 23 insertions(+), 6 deletions(-)
delete mode 100644 sysdeps/generic/libgcc_s.h
diff --git a/nptl/sysdeps/pthread/unwind-forcedunwind.c b/nptl/sysdeps/pthread/unwind-forcedunwind.c
index adce6e7..d05111b 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..bc4b58d 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..429e5d9 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 be built against for
+# asynchronous cancellation to work correctly.
+.*-.*-.* libgcc_s=1
diff --git a/sysdeps/generic/framestate.c b/sysdeps/generic/framestate.c
index 3638bbe..492ff18 100644
--- a/sysdeps/generic/framestate.c
+++ b/sysdeps/generic/framestate.c
@@ -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..d372039 100644
--- a/sysdeps/gnu/unwind-resume.c
+++ b/sysdeps/gnu/unwind-resume.c
@@ -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.7.6