mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 06:02:05 +00:00
powerpc: unrel_branch_check.sh: use nm to find symbol value
This is considerably faster then parsing the objdump asm output. It will also make the enabling of llvm-objdump a little easier. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20200812081036.7969-2-sfr@canb.auug.org.au
This commit is contained in:
parent
af13a2244d
commit
b71dca9891
@ -18,7 +18,7 @@ quiet_cmd_relocs_check = CHKREL $@
|
||||
ifdef CONFIG_PPC_BOOK3S_64
|
||||
cmd_relocs_check = \
|
||||
$(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/relocs_check.sh "$(OBJDUMP)" "$(NM)" "$@" ; \
|
||||
$(BASH) $(srctree)/arch/powerpc/tools/unrel_branch_check.sh "$(OBJDUMP)" "$@"
|
||||
$(BASH) $(srctree)/arch/powerpc/tools/unrel_branch_check.sh "$(OBJDUMP)" "$(NM)" "$@"
|
||||
else
|
||||
cmd_relocs_check = \
|
||||
$(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/relocs_check.sh "$(OBJDUMP)" "$(NM)" "$@"
|
||||
|
@ -5,18 +5,15 @@
|
||||
# This script checks the unrelocated code of a vmlinux for "suspicious"
|
||||
# branches to relocated code (head_64.S code).
|
||||
|
||||
# Have Kbuild supply the path to objdump so we handle cross compilation.
|
||||
# Have Kbuild supply the path to objdump and nm so we handle cross compilation.
|
||||
objdump="$1"
|
||||
vmlinux="$2"
|
||||
nm="$2"
|
||||
vmlinux="$3"
|
||||
|
||||
#__end_interrupts should be located within the first 64K
|
||||
kstart=0xc000000000000000
|
||||
printf -v kend '0x%x' $(( kstart + 0x10000 ))
|
||||
|
||||
end_intr=0x$(
|
||||
$objdump -R -d --start-address="$kstart" --stop-address="$kend" "$vmlinux" 2>/dev/null |
|
||||
awk '$2 == "<__end_interrupts>:" { print $1 }'
|
||||
)
|
||||
end_intr=0x$($nm -p "$vmlinux" |
|
||||
sed -E -n '/\s+[[:alpha:]]\s+__end_interrupts\s*$/{s///p;q}')
|
||||
if [ "$end_intr" = "0x" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user