Merge tag 'riscv-for-linus-6.4-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux
Pull RISC-V updates from Palmer Dabbelt: - Support for runtime detection of the Svnapot extension - Support for Zicboz when clearing pages - We've moved to GENERIC_ENTRY - Support for !MMU on rv32 systems - The linear region is now mapped via huge pages - Support for building relocatable kernels - Support for the hwprobe interface - Various fixes and cleanups throughout the tree * tag 'riscv-for-linus-6.4-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (57 commits) RISC-V: hwprobe: Explicity check for -1 in vdso init RISC-V: hwprobe: There can only be one first riscv: Allow to downgrade paging mode from the command line dt-bindings: riscv: add sv57 mmu-type RISC-V: hwprobe: Remove __init on probe_vendor_features() riscv: Use --emit-relocs in order to move .rela.dyn in init riscv: Check relocations at compile time powerpc: Move script to check relocations at compile time in scripts/ riscv: Introduce CONFIG_RELOCATABLE riscv: Move .rela.dyn outside of init to avoid empty relocations riscv: Prepare EFI header for relocatable kernels riscv: Unconditionnally select KASAN_VMALLOC if KASAN riscv: Fix ptdump when KASAN is enabled riscv: Fix EFI stub usage of KASAN instrumented strcmp function riscv: Move DTB_EARLY_BASE_VA to the kernel address space riscv: Rework kasan population functions riscv: Split early and final KASAN population functions riscv: Use PUD/P4D/PGD pages for the linear mapping riscv: Move the linear mapping creation in its own function riscv: Get rid of riscv_pfn_base variable ...
This commit is contained in:
20
scripts/relocs_check.sh
Executable file
20
scripts/relocs_check.sh
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
# Get a list of all the relocations, remove from it the relocations
|
||||
# that are known to be legitimate and return this list to arch specific
|
||||
# script that will look for suspicious relocations.
|
||||
|
||||
objdump="$1"
|
||||
nm="$2"
|
||||
vmlinux="$3"
|
||||
|
||||
# Remove from the possible bad relocations those that match an undefined
|
||||
# weak symbol which will result in an absolute relocation to 0.
|
||||
# Weak unresolved symbols are of that form in nm output:
|
||||
# " w _binary__btf_vmlinux_bin_end"
|
||||
undef_weak_symbols=$($nm "$vmlinux" | awk '$1 ~ /w/ { print $2 }')
|
||||
|
||||
$objdump -R "$vmlinux" |
|
||||
grep -E '\<R_' |
|
||||
([ "$undef_weak_symbols" ] && grep -F -w -v "$undef_weak_symbols" || cat)
|
||||
Reference in New Issue
Block a user