| … | |
… | |
| 6 | for (x in SYMBOLS) { |
6 | for (x in SYMBOLS) { |
| 7 | sym_regex = "^" SYMBOLS[x] "(@|$)" |
7 | sym_regex = "^" SYMBOLS[x] "(@|$)" |
| 8 | if ($8 ~ sym_regex) { |
8 | if ($8 ~ sym_regex) { |
| 9 | split($8, symbol_array, /@|@@/); |
9 | split($8, symbol_array, /@|@@/); |
| 10 | |
10 | |
|
|
11 | # Don't add local symbols of versioned libc's |
|
|
12 | if (VERSIONED_LIBC && !symbol_array[2]) |
|
|
13 | continue; |
|
|
14 | |
| 11 | # Handle non-versioned libc's like uClibc ... |
15 | # Handle non-versioned libc's like uClibc ... |
| 12 | if (!symbol_array[2]) |
16 | if (!symbol_array[2]) |
| 13 | symbol_array[2] = ""; |
17 | symbol_array[2] = ""; |
|
|
18 | else |
|
|
19 | # We have a versioned libc |
|
|
20 | VERSIONED_LIBC = 1; |
| 14 | |
21 | |
|
|
22 | ADD = 1; |
|
|
23 | # Check that we do not add duplicates |
|
|
24 | for (x in PROCESSED_SYMBOLS) { |
|
|
25 | if (x == $8) { |
|
|
26 | ADD = 0; |
|
|
27 | break; |
|
|
28 | } |
|
|
29 | } |
|
|
30 | |
|
|
31 | if (ADD) { |
| 15 | SYMBOL_LIST[symbol_array[2]] = SYMBOL_LIST[symbol_array[2]] " " symbol_array[1]; |
32 | SYMBOL_LIST[symbol_array[2]] = SYMBOL_LIST[symbol_array[2]] " " symbol_array[1]; |
|
|
33 | PROCESSED_SYMBOLS[$8] = $8; |
|
|
34 | } |
| 16 | } |
35 | } |
| 17 | } |
36 | } |
| 18 | } |
37 | } |
| 19 | |
38 | |
| 20 | END { |
39 | END { |