Re: [main-line]Build warnings on PowerPC system
From: Christophe Leroy <hidden>
Date: 2025-03-28 12:20:09
Also in:
lkml
Le 28/03/2025 à 12:14, Madhavan Srinivasan a écrit :
quoted hunk ↗ jump to hunk
quoted
quoted
quoted
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index 1db60fe13802..09ceb5a42d81 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper@@ -235,7 +235,7 @@ fi # suppress some warnings in recent ld versions nowarn="-z noexecstack" if ! ld_is_lld; then - if [ "$LD_VERSION" -ge "$(echo 2.39 | ld_version)" ]; then + if [ "$LD_VERSION" -ge "$(echo 2.35 | ld_version)" ]; then nowarn="$nowarn --no-warn-rwx-segments" fi fiAbove change fixes the issue. No warnings observed. Thank you!!Take care, this must be a special version of binutils. With regular 2.36.1 I get following error: $ /opt/gcc/gcc-8.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version GNU ld (GNU Binutils) 2.36.1 Copyright (C) 2021 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty. $ /opt/gcc/gcc-8.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --no-warn-rwx-segments test.o /opt/gcc/gcc-8.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld: unrecognized option '--no-warn-rwx-segments' /opt/gcc/gcc-8.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld: use the --help option for usage informationNice catch. Thanks Christophe. May be we need to handle this special/specific case with an additional checkdiff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index 1db60fe13802..d3779c20e548 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper@@ -237,6 +237,8 @@ nowarn="-z noexecstack" if ! ld_is_lld; then if [ "$LD_VERSION" -ge "$(echo 2.39 | ld_version)" ]; then nowarn="$nowarn --no-warn-rwx-segments" + elif [ "$LD_VERSION" -eq "235020000" ]; then + nowarn="$nowarn --no-warn-rwx-segments" fi fi
I think it is not the official version of 2.35.2, it is a modified version from a distribution. It doesn't exist in the official 2.35.2: $ git remote -v origin https://sourceware.org/git/binutils-gdb.git (fetch) origin https://sourceware.org/git/binutils-gdb.git (push) $ git grep rwx-segments origin/binutils-2_35-branch [empty] What about doing something like commit 0d362be5b142 ("Makefile: link with -z noexecstack --no-warn-rwx-segments") ? Christophe