|
1 #!/bin/sh |
|
2 # |
|
3 # This Source Code Form is subject to the terms of the Mozilla Public |
|
4 # License, v. 2.0. If a copy of the MPL was not distributed with this |
|
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
6 # |
|
7 # Print the code symbols from an ELF file. |
|
8 # |
|
9 |
|
10 # Find the text segment by searching through the section headers |
|
11 TEXT=`readelf --section-headers $1 | awk '$2 == ".text" { print $1; }' | sed -e 's/\[//g' -e 's/\]//g'` |
|
12 |
|
13 # Now print all of the FUNC-type symbols in the text segment, including |
|
14 # address, size, and symbol name. |
|
15 readelf --syms $1 | |
|
16 awk "\$4 == \"FUNC\" && \$7 == \"${TEXT}\" { printf \"%s %8d %s\n\", \$2, \$3, \$8; }" | |
|
17 sort -u |
|
18 |