svn commit: r360656 - stable/11/sys/conf
Dimitry Andric
dim at FreeBSD.org
Tue May 5 11:14:30 UTC 2020
Author: dim
Date: Tue May 5 11:14:28 2020
New Revision: 360656
URL: https://svnweb.freebsd.org/changeset/base/360656
Log:
MFC r316513 (by jhb):
Sync SYSTEM_LD in Makefile.arm with kern.pre.mk.
- Add --no-warn-mismatch.
- Use same whitespace to make future updates simpler.
Reviewed by: imp (part of a larger change)
Sponsored by: DARPA / AFRL
Differential Revision: https://reviews.freebsd.org/D10085
MFC r316514 (by jhb):
Always pass the linker emulation via -m when linking modules and kernels.
Previously the linker emulation was only passed when building binary
objects for firmware modules. This change always passes the desired
output format for kernel modules and kernels rather than requiring the
toolchain's default output format to match the desired output format.
This in turn permits use of external toolchains whose default output
format does not match the desired output format.
Reviewed by: imp, emaste
Sponsored by: DARPA / AFRL
Differential Revision: https://reviews.freebsd.org/D10085
MFC r320179 (by emaste):
add -znotext to kernel module link invocation
ARM kernel modules require .text relocations (DT_TEXTREL) in shared
object ouptut, which is not allowed by default by lld. Add the -znotext
option to enable this. For simplicity add it unconditionally: it is
already default and thus either redundant (GNU BFD ld and gold from
ports) or ignored as an unknown option (GNU BFD ld 2.17.50 in the base
system).
Reviewed by: kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D11250
Modified:
stable/11/sys/conf/Makefile.arm
stable/11/sys/conf/kern.mk
stable/11/sys/conf/kern.pre.mk
stable/11/sys/conf/kmod.mk
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/conf/Makefile.arm
==============================================================================
--- stable/11/sys/conf/Makefile.arm Tue May 5 10:01:10 2020 (r360655)
+++ stable/11/sys/conf/Makefile.arm Tue May 5 11:14:28 2020 (r360656)
@@ -61,9 +61,10 @@ KERNVIRTADDR= 0xc0000000
# hack because genassym.c includes sys/bus.h which includes these.
genassym.o: bus_if.h device_if.h
-SYSTEM_LD_ = ${LD} -Bdynamic -T ldscript.$M.noheader ${_LDFLAGS} \
- -warn-common -export-dynamic -dynamic-linker /red/herring -o \
- ${FULLKERNEL}.noheader -X ${SYSTEM_OBJS} vers.o
+SYSTEM_LD_ = ${LD} -m ${LD_EMULATION} -Bdynamic -T ldscript.$M.noheader \
+ ${_LDFLAGS} --no-warn-mismatch --warn-common --export-dynamic \
+ --dynamic-linker /red/herring \
+ -o ${FULLKERNEL}.noheader -X ${SYSTEM_OBJS} vers.o
SYSTEM_LD_TAIL +=;sed s/" + SIZEOF_HEADERS"// ldscript.$M\
>ldscript.$M.noheader; \
${SYSTEM_LD_}; \
Modified: stable/11/sys/conf/kern.mk
==============================================================================
--- stable/11/sys/conf/kern.mk Tue May 5 10:01:10 2020 (r360655)
+++ stable/11/sys/conf/kern.mk Tue May 5 11:14:28 2020 (r360656)
@@ -256,8 +256,7 @@ CFLAGS+= -std=iso9899:1999
CFLAGS+= -std=${CSTD}
.endif # CSTD
-# Set target-specific linker emulation name. Used by ld -b binary to convert
-# binary files into ELF objects.
+# Set target-specific linker emulation name.
LD_EMULATION_aarch64=aarch64elf
LD_EMULATION_amd64=elf_x86_64_fbsd
LD_EMULATION_arm=armelf_fbsd
Modified: stable/11/sys/conf/kern.pre.mk
==============================================================================
--- stable/11/sys/conf/kern.pre.mk Tue May 5 10:01:10 2020 (r360655)
+++ stable/11/sys/conf/kern.pre.mk Tue May 5 11:14:28 2020 (r360656)
@@ -206,8 +206,9 @@ MD_ROOT_SIZE_CONFIGURED!= grep MD_ROOT_SIZE opt_md.h |
SYSTEM_OBJS+= embedfs_${MFS_IMAGE:T:R}.o
.endif
.endif
-SYSTEM_LD= @${LD} -Bdynamic -T ${LDSCRIPT} ${_LDFLAGS} --no-warn-mismatch \
- --warn-common --export-dynamic --dynamic-linker /red/herring \
+SYSTEM_LD= @${LD} -m ${LD_EMULATION} -Bdynamic -T ${LDSCRIPT} ${_LDFLAGS} \
+ --no-warn-mismatch --warn-common --export-dynamic \
+ --dynamic-linker /red/herring \
-o ${.TARGET} -X ${SYSTEM_OBJS} vers.o
SYSTEM_LD_TAIL= @${OBJCOPY} --strip-symbol gcc2_compiled. ${.TARGET} ; \
${SIZE} ${.TARGET} ; chmod 755 ${.TARGET}
Modified: stable/11/sys/conf/kmod.mk
==============================================================================
--- stable/11/sys/conf/kmod.mk Tue May 5 10:01:10 2020 (r360655)
+++ stable/11/sys/conf/kmod.mk Tue May 5 11:14:28 2020 (r360656)
@@ -228,7 +228,8 @@ ${PROG}.debug: ${FULLPROG}
.if ${__KLD_SHARED} == yes
${FULLPROG}: ${KMOD}.kld
- ${LD} -Bshareable ${_LDFLAGS} -o ${.TARGET} ${KMOD}.kld
+ ${LD} -m ${LD_EMULATION} -Bshareable -znotext ${_LDFLAGS} \
+ -o ${.TARGET} ${KMOD}.kld
.if !defined(DEBUG_FLAGS)
${OBJCOPY} --strip-debug ${.TARGET}
.endif
@@ -244,7 +245,7 @@ ${KMOD}.kld: ${OBJS}
.else
${FULLPROG}: ${OBJS}
.endif
- ${LD} ${_LDFLAGS} -r -d -o ${.TARGET} ${OBJS}
+ ${LD} -m ${LD_EMULATION} ${_LDFLAGS} -r -d -o ${.TARGET} ${OBJS}
.if ${MK_CTF} != "no"
${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS}
.endif
More information about the svn-src-stable-11
mailing list