Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/share/mk Turn off -mpltseq for kernel modules on powerpc for...
details: https://anonhg.NetBSD.org/src/rev/d318adb65acd
branches: trunk
changeset: 938512:d318adb65acd
user: rin <rin%NetBSD.org@localhost>
date: Thu Sep 10 02:34:13 2020 +0000
description:
Turn off -mpltseq for kernel modules on powerpc for GCC >= 9.
Otherwise, object files compiled with -mlongcall contain relocation types
referring PLT, which our in-kernel linker cannot handle.
This ends up with failure in kernel module load with
``kobj_reloc: unexpected relocation type 31'' (31 == R_PPC_PLT16_HA here).
See descriptions for -mlongcall in gcc(1) of GCC9 for more details.
diffstat:
share/mk/bsd.kmodule.mk | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diffs (17 lines):
diff -r cbee83bd0b20 -r d318adb65acd share/mk/bsd.kmodule.mk
--- a/share/mk/bsd.kmodule.mk Thu Sep 10 02:12:57 2020 +0000
+++ b/share/mk/bsd.kmodule.mk Thu Sep 10 02:34:13 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.kmodule.mk,v 1.70 2020/09/06 07:20:28 mrg Exp $
+# $NetBSD: bsd.kmodule.mk,v 1.71 2020/09/10 02:34:13 rin Exp $
# We are not building this with PIE
MKPIE=no
@@ -51,6 +51,7 @@
CFLAGS+= -mlong-calls -mno-space-regs -mfast-indirect-calls
.elif ${MACHINE_CPU} == "powerpc"
CFLAGS+= ${${ACTIVE_CC} == "gcc":? -mlongcall :}
+CFLAGS+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 9:? -mno-pltseq :}
.elif ${MACHINE_CPU} == "vax"
CFLAGS+= -fno-pic
.elif ${MACHINE_CPU} == "riscv"
Home |
Main Index |
Thread Index |
Old Index