diff options
author | Martin Schlemmer <azarah@gentoo.org> | 2006-04-25 08:27:28 +0000 |
---|---|---|
committer | Martin Schlemmer <azarah@gentoo.org> | 2006-04-25 08:27:28 +0000 |
commit | 754ccfc7765364373d7d9aee14f70d2fea7afab1 (patch) | |
tree | ed6f2141ebcee5c77c8cdecd0f18ccfe103f057c /scripts/gen_symbol_version_map.awk | |
parent | Try to triple check getcwd() sanity. Do not think it will help for (diff) | |
download | sandbox-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.awk | 19 |
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; } } } |