diff options
author | Andrew Haley <aph@redhat.com> | 2002-11-25 17:20:10 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2002-11-25 17:20:10 +0000 |
commit | 5dafd2823100abb3f8b3b43dd4e0af5c81951539 (patch) | |
tree | 82b082e6055815d9ac117b67bac10e9a91984907 /gcc | |
parent | b4bbc8b7d36cfb5eafb02814087504e074a00be5 (diff) | |
download | gcc-5dafd2823100abb3f8b3b43dd4e0af5c81951539.zip gcc-5dafd2823100abb3f8b3b43dd4e0af5c81951539.tar.gz gcc-5dafd2823100abb3f8b3b43dd4e0af5c81951539.tar.bz2 |
libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
2002-11-25 Andrew Haley <aph@redhat.com>
* libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
* config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
* unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
* unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
From-SVN: r59460
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/ia64/unwind-ia64.c | 6 | ||||
-rw-r--r-- | gcc/libgcc-std.ver | 1 | ||||
-rw-r--r-- | gcc/unwind-dw2.c | 11 | ||||
-rw-r--r-- | gcc/unwind-sjlj.c | 6 |
5 files changed, 31 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1847505..dd51dfd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2002-11-25 Andrew Haley <aph@redhat.com> + + * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add. + * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New. + * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise. + * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise. + 2002-11-24 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (h8300_init_once): Fix a typo in the diff --git a/gcc/config/ia64/unwind-ia64.c b/gcc/config/ia64/unwind-ia64.c index e55f1f8..eba9df0 100644 --- a/gcc/config/ia64/unwind-ia64.c +++ b/gcc/config/ia64/unwind-ia64.c @@ -1642,6 +1642,12 @@ _Unwind_GetRegionStart (struct _Unwind_Context *context) return context->region_start; } +void * +_Unwind_Find_Enclosing_Function (void *pc) +{ + return NULL; +} + static _Unwind_Reason_Code uw_frame_state_for (struct _Unwind_Context *context, _Unwind_FrameState *fs) diff --git a/gcc/libgcc-std.ver b/gcc/libgcc-std.ver index 6bc4221..d448567 100644 --- a/gcc/libgcc-std.ver +++ b/gcc/libgcc-std.ver @@ -158,6 +158,7 @@ GCC_3.0 { _Unwind_Resume _Unwind_SetGR _Unwind_SetIP + _Unwind_Find_Enclosing_Function __deregister_frame __deregister_frame_info __deregister_frame_info_bases diff --git a/gcc/unwind-dw2.c b/gcc/unwind-dw2.c index fd7db6a..41db092 100644 --- a/gcc/unwind-dw2.c +++ b/gcc/unwind-dw2.c @@ -202,6 +202,17 @@ _Unwind_GetRegionStart (struct _Unwind_Context *context) return (_Unwind_Ptr) context->bases.func; } +void * +_Unwind_Find_Enclosing_Function (void *pc) +{ + struct dwarf_eh_bases bases; + struct dwarf_fde *fde = _Unwind_Find_FDE (pc-1, &bases); + if (fde) + return bases.func; + else + return NULL; +} + #ifndef __ia64__ _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *context) diff --git a/gcc/unwind-sjlj.c b/gcc/unwind-sjlj.c index 2293075..59b5415 100644 --- a/gcc/unwind-sjlj.c +++ b/gcc/unwind-sjlj.c @@ -208,6 +208,12 @@ _Unwind_GetRegionStart (struct _Unwind_Context *context __attribute__((unused)) return 0; } +void * +_Unwind_Find_Enclosing_Function (void *pc) +{ + return NULL; +} + #ifndef __ia64__ _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *context __attribute__((unused)) ) |