summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2007-07-11 01:20:37 +0000
committermarcel <marcel@FreeBSD.org>2007-07-11 01:20:37 +0000
commite39e25e87b0071ef7bf6bbd07cf55c207f096c4c (patch)
tree63f57c1ac2f37c230a91d44a581122908f397d03 /sys
parentc4fed016e6a6dfcaf833146a9364cc76a7cfc9bc (diff)
downloadFreeBSD-src-e39e25e87b0071ef7bf6bbd07cf55c207f096c4c.zip
FreeBSD-src-e39e25e87b0071ef7bf6bbd07cf55c207f096c4c.tar.gz
Add --no-warn-mismatch to ld(1) when linking binary files into
ELF files. On ia64 the ELF header contains information about characteristics of the machine code and ld(1) needs that to determine whether input files are compatible for linking. To this end non-ELF files are not supported by binutils on ia64. However, the resulting ELF file seems to be correct despite the warnings and the non-supportedness of non-ELF files and it appears enough to unbreak the build of firmware(9) files on ia64 by simply supressing the warning. Ran into by: gallatin@ Approved by: re (hrs) Looks good to me: mlaier@
Diffstat (limited to 'sys')
-rw-r--r--sys/conf/kmod.mk8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk
index d5cd78d..535502a 100644
--- a/sys/conf/kmod.mk
+++ b/sys/conf/kmod.mk
@@ -145,12 +145,12 @@ CLEANFILES+= ${KMOD:S/$/.c/}
${_firmw:C/\:.*$/.fwo/}: ${_firmw:C/\:.*$//}
@${ECHO} ${_firmw:C/\:.*$//} ${.ALLSRC:M*${_firmw:C/\:.*$//}}
@if [ -e ${_firmw:C/\:.*$//} ]; then \
- ${LD} -b binary ${LDFLAGS} -r -d -o ${.TARGET} \
- ${_firmw:C/\:.*$//}; \
+ ${LD} -b binary --no-warn-mismatch ${LDFLAGS} \
+ -r -d -o ${.TARGET} ${_firmw:C/\:.*$//}; \
else \
ln -s ${.ALLSRC:M*${_firmw:C/\:.*$//}} ${_firmw:C/\:.*$//}; \
- ${LD} -b binary ${LDFLAGS} -r -d -o ${.TARGET} \
- ${_firmw:C/\:.*$//}; \
+ ${LD} -b binary --no-warn-mismatch ${LDFLAGS} \
+ -r -d -o ${.TARGET} ${_firmw:C/\:.*$//}; \
rm ${_firmw:C/\:.*$//}; \
fi
OpenPOWER on IntegriCloud