* build kernel for arm64 - linker ld ignored -z relro @ 2020-09-06 16:45 Milan Buška 2020-09-12 6:30 ` Alan Modra 0 siblings, 1 reply; 5+ messages in thread From: Milan Buška @ 2020-09-06 16:45 UTC (permalink / raw) To: binutils Hello. I'm compiling the kernel v.5.8.7 on arm64. This is a compilation in a native environment. Toolchain: glibc v. 2.32 binutils v. 2.35 gcc v. 10.2.0 This is the last part of the output after make Image. AR drivers / net / ethernet / built-in.a AR drivers / net / usb / built-in.a CC drivers / net / mii.o CC drivers / net / Space.o AR drivers / perf / built-in.a CC drivers / net / loopback.o CC drivers / net / tun.o CC drivers / net / virtio_net.o AR drivers / tee / built-in.a CC drivers / net / xen-netfront.o CC drivers / net / net_failover.o AR drivers / iio / built-in.a AR drivers / net / built-in.a AR drivers / built-in.a GEN .version CHK include / generated / compile.h LD vmlinux.o MODPOST vmlinux.symvers MODINFO modules.builtin.modinfo GEN modules.builtin LD .tmp_vmlinux.kallsyms1 ld: warning: -z norelro ignored KSYM .tmp_vmlinux.kallsyms1.o LD .tmp_vmlinux.kallsyms2 ld: warning: -z norelro ignored KSYM .tmp_vmlinux.kallsyms2.o LD vmlinux ld: warning: -z norelro ignored SORTTAB vmlinux SYSMAP System.map OBJCOPY arch / arm64 / boot / Image The file in which the norelro is declared (probably) https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/arm64/Makefile?h=v5.8.7 Tested on archlinuxarm last rootfs. Best regards Milan -- Remember, no question is too stupid and no problem too small -- We've all been beginners ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: build kernel for arm64 - linker ld ignored -z relro 2020-09-06 16:45 build kernel for arm64 - linker ld ignored -z relro Milan Buška @ 2020-09-12 6:30 ` Alan Modra [not found] ` <CAFCWPPKDhcZEP_3GG=OMg6GRZsoUe-3TXYQQCi9+hScC9+xOBQ@mail.gmail.com> 0 siblings, 1 reply; 5+ messages in thread From: Alan Modra @ 2020-09-12 6:30 UTC (permalink / raw) To: Milan Buška; +Cc: binutils On Sun, Sep 06, 2020 at 04:45:52PM +0000, Milan Buška via Binutils wrote: > Hello. > I'm compiling the kernel v.5.8.7 on arm64. > This is a compilation in a native environment. > Toolchain: > glibc v. 2.32 > binutils v. 2.35 > gcc v. 10.2.0 > > This is the last part of the output after make Image. [snip] > LD .tmp_vmlinux.kallsyms1 > ld: warning: -z norelro ignored I suspect you are not configuring binutils correctly for aarch64-linux. A target of aarch64-elf for example won't give you a toolchain supporting relro. -- Alan Modra Australia Development Lab, IBM ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <CAFCWPPKDhcZEP_3GG=OMg6GRZsoUe-3TXYQQCi9+hScC9+xOBQ@mail.gmail.com>]
* Re: build kernel for arm64 - linker ld ignored -z relro [not found] ` <CAFCWPPKDhcZEP_3GG=OMg6GRZsoUe-3TXYQQCi9+hScC9+xOBQ@mail.gmail.com> @ 2020-09-13 6:05 ` Alan Modra 2020-09-13 14:37 ` Milan Buška 2020-10-05 6:15 ` Milan Buška 0 siblings, 2 replies; 5+ messages in thread From: Alan Modra @ 2020-09-13 6:05 UTC (permalink / raw) To: Milan Buška; +Cc: binutils On Sat, Sep 12, 2020 at 06:35:58PM +0200, Milan Buška wrote: > so 12. 9. 2020 v 8:30 odesílatel Alan Modra <amodra@gmail.com> napsal: > > > > On Sun, Sep 06, 2020 at 04:45:52PM +0000, Milan Buška via Binutils wrote: > > > Hello. > > > I'm compiling the kernel v.5.8.7 on arm64. > > > This is a compilation in a native environment. > > > Toolchain: > > > glibc v. 2.32 > > > binutils v. 2.35 > > > gcc v. 10.2.0 > > > > > > This is the last part of the output after make Image. > > [snip] > > > LD .tmp_vmlinux.kallsyms1 > > > ld: warning: -z norelro ignored > > > > I suspect you are not configuring binutils correctly for > > aarch64-linux. A target of aarch64-elf for example won't give you a > > toolchain supporting relro. > > > > I compiled binutils according to this configuration > > --prefix=/usr \ > --build=aarch64-unknown-linux-gnu \ > --host=aarch64-unknown-linux-gnu \ > --with-lib-path=/usr/lib:/usr/local/lib \ > --with-bugurl=https://github.com/archlinuxarm/PKGBUILDs/issues \ > --enable-deterministic-archives \ > --enable-gold \ > --enable-ld=default \ > --enable-lto \ > --enable-plugins \ > --enable-relro \ > --enable-shared \ > --enable-threads \ > --disable-gdb \ > --disable-werror \ > --with-debuginfod \ > --with-pic \ > --with-system-zlib \ > --disable-sim > > Best regards > > Milan Buska Hmm, I don't see anything much wrong with that, and it looks like archlinux doesn't make any patches to binutils that might cause the problem you're seeing. I suggested it might be an aarch64-elf config because the only reasons to see "-z norelro ignored" are GENERATE_SHLIB_SCRIPT not being "yes" or COMMONPAGESIZE not being set. The latter happens with an aarch64-elf toolchain. See the relevant ld/emulparams/ files and ld/emultempl/elf.em. -- Alan Modra Australia Development Lab, IBM ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: build kernel for arm64 - linker ld ignored -z relro 2020-09-13 6:05 ` Alan Modra @ 2020-09-13 14:37 ` Milan Buška 2020-10-05 6:15 ` Milan Buška 1 sibling, 0 replies; 5+ messages in thread From: Milan Buška @ 2020-09-13 14:37 UTC (permalink / raw) To: Alan Modra; +Cc: binutils ne 13. 9. 2020 v 8:05 odesílatel Alan Modra <amodra@gmail.com> napsal: > > On Sat, Sep 12, 2020 at 06:35:58PM +0200, Milan Buška wrote: > > so 12. 9. 2020 v 8:30 odesílatel Alan Modra <amodra@gmail.com> napsal: > > > > > > On Sun, Sep 06, 2020 at 04:45:52PM +0000, Milan Buška via Binutils wrote: > > > > Hello. > > > > I'm compiling the kernel v.5.8.7 on arm64. > > > > This is a compilation in a native environment. > > > > Toolchain: > > > > glibc v. 2.32 > > > > binutils v. 2.35 > > > > gcc v. 10.2.0 > > > > > > > > This is the last part of the output after make Image. > > > [snip] > > > > LD .tmp_vmlinux.kallsyms1 > > > > ld: warning: -z norelro ignored > > > > > > I suspect you are not configuring binutils correctly for > > > aarch64-linux. A target of aarch64-elf for example won't give you a > > > toolchain supporting relro. > > > > > > > I compiled binutils according to this configuration > > > > --prefix=/usr \ > > --build=aarch64-unknown-linux-gnu \ > > --host=aarch64-unknown-linux-gnu \ > > --with-lib-path=/usr/lib:/usr/local/lib \ > > --with-bugurl=https://github.com/archlinuxarm/PKGBUILDs/issues \ > > --enable-deterministic-archives \ > > --enable-gold \ > > --enable-ld=default \ > > --enable-lto \ > > --enable-plugins \ > > --enable-relro \ > > --enable-shared \ > > --enable-threads \ > > --disable-gdb \ > > --disable-werror \ > > --with-debuginfod \ > > --with-pic \ > > --with-system-zlib \ > > --disable-sim > > > > Best regards > > > > Milan Buska > > Hmm, I don't see anything much wrong with that, and it looks like > archlinux doesn't make any patches to binutils that might cause the > problem you're seeing. I suggested it might be an aarch64-elf config > because the only reasons to see "-z norelro ignored" are > GENERATE_SHLIB_SCRIPT not being "yes" or COMMONPAGESIZE not being > set. The latter happens with an aarch64-elf toolchain. See the > relevant ld/emulparams/ files and ld/emultempl/elf.em. > > -- > Alan Modra > Australia Development Lab, IBM Result build kernel 5.8.7 Toolchain aarch64: glibc v. 2.32 binutils v. 2.35 gcc v. 10.2.0 kernel v. 5.8.7 gmp v. 6.2.0 mpfr v. 4.1.0 mpc v. 1.2.0 - toolchain use binutils-2.35 gives the message ignore -z norelro Toolchain aarch64: glibc v. 2.32 binutils v. 2.34 gcc v. 10.2.0 kernel v. 5.8.7 gmp v. 6.2.0 mpfr v. 4.1.0 mpc v. 1.2.0 - toolchain use binutils v. 2.34 works well Best regards -- Remember, no question is too stupid and no problem too small -- We've all been beginners ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: build kernel for arm64 - linker ld ignored -z relro 2020-09-13 6:05 ` Alan Modra 2020-09-13 14:37 ` Milan Buška @ 2020-10-05 6:15 ` Milan Buška 1 sibling, 0 replies; 5+ messages in thread From: Milan Buška @ 2020-10-05 6:15 UTC (permalink / raw) To: Alan Modra; +Cc: binutils Hello. ne 13. 9. 2020 v 8:05 odesílatel Alan Modra <amodra@gmail.com> napsal: > > On Sat, Sep 12, 2020 at 06:35:58PM +0200, Milan Buška wrote: > > so 12. 9. 2020 v 8:30 odesílatel Alan Modra <amodra@gmail.com> napsal: > > > > > > On Sun, Sep 06, 2020 at 04:45:52PM +0000, Milan Buška via Binutils wrote: > > > > Hello. > > > > I'm compiling the kernel v.5.8.7 on arm64. > > > > This is a compilation in a native environment. > > > > Toolchain: > > > > glibc v. 2.32 > > > > binutils v. 2.35 > > > > gcc v. 10.2.0 > > > > > > > > This is the last part of the output after make Image. > > > [snip] > > > > LD .tmp_vmlinux.kallsyms1 > > > > ld: warning: -z norelro ignored > > > > > > I suspect you are not configuring binutils correctly for > > > aarch64-linux. A target of aarch64-elf for example won't give you a > > > toolchain supporting relro. > > > > > > > I compiled binutils according to this configuration > > > > --prefix=/usr \ > > --build=aarch64-unknown-linux-gnu \ > > --host=aarch64-unknown-linux-gnu \ > > --with-lib-path=/usr/lib:/usr/local/lib \ > > --with-bugurl=https://github.com/archlinuxarm/PKGBUILDs/issues \ > > --enable-deterministic-archives \ > > --enable-gold \ > > --enable-ld=default \ > > --enable-lto \ > > --enable-plugins \ > > --enable-relro \ > > --enable-shared \ > > --enable-threads \ > > --disable-gdb \ > > --disable-werror \ > > --with-debuginfod \ > > --with-pic \ > > --with-system-zlib \ > > --disable-sim > > > > Best regards > > > > Milan Buska > > Hmm, I don't see anything much wrong with that, and it looks like > archlinux doesn't make any patches to binutils that might cause the > problem you're seeing. I suggested it might be an aarch64-elf config > because the only reasons to see "-z norelro ignored" are > GENERATE_SHLIB_SCRIPT not being "yes" or COMMONPAGESIZE not being > set. The latter happens with an aarch64-elf toolchain. See the > relevant ld/emulparams/ files and ld/emultempl/elf.em. > > -- > Alan Modra > Australia Development Lab, IBM Binutils is fine. The problem is in the linux kernel code. The error is caused by arm/arm64/Makefile. line 105: KBUILD_LDFLAGS + = -EL $ (call ld-option, -maarch64elf, -maarch64linux) Solution: KBUILD_LDFLAGS + = -EL $ (call ld-option, -maarch64linux, -maarch64elf) Thank you for your support. Milan -- Remember, no question is too stupid and no problem too small -- We've all been beginners ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-10-05 6:16 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-09-06 16:45 build kernel for arm64 - linker ld ignored -z relro Milan Buška 2020-09-12 6:30 ` Alan Modra [not found] ` <CAFCWPPKDhcZEP_3GG=OMg6GRZsoUe-3TXYQQCi9+hScC9+xOBQ@mail.gmail.com> 2020-09-13 6:05 ` Alan Modra 2020-09-13 14:37 ` Milan Buška 2020-10-05 6:15 ` Milan Buška
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).