On Tue, Mar 12, 2019 at 6:13 PM Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote: > > Hi Masahiro Yamada, > > do you have an idea how to fix this properly - as for example LLD > hasn't this option? > Speaking of the shell-line. > I mean use the method "call ld-option". > > The below should be if $linker supports z noreloc-overflow then set > -pie together with --no-dynamic-linker. > AFAICS this is for x86-64-only? > > Is it possible to simplify and have have one single line...? Sorry, I do not understand. Could you clarify what you want to achieve? Thanks. > KBUILD_LDFLAGS += $(call ld-option, -pie) $(call ld-option, --no-dynamic-linker) > > [ arch/x86/boot/compressed/Makefile ] > > KBUILD_LDFLAGS := -m elf_$(UTS_MACHINE) > # Compressed kernel should be built as PIE since it may be loaded at any > # address by the bootloader. > ifeq ($(CONFIG_X86_32),y) > KBUILD_LDFLAGS += $(call ld-option, -pie) $(call ld-option, --no-dynamic-linker) > else > # To build 64-bit compressed kernel as PIE, we disable relocation > # overflow check to avoid relocation overflow error with a new linker > # command-line option, -z noreloc-overflow. > KBUILD_LDFLAGS += $(shell $(LD) --help 2>&1 | grep -q "\-z noreloc-overflow" \ > && echo "-z noreloc-overflow -pie --no-dynamic-linker") > endif > LDFLAGS_vmlinux := -T > > If you need more infos let me know. > > Thanks. > > Regards, > - Sedat - > > Link: https://github.com/ClangBuiltLinux/linux/issues/411 -- Best Regards Masahiro Yamada