Skip to content

Commit

Permalink
s390/kpatch-build: add -fPIE flag with -mno-pic-data-is-text-relative
Browse files Browse the repository at this point in the history
-mno-pic-data-is-text-relative compiler flag expects -fPIC/-fPIE flag
along with it.  Since kernel commit 778666df60f0 ("s390: compile
relocatable kernel without -fPIE"), the -fPIC/-fPIE flag is missing when
creating kpatch module and this can lead to the following error:

cc1: error: ‘-mno-pic-data-is-text-relative’ cannot be used without
‘-fpic’/‘-fPIC’.

Previously kpatch-build didnt show up this issue, as the previous kernel
was built with -fPIE.

However, kpatch build could fail with kernel commit 778666df60f0 ("s390:
compile relocatable kernel without -fPIE"), where -fPIE is not included.
Hence, include it in kpatch-build for all kernels < 6.10.0

Note:
Latest s390 kernel is built with -fPIC flag.
i.e. kernel commit 00cda11d3b2e ("s390: Compile kernel with -fPIC and
link with -no-pie"). Hence, there is no need to explicitly add it again
in kpatch-build.

Signed-off-by: Sumanth Korikkar <[email protected]>
  • Loading branch information
sumanthkorikkar committed Jun 24, 2024
1 parent 6457c4c commit 5695dce
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions kpatch-build/kpatch-build
Original file line number Diff line number Diff line change
Expand Up @@ -1237,6 +1237,7 @@ fi

if [[ "$ARCH" = "s390x" ]]; then
ARCH_KCFLAGS="-mno-pic-data-is-text-relative -fno-section-anchors"
! kernel_version_gte 6.10.0 && ARCH_KCFLAGS+=" -fPIE"
fi

export KCFLAGS="-I$DATADIR/patch -ffunction-sections -fdata-sections \
Expand Down

0 comments on commit 5695dce

Please sign in to comment.