mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 16:54:20 +08:00
powerpc: suppress some linker warnings in recent linker versions
This is a follow on from commit
0d362be5b1
("Makefile: link with -z noexecstack --no-warn-rwx-segments")
for arch/powerpc/boot to address wanrings like:
ld: warning: opal-calls.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ld: warning: arch/powerpc/boot/zImage.epapr has a LOAD segment with RWX permissions
This fixes issue https://github.com/linuxppc/issues/issues/417
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20221010165721.106267e6@canb.auug.org.au
This commit is contained in:
parent
2cb1dfac6f
commit
579aee9fc5
@ -215,6 +215,11 @@ ld_version()
|
|||||||
}'
|
}'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ld_is_lld()
|
||||||
|
{
|
||||||
|
${CROSS}ld -V 2>&1 | grep -q LLD
|
||||||
|
}
|
||||||
|
|
||||||
# Do not include PT_INTERP segment when linking pie. Non-pie linking
|
# Do not include PT_INTERP segment when linking pie. Non-pie linking
|
||||||
# just ignores this option.
|
# just ignores this option.
|
||||||
LD_VERSION=$(${CROSS}ld --version | ld_version)
|
LD_VERSION=$(${CROSS}ld --version | ld_version)
|
||||||
@ -223,6 +228,14 @@ if [ "$LD_VERSION" -ge "$LD_NO_DL_MIN_VERSION" ] ; then
|
|||||||
nodl="--no-dynamic-linker"
|
nodl="--no-dynamic-linker"
|
||||||
fi
|
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
|
||||||
|
nowarn="$nowarn --no-warn-rwx-segments"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
platformo=$object/"$platform".o
|
platformo=$object/"$platform".o
|
||||||
lds=$object/zImage.lds
|
lds=$object/zImage.lds
|
||||||
ext=strip
|
ext=strip
|
||||||
@ -504,7 +517,7 @@ if [ "$platform" != "miboot" ]; then
|
|||||||
text_start="-Ttext $link_address"
|
text_start="-Ttext $link_address"
|
||||||
fi
|
fi
|
||||||
#link everything
|
#link everything
|
||||||
${CROSS}ld -m $format -T $lds $text_start $pie $nodl $rodynamic $notext -o "$ofile" $map \
|
${CROSS}ld -m $format -T $lds $text_start $pie $nodl $nowarn $rodynamic $notext -o "$ofile" $map \
|
||||||
$platformo $tmp $object/wrapper.a
|
$platformo $tmp $object/wrapper.a
|
||||||
rm $tmp
|
rm $tmp
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user