Page MenuHomeFreeBSD

D7837.id20545.diff
No OneTemporary

D7837.id20545.diff

Index: head/sys/conf/kern.mk
===================================================================
--- head/sys/conf/kern.mk
+++ head/sys/conf/kern.mk
@@ -244,3 +244,23 @@
.else # CSTD
CFLAGS+= -std=${CSTD}
.endif # CSTD
+
+# Set target-specific linker emulation name. Used by ld -b binary to convert
+# binary files into ELF objects.
+LD_EMULATION_aarch64=aarch64elf
+LD_EMULATION_amd64=elf_x86_64_fbsd
+LD_EMULATION_arm=armelf_fbsd
+LD_EMULATION_armeb=armelf_fbsd
+LD_EMULATION_armv6=armelf_fbsd
+LD_EMULATION_i386=elf_i386_fbsd
+LD_EMULATION_mips= elf32btsmip_fbsd
+LD_EMULATION_mips64= elf64btsmip_fbsd
+LD_EMULATION_mipsel= elf32ltsmip_fbsd
+LD_EMULATION_mips64el= elf64ltsmip_fbsd
+LD_EMULATION_mipsn32= elf32btsmipn32_fbsd
+LD_EMULATION_mipsn32el= elf32btsmipn32_fbsd # I don't think this is a thing that works
+LD_EMULATION_powerpc= elf32ppc_fbsd
+LD_EMULATION_powerpc64= elf64ppc_fbsd
+LD_EMULATION_riscv= elf64riscv
+LD_EMULATION_sparc64= elf64_sparc_fbsd
+LD_EMULATION=${LD_EMULATION_${MACHINE_ARCH}}
Index: head/sys/conf/kern.pre.mk
===================================================================
--- head/sys/conf/kern.pre.mk
+++ head/sys/conf/kern.pre.mk
@@ -119,7 +119,7 @@
NORMAL_FW= uudecode -o ${.TARGET} ${.ALLSRC}
NORMAL_FWO= ${LD} -b binary --no-warn-mismatch -d -warn-common -r \
- -o ${.TARGET} ${.ALLSRC:M*.fw}
+ -m ${LD_EMULATION} -o ${.TARGET} ${.ALLSRC:M*.fw}
# Common for dtrace / zfs
CDDL_CFLAGS= -DFREEBSD_NAMECACHE -nostdinc -I$S/cddl/compat/opensolaris -I$S/cddl/contrib/opensolaris/uts/common -I$S -I$S/cddl/contrib/opensolaris/common ${CFLAGS} -Wno-unknown-pragmas -Wno-missing-prototypes -Wno-undef -Wno-strict-prototypes -Wno-cast-qual -Wno-parentheses -Wno-redundant-decls -Wno-missing-braces -Wno-uninitialized -Wno-unused -Wno-inline -Wno-switch -Wno-pointer-arith -Wno-unknown-pragmas
Index: head/sys/conf/kmod.mk
===================================================================
--- head/sys/conf/kmod.mk
+++ head/sys/conf/kmod.mk
@@ -171,11 +171,13 @@
@${ECHO} ${_firmw:C/\:.*$//} ${.ALLSRC:M*${_firmw:C/\:.*$//}}
@if [ -e ${_firmw:C/\:.*$//} ]; then \
${LD} -b binary --no-warn-mismatch ${_LDFLAGS} \
- -r -d -o ${.TARGET} ${_firmw:C/\:.*$//}; \
+ -m ${LD_EMULATION} -r -d \
+ -o ${.TARGET} ${_firmw:C/\:.*$//}; \
else \
ln -s ${.ALLSRC:M*${_firmw:C/\:.*$//}} ${_firmw:C/\:.*$//}; \
${LD} -b binary --no-warn-mismatch ${_LDFLAGS} \
- -r -d -o ${.TARGET} ${_firmw:C/\:.*$//}; \
+ -m ${LD_EMULATION} -r -d \
+ -o ${.TARGET} ${_firmw:C/\:.*$//}; \
rm ${_firmw:C/\:.*$//}; \
fi

File Metadata

Mime Type
text/plain
Expires
Fri, Mar 27, 9:41 AM (18 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30421867
Default Alt Text
D7837.id20545.diff (2 KB)

Event Timeline