linux/tools
Josh Poimboeuf ef753d6605 objtool: Fix detection of consecutive jump tables on Clang 20
The jump table detection code assumes jump tables are in the same order
as their corresponding indirect branches.  That's apparently not always
true with Clang 20.

Fix that by changing how multiple jump tables are detected.  In the
first detection pass, mark the beginning of each jump table so the
second pass can tell where one ends and the next one begins.

Fixes the following warnings:

  vmlinux.o: warning: objtool: SiS_GetCRT2Ptr+0x1ad: stack state mismatch: cfa1=4+8 cfa2=5+16
  sound/core/seq/snd-seq.o: warning: objtool: cc_ev_to_ump_midi2+0x589: return with modified stack frame

Fixes: be2f0b1e12 ("objtool: Get rid of reloc->jump_table_start")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/141752fff614eab962dba6bdfaa54aa67ff03bba.1742852846.git.jpoimboe@kernel.org
Closes: https://lore.kernel.org/oe-kbuild-all/202503171547.LlCTJLQL-lkp@intel.com/
Closes: https://lore.kernel.org/oe-kbuild-all/202503200535.J3hAvcjw-lkp@intel.com/
2025-03-25 09:20:25 +01:00
..
accounting getdelays: fix error format characters 2025-02-17 22:40:02 -08:00
arch [ Merge note: this pull request depends on you having merged 2025-03-24 22:06:11 -07:00
bootconfig tools/bootconfig: Fix the wrong format specifier 2025-01-28 23:27:01 +09:00
bpf perf tools fixes for v6.14: 2nd batch 2025-02-25 13:32:32 -08:00
build tools: Unify top-level quiet infrastructure 2025-02-18 15:31:45 -03:00
certs
cgroup
counter
crypto crypto: tools/ccp - Remove unused variable 2024-08-30 18:22:30 +08:00
debugging
firewire tools/firewire: Fix several incorrect format specifiers 2024-11-14 09:12:04 +09:00
firmware
gpio tools: gpio: Fix several incorrect format specifiers 2024-11-13 16:30:05 +01:00
hv tools/hv: reduce resource usage in hv_kvp_daemon 2024-12-09 18:44:15 +00:00
iio iio: Add channel type for attention 2024-11-03 20:33:43 +00:00
include bitmap changes for 6.15 2025-03-24 19:11:58 -07:00
kvm/kvm_stat
laptop
leds
lib perf tools fixes for v6.14: 2nd batch 2025-02-25 13:32:32 -08:00
memory-model tools/memory-model: glossary.txt: Fix indents 2025-02-25 10:22:34 -08:00
mm tools/mm: fix build warnings with musl-libc 2025-02-17 22:40:02 -08:00
net tools: ynl: c: correct reverse decode of empty attrs 2025-01-27 14:30:23 -08:00
objtool objtool: Fix detection of consecutive jump tables on Clang 20 2025-03-25 09:20:25 +01:00
pcmcia
perf x86/cpufeatures: Remove {disabled,required}-features.h 2025-03-19 11:15:12 +01:00
power x86/cpu: Fix #define name for Intel CPU model 0x5A 2025-02-04 10:05:53 -08:00
rcu tools/rcu: Remove RCU Tasks Rude asynchronous APIs from rcu-updaters.sh 2024-07-29 07:39:32 +05:30
sched_ext sched_ext: Change the event type from u64 to s64 2025-03-04 08:05:23 -10:00
scripts tools: Unify top-level quiet infrastructure 2025-02-18 15:31:45 -03:00
sound ASoC: dapm-graph: set fill colour of turned on nodes 2025-02-24 18:35:54 +00:00
spi spi: spidev_test: add support for word delay 2024-11-07 15:25:50 +00:00
testing Miscellaneous x86 cleanups by Arnd Bergmann, Charles Han, 2025-03-24 22:39:53 -07:00
thermal tools: Remove redundant quiet setup 2025-02-18 16:27:43 -03:00
time
tracing perf tools fixes for v6.14: 2nd batch 2025-02-25 13:32:32 -08:00
usb usbip: tools: Fix detach_port() invalid port error path 2024-10-29 04:23:23 +01:00
verification perf tools fixes for v6.14: 2nd batch 2025-02-25 13:32:32 -08:00
virtio Fix typo in vringh_test.c 2024-11-06 04:40:07 -05:00
wmi
workqueue
writeback
Makefile