diff options
author | Jakub Jelinek <jakub@redhat.com> | 2003-09-04 12:47:46 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2003-09-04 12:47:46 +0200 |
commit | bc93e287d0e7a100c1aba869398b5341839c1927 (patch) | |
tree | fbca5c641e0562d683b20ddb9cb242c318a76e78 /gcc | |
parent | ec24a740308c01129bd934831787db53fbde8bc1 (diff) | |
download | gcc-bc93e287d0e7a100c1aba869398b5341839c1927.zip gcc-bc93e287d0e7a100c1aba869398b5341839c1927.tar.gz gcc-bc93e287d0e7a100c1aba869398b5341839c1927.tar.bz2 |
libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
* config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
* config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
* unwind.h (_Unwind_GetBSP): New prototype.
* libgcc-std.ver: Add empty GCC_3.3.2 version.
* mkmap-symver.awk: For symbol versions with no exported symbols,
don't put anything into version script, just change all symbol
versions which inherit from it to inherit from its ancestor.
From-SVN: r71057
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/config/ia64/libgcc-ia64.ver | 3 | ||||
-rw-r--r-- | gcc/config/ia64/unwind-ia64.c | 8 | ||||
-rw-r--r-- | gcc/libgcc-std.ver | 6 | ||||
-rw-r--r-- | gcc/mkmap-symver.awk | 16 | ||||
-rw-r--r-- | gcc/unwind.h | 3 |
6 files changed, 40 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2b90b2a..2874e35 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2003-09-04 Jakub Jelinek <jakub@redhat.com> + + * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2. + * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function. + * unwind.h (_Unwind_GetBSP): New prototype. + * libgcc-std.ver: Add empty GCC_3.3.2 version. + * mkmap-symver.awk: For symbol versions with no exported symbols, + don't put anything into version script, just change all symbol + versions which inherit from it to inherit from its ancestor. + 2003-09-04 Eric Christopher <echristo@redhat.com> * config/mips/mips.c (mips_expand_prologue): Convert to diff --git a/gcc/config/ia64/libgcc-ia64.ver b/gcc/config/ia64/libgcc-ia64.ver index 2ffb693..cd76990 100644 --- a/gcc/config/ia64/libgcc-ia64.ver +++ b/gcc/config/ia64/libgcc-ia64.ver @@ -7,3 +7,6 @@ GCC_3.0 { __ia64_trampoline __ia64_backtrace } +GCC_3.3.2 { + _Unwind_GetBSP +} diff --git a/gcc/config/ia64/unwind-ia64.c b/gcc/config/ia64/unwind-ia64.c index 9b6023d..41f59d1 100644 --- a/gcc/config/ia64/unwind-ia64.c +++ b/gcc/config/ia64/unwind-ia64.c @@ -1667,6 +1667,14 @@ _Unwind_GetCFA (struct _Unwind_Context *context) return (_Unwind_Ptr) context->psp; } +/* Get the value of the Backing Store Pointer as saved in CONTEXT. */ + +_Unwind_Word +_Unwind_GetBSP (struct _Unwind_Context *context) +{ + return (_Unwind_Ptr) context->bsp; +} + 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 12a3397..1caebc5 100644 --- a/gcc/libgcc-std.ver +++ b/gcc/libgcc-std.ver @@ -191,7 +191,11 @@ GCC_3.3.1 { __gcc_personality_v0 } -%inherit GCC_3.4 GCC_3.3.1 +%inherit GCC_3.3.2 GCC_3.3.1 +GCC_3.3.2 { +} + +%inherit GCC_3.4 GCC_3.3.2 GCC_3.4 { # bit scanning and counting built-ins __clzsi2 diff --git a/gcc/mkmap-symver.awk b/gcc/mkmap-symver.awk index e4bc58e..7953afc 100644 --- a/gcc/mkmap-symver.awk +++ b/gcc/mkmap-symver.awk @@ -95,22 +95,28 @@ function output(lib) { if (inherit[lib]) output(inherit[lib]); - printf("%s {\n", lib); - sawglobal = 0; + empty=1 for (sym in ver) if ((ver[sym] == lib) && (sym in def)) { - if (!sawglobal) + if (empty) { + printf("%s {\n", lib); printf(" global:\n"); - sawglobal = 1; + empty = 0; } printf("\t%s;\n", sym); if (dotsyms) printf("\t.%s;\n", sym); } - if (inherit[lib]) + if (empty) + { + for (l in libs) + if (inherit[l] == lib) + inherit[l] = inherit[lib]; + } + else if (inherit[lib]) printf("} %s;\n", inherit[lib]); else printf ("\n local:\n\t*;\n};\n"); diff --git a/gcc/unwind.h b/gcc/unwind.h index a0d6ab3..35c765e 100644 --- a/gcc/unwind.h +++ b/gcc/unwind.h @@ -210,6 +210,9 @@ _Unwind_GetTextRelBase (struct _Unwind_Context *_C __attribute__ ((__unused__))) abort (); return 0; } + +/* @@@ Retrieve the Backing Store Pointer of the given context. */ +extern _Unwind_Word _Unwind_GetBSP (struct _Unwind_Context *); #else extern _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *); extern _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *); |