Skip to content

Commit

Permalink
powerpc/tools: Pass -mabi=elfv2 to gcc-check-mprofile-kernel.sh
Browse files Browse the repository at this point in the history
Toolchains don't always default to the ELFv2 ABI. This is true with at
least the kernel.org toolchains. As such, pass -mabi=elfv2 explicitly to
ensure that we are testing against the correct compiler output.

Signed-off-by: Naveen N Rao <[email protected]>
[mpe: Tweak comment wording]
Signed-off-by: Michael Ellerman <[email protected]>
Link: https://msgid.link/[email protected]
  • Loading branch information
rnav authored and mpe committed Oct 20, 2023
1 parent 269d79f commit d42f55e
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions arch/powerpc/tools/gcc-check-mprofile-kernel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,20 @@ set -o pipefail
# To debug, uncomment the following line
# set -x

# -mprofile-kernel is only supported on 64-bit, so this should not be invoked
# for 32-bit. We pass in -m64 explicitly, and -mbig-endian and -mlittle-endian
# are passed in from Kconfig, which takes care of toolchains defaulting to
# other targets.
# -mprofile-kernel is only supported on 64-bit with ELFv2, so this should not
# be invoked for other targets. Therefore we can pass in -m64 and -mabi
# explicitly, to take care of toolchains defaulting to other targets.

# Test whether the compile option -mprofile-kernel exists and generates
# profiling code (ie. a call to _mcount()).
echo "int func() { return 0; }" | \
$* -m64 -S -x c -O2 -p -mprofile-kernel - -o - \
$* -m64 -mabi=elfv2 -S -x c -O2 -p -mprofile-kernel - -o - \
2> /dev/null | grep -q "_mcount"

# Test whether the notrace attribute correctly suppresses calls to _mcount().

echo -e "#include <linux/compiler.h>\nnotrace int func() { return 0; }" | \
$* -m64 -S -x c -O2 -p -mprofile-kernel - -o - \
$* -m64 -mabi=elfv2 -S -x c -O2 -p -mprofile-kernel - -o - \
2> /dev/null | grep -q "_mcount" && \
exit 1

Expand Down

0 comments on commit d42f55e

Please sign in to comment.