diff options
| author | Ingo Molnar <mingo@kernel.org> | 2017-10-24 07:17:20 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2017-10-24 07:17:20 -0400 |
| commit | 9babb091e0ec84f7503fde0a2d9a2a16a0f48e3c (patch) | |
| tree | 9b6f07288b9ca9d8444414cd7da291d7c4731da7 /scripts | |
| parent | 5cdda5117e125e0dbb020425cc55a4c143c6febc (diff) | |
| parent | bb176f67090ca54869fc1262c913aa69d2ede070 (diff) | |
Merge tag 'v4.14-rc6' into locking/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/faddr2line | 5 | ||||
| -rw-r--r-- | scripts/kallsyms.c | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/scripts/faddr2line b/scripts/faddr2line index 29df825d375c..2f6ce802397d 100755 --- a/scripts/faddr2line +++ b/scripts/faddr2line | |||
| @@ -103,11 +103,12 @@ __faddr2line() { | |||
| 103 | 103 | ||
| 104 | # Go through each of the object's symbols which match the func name. | 104 | # Go through each of the object's symbols which match the func name. |
| 105 | # In rare cases there might be duplicates. | 105 | # In rare cases there might be duplicates. |
| 106 | file_end=$(size -Ax $objfile | awk '$1 == ".text" {print $2}') | ||
| 106 | while read symbol; do | 107 | while read symbol; do |
| 107 | local fields=($symbol) | 108 | local fields=($symbol) |
| 108 | local sym_base=0x${fields[0]} | 109 | local sym_base=0x${fields[0]} |
| 109 | local sym_type=${fields[1]} | 110 | local sym_type=${fields[1]} |
| 110 | local sym_end=0x${fields[3]} | 111 | local sym_end=${fields[3]} |
| 111 | 112 | ||
| 112 | # calculate the size | 113 | # calculate the size |
| 113 | local sym_size=$(($sym_end - $sym_base)) | 114 | local sym_size=$(($sym_end - $sym_base)) |
| @@ -157,7 +158,7 @@ __faddr2line() { | |||
| 157 | addr2line -fpie $objfile $addr | sed "s; $dir_prefix\(\./\)*; ;" | 158 | addr2line -fpie $objfile $addr | sed "s; $dir_prefix\(\./\)*; ;" |
| 158 | DONE=1 | 159 | DONE=1 |
| 159 | 160 | ||
| 160 | done < <(nm -n $objfile | awk -v fn=$func '$3 == fn { found=1; line=$0; start=$1; next } found == 1 { found=0; print line, $1 }') | 161 | done < <(nm -n $objfile | awk -v fn=$func -v end=$file_end '$3 == fn { found=1; line=$0; start=$1; next } found == 1 { found=0; print line, "0x"$1 } END {if (found == 1) print line, end; }') |
| 161 | } | 162 | } |
| 162 | 163 | ||
| 163 | [[ $# -lt 2 ]] && usage | 164 | [[ $# -lt 2 ]] && usage |
diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c index 5d554419170b..9ee9bf7fd1a2 100644 --- a/scripts/kallsyms.c +++ b/scripts/kallsyms.c | |||
| @@ -158,7 +158,7 @@ static int read_symbol(FILE *in, struct sym_entry *s) | |||
| 158 | else if (str[0] == '$') | 158 | else if (str[0] == '$') |
| 159 | return -1; | 159 | return -1; |
| 160 | /* exclude debugging symbols */ | 160 | /* exclude debugging symbols */ |
| 161 | else if (stype == 'N') | 161 | else if (stype == 'N' || stype == 'n') |
| 162 | return -1; | 162 | return -1; |
| 163 | 163 | ||
| 164 | /* include the type field in the symbol name, so that it gets | 164 | /* include the type field in the symbol name, so that it gets |
