aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schlemmer <azarah@gentoo.org>2006-04-25 08:27:28 +0000
committerMartin Schlemmer <azarah@gentoo.org>2006-04-25 08:27:28 +0000
commit754ccfc7765364373d7d9aee14f70d2fea7afab1 (patch)
treeed6f2141ebcee5c77c8cdecd0f18ccfe103f057c /scripts/gen_symbol_version_map.awk
parentTry to triple check getcwd() sanity. Do not think it will help for (diff)
downloadsandbox-754ccfc7765364373d7d9aee14f70d2fea7afab1.tar.gz
sandbox-754ccfc7765364373d7d9aee14f70d2fea7afab1.tar.bz2
sandbox-754ccfc7765364373d7d9aee14f70d2fea7afab1.zip
Fix symbol/map generation on Alpha
Signed-off-by: Martin Schlemmer <azarah@gentoo.org> Reported-by: Fernando J. Pereda <ferdy@gentoo.org>
Diffstat (limited to 'scripts/gen_symbol_version_map.awk')
-rw-r--r--scripts/gen_symbol_version_map.awk19
1 files changed, 11 insertions, 8 deletions
diff --git a/scripts/gen_symbol_version_map.awk b/scripts/gen_symbol_version_map.awk
index d5750a7..260933f 100644
--- a/scripts/gen_symbol_version_map.awk
+++ b/scripts/gen_symbol_version_map.awk
@@ -10,8 +10,11 @@ BEGIN {
for (x in SYMBOLS) {
sym_regex = "^" SYMBOLS[x] "(@|$)";
- if ($8 ~ sym_regex) {
- split($8, symbol_array, /@|@@/);
+ # On x86, x86_64 and others, $8 is the symbol name, but on
+ # alpha, its $10, so rather use $NF, as it should be the
+ # last field
+ if ($NF ~ sym_regex) {
+ split($NF, symbol_array, /@|@@/);
# Don't add local symbols of versioned libc's
if (VERSIONED_LIBC && !symbol_array[2])
@@ -28,7 +31,7 @@ BEGIN {
ADD = 1;
# Check that we do not add duplicates
for (y in PROCESSED_SYMBOLS) {
- if (y == $8) {
+ if (y == $NF) {
ADD = 0;
break;
}
@@ -36,13 +39,13 @@ BEGIN {
if (ADD) {
SYMBOL_LIST[symbol_array[2]] = SYMBOL_LIST[symbol_array[2]] " " symbol_array[1];
- PROCESSED_SYMBOLS[$8] = $8;
+ PROCESSED_SYMBOLS[$NF] = $NF;
}
}
sym_regex = "^__" SYMBOLS[x] "(@@|$)";
- if (($5 == "WEAK") && ($8 ~ sym_regex)) {
- split($8, symbol_array, /@@/);
+ if (($5 == "WEAK") && ($NF ~ sym_regex)) {
+ split($NF, symbol_array, /@@/);
# Don't add local symbols of versioned libc's
if (VERSIONED_LIBC && !symbol_array[2])
@@ -59,7 +62,7 @@ BEGIN {
ADD = 1;
# Check that we do not add duplicates
for (y in PROCESSED_SYMBOLS) {
- if (y == $8) {
+ if (y == $NF) {
ADD = 0;
break;
}
@@ -67,7 +70,7 @@ BEGIN {
if (ADD) {
SYMBOL_LIST[symbol_array[2]] = SYMBOL_LIST[symbol_array[2]] " " symbol_array[1];
- PROCESSED_SYMBOLS[$8] = $8;
+ PROCESSED_SYMBOLS[$NF] = $NF;
}
}
}