aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Howarth <howarth@bromo.med.uc.edu>2010-02-02 08:18:08 +0000
committerAndreas Tobler <andreast@gcc.gnu.org>2010-02-02 09:18:08 +0100
commitfc15bd031910e85fde8856fa32e4f79efdf0478a (patch)
treefd8edbb31c14ab238a620eb1140740fcf432b281
parente2d7bb117c71a84551049349d0770a29361ce8ad (diff)
downloadgcc-fc15bd031910e85fde8856fa32e4f79efdf0478a.zip
gcc-fc15bd031910e85fde8856fa32e4f79efdf0478a.tar.gz
gcc-fc15bd031910e85fde8856fa32e4f79efdf0478a.tar.bz2
re PR java/41991 (gcj segfaults on i686-apple-darwin9 and x86_64-apple-darwin9)
2010-02-02 Jack Howarth <howarth@bromo.med.uc.edu> PR java/41991 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction() as _darwin10_Unwind_FindEnclosingFunction(). * libgcc-libsystem.ver: New. From-SVN: r156444
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/libgcc-libsystem.ver1
-rw-r--r--gcc/unwind-dw2-fde-darwin.c12
3 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0755576a..68ad754 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR java/41991
+ * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
+ as _darwin10_Unwind_FindEnclosingFunction().
+ * libgcc-libsystem.ver: New.
+
2010-02-01 Vladimir Makarov <vmakarov@redhat.com>
PR target/41399
diff --git a/gcc/libgcc-libsystem.ver b/gcc/libgcc-libsystem.ver
new file mode 100644
index 0000000..4763174
--- /dev/null
+++ b/gcc/libgcc-libsystem.ver
@@ -0,0 +1 @@
+_darwin10_Unwind_FindEnclosingFunction
diff --git a/gcc/unwind-dw2-fde-darwin.c b/gcc/unwind-dw2-fde-darwin.c
index cd00ea2..6245ed3 100644
--- a/gcc/unwind-dw2-fde-darwin.c
+++ b/gcc/unwind-dw2-fde-darwin.c
@@ -273,3 +273,15 @@ _Unwind_Find_FDE (void *pc, struct dwarf_eh_bases *bases)
the_obj_info);
return ret;
}
+
+void *
+_darwin10_Unwind_FindEnclosingFunction (void *pc)
+{
+ struct dwarf_eh_bases bases;
+ const struct dwarf_fde *fde = _Unwind_Find_FDE (pc-1, &bases);
+ if (fde)
+ return bases.func;
+ else
+ return NULL;
+}
+