android_kernel_motorola_sm6375/tools
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Josh Poimboeuf c8a5496bc7 objtool: Support Clang non-section symbols in ORC generation
commit e81e0724432542af8d8c702c31e9d82f57b1ff31 upstream.

When compiling the kernel with AS=clang, objtool produces a lot of
warnings:

  warning: objtool: missing symbol for section .text
  warning: objtool: missing symbol for section .init.text
  warning: objtool: missing symbol for section .ref.text

It then fails to generate the ORC table.

The problem is that objtool assumes text section symbols always exist.
But the Clang assembler is aggressive about removing them.

When generating relocations for the ORC table, objtool always tries to
reference instructions by their section symbol offset.  If the section
symbol doesn't exist, it bails.

Do a fallback: when a section symbol isn't available, reference a
function symbol instead.

Reported-by: Dmitry Golovin <dima@golovin.in>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>
Reviewed-by: Miroslav Benes <mbenes@suse.cz>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://github.com/ClangBuiltLinux/linux/issues/669
Link: https://lkml.kernel.org/r/9a9cae7fcf628843aabe5a086b1a3c5bf50f42e8.1585761021.git.jpoimboe@redhat.com
Cc: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-01 12:01:01 +01:00
..
accounting tools/accounting/getdelays.c: fix netlink attribute length 2020-04-13 10:48:08 +02:00
arch x86/syscalls: Revert "x86/syscalls: Make __X32_SYSCALL_BIT be unsigned long" 2020-06-03 08:21:29 +02:00
bpf tools, bpftool: Fix wrong return value in do_dump() 2020-08-19 08:16:19 +02:00
build tools build feature: Quote CC and CXX for their arguments 2020-08-21 13:05:38 +02:00
cgroup iocost_monitor: drop string wrap around numbers when outputting json 2020-06-22 09:31:01 +02:00
debugging
firewire
firmware
gpio tools: gpio-hammer: Avoid potential overflow in main 2020-10-01 13:17:47 +02:00
hv
iio
include perf tools: Correct SNOOPX field offset 2020-09-09 19:12:27 +02:00
io_uring tools/io_uring: fix compile breakage 2020-10-07 08:01:27 +02:00
kvm/kvm_stat tools/kvm_stat: Fix kvm_exit filter name 2020-02-11 04:35:36 -08:00
laptop
leds
lib libbpf: Remove arch-specific include path in Makefile 2020-10-07 08:01:25 +02:00
memory-model
nfsd
objtool objtool: Support Clang non-section symbols in ORC generation 2020-11-01 12:01:01 +01:00
pci
pcmcia
perf perf stat: Skip duration_time in setup_system_wide 2020-10-29 09:57:50 +01:00
power tools/power/x86/intel_pstate_tracer: changes for python 3 compatibility 2020-10-01 13:17:30 +02:00
scripts tools: Let O= makes handle a relative path with -C option 2020-04-01 11:02:00 +02:00
spi
testing selftests/bpf: Fix test_sysctl_loop{1, 2} failure due to clang change 2020-10-29 09:58:07 +01:00
thermal/tmon
time
usb usbip: Fix unsafe unaligned pointer usage 2020-02-24 08:36:44 +01:00
virtio
vm tools/vm: fix cross-compile build 2020-04-29 16:33:15 +02:00
wmi
Makefile