aboutsummaryrefslogtreecommitdiff
path: root/gcc/mkmap-symver.awk
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2003-09-04 12:47:46 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2003-09-04 12:47:46 +0200
commitbc93e287d0e7a100c1aba869398b5341839c1927 (patch)
treefbca5c641e0562d683b20ddb9cb242c318a76e78 /gcc/mkmap-symver.awk
parentec24a740308c01129bd934831787db53fbde8bc1 (diff)
downloadgcc-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/mkmap-symver.awk')
-rw-r--r--gcc/mkmap-symver.awk16
1 files changed, 11 insertions, 5 deletions
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");