forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ld.lld: warning: init/built-in.a(main.o):(.ARM.extab) is being placed in '.ARM.extab' #1152
Labels
[ARCH] arm32
This bug impacts ARCH=arm
[BUG] linux
A bug that should be fixed in the mainline kernel.
[FIXED][LINUX] 5.10
This bug was fixed in Linux 5.10
Orphan section
An linker orphan section warning
Comments
nathanchance
added
[ARCH] arm32
This bug impacts ARCH=arm
[BUG] linux-next
This is an issue only seen in linux-next
labels
Sep 10, 2020
cc @kees so I probably got that wrong in upstream review. Been spending too much time with CONFIG_UNWINDER_FRAME_POINTER on arm32... |
Patch submitted for further review: https://lore.kernel.org/r/20200928224854.3224862-1-natechancellor@gmail.com |
torvalds
pushed a commit
to torvalds/linux
that referenced
this issue
Oct 27, 2020
After turning on warnings for orphan section placement, enabling CONFIG_UNWINDER_FRAME_POINTER instead of CONFIG_UNWINDER_ARM causes thousands of warnings when clang + ld.lld are used: $ scripts/config --file arch/arm/configs/multi_v7_defconfig \ -d CONFIG_UNWINDER_ARM \ -e CONFIG_UNWINDER_FRAME_POINTER $ make -skj"$(nproc)" ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- LLVM=1 defconfig zImage ld.lld: warning: init/built-in.a(main.o):(.ARM.extab) is being placed in '.ARM.extab' ld.lld: warning: init/built-in.a(main.o):(.ARM.extab.init.text) is being placed in '.ARM.extab.init.text' ld.lld: warning: init/built-in.a(main.o):(.ARM.extab.ref.text) is being placed in '.ARM.extab.ref.text' ld.lld: warning: init/built-in.a(do_mounts.o):(.ARM.extab.init.text) is being placed in '.ARM.extab.init.text' ld.lld: warning: init/built-in.a(do_mounts.o):(.ARM.extab) is being placed in '.ARM.extab' ld.lld: warning: init/built-in.a(do_mounts_rd.o):(.ARM.extab.init.text) is being placed in '.ARM.extab.init.text' ld.lld: warning: init/built-in.a(do_mounts_rd.o):(.ARM.extab) is being placed in '.ARM.extab' ld.lld: warning: init/built-in.a(do_mounts_initrd.o):(.ARM.extab.init.text) is being placed in '.ARM.extab.init.text' ld.lld: warning: init/built-in.a(initramfs.o):(.ARM.extab.init.text) is being placed in '.ARM.extab.init.text' ld.lld: warning: init/built-in.a(initramfs.o):(.ARM.extab) is being placed in '.ARM.extab' ld.lld: warning: init/built-in.a(calibrate.o):(.ARM.extab.init.text) is being placed in '.ARM.extab.init.text' ld.lld: warning: init/built-in.a(calibrate.o):(.ARM.extab) is being placed in '.ARM.extab' These sections are handled by the ARM_UNWIND_SECTIONS define, which is only added to the list of sections when CONFIG_ARM_UNWIND is set. CONFIG_ARM_UNWIND is a hidden symbol that is only selected when CONFIG_UNWINDER_ARM is set so CONFIG_UNWINDER_FRAME_POINTER never handles these sections. According to the help text of CONFIG_UNWINDER_ARM, these sections should be discarded so that the kernel image size is not affected. Fixes: 5a17850 ("arm/build: Warn on orphan section placement") Link: ClangBuiltLinux#1152 Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Review-by: Nick Desaulniers <ndesaulniers@google.com> Tested-by: Nick Desaulniers <ndesaulniers@google.com> [kees: Made the discard slightly more specific] Signed-off-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/20200928224854.3224862-1-natechancellor@gmail.com
nathanchance
added
[BUG] linux
A bug that should be fixed in the mainline kernel.
[FIXED][LINUX] 5.10
This bug was fixed in Linux 5.10
and removed
[BUG] linux-next
This is an issue only seen in linux-next
[PATCH] Submitted
A patch has been submitted for review
labels
Oct 27, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
[ARCH] arm32
This bug impacts ARCH=arm
[BUG] linux
A bug that should be fixed in the mainline kernel.
[FIXED][LINUX] 5.10
This bug was fixed in Linux 5.10
Orphan section
An linker orphan section warning
After the orphan section warnings series hit -next, 32-bit ARM kernels that use
CONFIG_UNWINDER_FRAME_POINTER
instead ofCONFIG_UNWINDER_ARM
(which distributions such as Debian and OpenSUSE do) show hundreds of warnings:It looks like these sections are only dealt with when
CONFIG_ARM_UNWIND
is set, which is a hidden symbol selected by CONFIG_UNWINDER_ARM: https://elixir.bootlin.com/linux/v5.9-rc4/source/arch/arm/kernel/vmlinux.lds.S#L81Maybe something like this?
cc @kees
The text was updated successfully, but these errors were encountered: