Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F153009883
D10085.id26521.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D10085.id26521.diff
View Options
Index: share/mk/bsd.cpu.mk
===================================================================
--- share/mk/bsd.cpu.mk
+++ share/mk/bsd.cpu.mk
@@ -316,6 +316,22 @@
CFLAGS += -EB
LDFLAGS += -EB
. endif
+. if ${MACHINE_ARCH:Mmips64*} != ""
+ACFLAGS+= -mabi=64
+AFLAGS+= -mabi=64
+CFLAGS+= -mabi=64
+LDFLAGS+= -mabi=64
+. elif ${MACHINE_ARCH:Mmipsn32*} != ""
+ACFLAGS+= -mabi=n32
+AFLAGS+= -mabi=n32
+CFLAGS+= -mabi=n32
+LDFLAGS+= -mabi=n32
+. else
+ACFLAGS+= -mabi=32
+AFLAGS+= -mabi=32
+CFLAGS+= -mabi=32
+LDFLAGS+= -mabi=32
+. endif
. if ${MACHINE_ARCH:Mmips*hf}
CFLAGS += -mhard-float
. else
@@ -362,6 +378,7 @@
.if !defined(NO_CPU_CFLAGS)
CFLAGS += ${_CPUCFLAGS}
+ACFLAGS += ${_CPUCFLAGS}
.endif
#
Index: share/mk/sys.mk
===================================================================
--- share/mk/sys.mk
+++ share/mk/sys.mk
@@ -219,7 +219,7 @@
LD ?= ld
LDFLAGS ?= # LDFLAGS is for CC,
-_LDFLAGS = ${LDFLAGS:S/-Wl,//g} # strip -Wl, for LD
+_LDFLAGS = ${LDFLAGS:S/-Wl,//g:N-mabi=*} # strip -Wl, for LD
LINT ?= lint
LINTFLAGS ?= -cghapbx
Index: sys/conf/Makefile.arm
===================================================================
--- sys/conf/Makefile.arm
+++ sys/conf/Makefile.arm
@@ -56,9 +56,10 @@
# 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_}; \
Index: sys/conf/kern.mk
===================================================================
--- sys/conf/kern.mk
+++ sys/conf/kern.mk
@@ -254,8 +254,7 @@
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
Index: sys/conf/kern.pre.mk
===================================================================
--- sys/conf/kern.pre.mk
+++ sys/conf/kern.pre.mk
@@ -184,8 +184,9 @@
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}
Index: sys/conf/kmod.mk
===================================================================
--- sys/conf/kmod.mk
+++ sys/conf/kmod.mk
@@ -210,7 +210,8 @@
.if ${__KLD_SHARED} == yes
${FULLPROG}: ${KMOD}.kld
.if ${MACHINE_CPUARCH} != "aarch64"
- ${LD} -Bshareable ${_LDFLAGS} -o ${.TARGET} ${KMOD}.kld
+ ${LD} -m ${LD_EMULATION} -Bshareable ${_LDFLAGS} -o ${.TARGET} \
+ ${KMOD}.kld
.else
#XXXKIB Relocatable linking in aarch64 ld from binutils 2.25.1 does
# not work. The linker corrupts the references to the external
@@ -218,7 +219,7 @@
# and should therefore loose the GOT entry. The problem seems
# to be fixed in the binutils-gdb git HEAD as of 2015-10-04. Hack
# below allows to get partially functioning modules for now.
- ${LD} -Bshareable ${_LDFLAGS} -o ${.TARGET} ${OBJS}
+ ${LD} -m ${LD_EMULATION} -Bshareable ${_LDFLAGS} -o ${.TARGET} ${OBJS}
.endif
.if !defined(DEBUG_FLAGS)
${OBJCOPY} --strip-debug ${.TARGET}
@@ -235,7 +236,7 @@
.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
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Apr 19, 2:51 PM (19 h, 51 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31778212
Default Alt Text
D10085.id26521.diff (4 KB)
Attached To
Mode
D10085: Explicitly pass ABI flags for MIPS.
Attached
Detach File
Event Timeline
Log In to Comment