aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schlemmer <azarah@gentoo.org>2005-12-05 14:34:25 +0000
committerMartin Schlemmer <azarah@gentoo.org>2005-12-05 14:34:25 +0000
commitcf8e49e0a601b1d5ffd30472a92a514e0df76cb0 (patch)
treea2db4d7193c41f6d35326b8880f168015db2e740 /scripts/gen_symbol_header.awk
parentRelease sandbox-1.2.17. (diff)
downloadsandbox-cf8e49e0a601b1d5ffd30472a92a514e0df76cb0.tar.gz
sandbox-cf8e49e0a601b1d5ffd30472a92a514e0df76cb0.tar.bz2
sandbox-cf8e49e0a601b1d5ffd30472a92a514e0df76cb0.zip
Fix weak symbols on 32bit glibc where it have a different version.
Signed-off-by: Martin Schlemmer <azarah@gentoo.org>
Diffstat (limited to 'scripts/gen_symbol_header.awk')
-rw-r--r--scripts/gen_symbol_header.awk17
1 files changed, 4 insertions, 13 deletions
diff --git a/scripts/gen_symbol_header.awk b/scripts/gen_symbol_header.awk
index 6c14c92..9e1700d 100644
--- a/scripts/gen_symbol_header.awk
+++ b/scripts/gen_symbol_header.awk
@@ -36,9 +36,9 @@ BEGIN {
}
}
- sym_regex = "^__" SYMBOLS[x] "(@|$)";
+ sym_regex = "^__" SYMBOLS[x] "(@@|$)";
if (($5 == "WEAK") && ($8 ~ sym_regex)) {
- split($8, symbol_array, /@|@@/);
+ split($8, symbol_array, /@@/);
# Don't add local symbols of versioned libc's
if (VERSIONED_LIBC && !symbol_array[2])
@@ -118,23 +118,14 @@ END {
split(WEAK_SYMBOLS[sym_index], sym_weak_full);
for (y in sym_weak_full) {
- split(sym_weak_full[y], sym_weak_array, /@|@@/);
+ split(sym_weak_full[y], sym_weak_array, /@@/);
- # Make sure for unversioned libc's that the
- # variable is valid ...
- if (!symbol_array[2])
- symbol_array[2] = "";
- if (!sym_weak_array[2])
- sym_weak_array[2] = "";
-
# Add weak symbols for libc's like glibc that
# have them
- if ((sym_weak_array[1] == "__" sym_index) &&
- (sym_weak_array[2] == symbol_array[2])) {
+ if (sym_weak_array[1] == "__" sym_index)
printf("weak_alias(%s, %s);\n",
sym_real_name,
"__" sym_index);
- }
}
}