diff options
author | David S. Miller <davem@davemloft.net> | 2017-10-22 08:36:53 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-10-22 08:39:14 -0400 |
commit | f8ddadc4db6c7b7029b6d0e0d9af24f74ad27ca2 (patch) | |
tree | 0a6432aba336bae42313613f4c891bcfce02bd4e /scripts/faddr2line | |
parent | bdd091bab8c631bd2801af838e344fad34566410 (diff) | |
parent | b5ac3beb5a9f0ef0ea64cd85faf94c0dc4de0e42 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
There were quite a few overlapping sets of changes here.
Daniel's bug fix for off-by-ones in the new BPF branch instructions,
along with the added allowances for "data_end > ptr + x" forms
collided with the metadata additions.
Along with those three changes came veritifer test cases, which in
their final form I tried to group together properly. If I had just
trimmed GIT's conflict tags as-is, this would have split up the
meta tests unnecessarily.
In the socketmap code, a set of preemption disabling changes
overlapped with the rename of bpf_compute_data_end() to
bpf_compute_data_pointers().
Changes were made to the mv88e6060.c driver set addr method
which got removed in net-next.
The hyperv transport socket layer had a locking change in 'net'
which overlapped with a change of socket state macro usage
in 'net-next'.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'scripts/faddr2line')
-rwxr-xr-x | scripts/faddr2line | 5 |
1 files changed, 3 insertions, 2 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 |