diff options
author | marcel <marcel@FreeBSD.org> | 2007-07-11 01:20:37 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2007-07-11 01:20:37 +0000 |
commit | e39e25e87b0071ef7bf6bbd07cf55c207f096c4c (patch) | |
tree | 63f57c1ac2f37c230a91d44a581122908f397d03 | |
parent | c4fed016e6a6dfcaf833146a9364cc76a7cfc9bc (diff) | |
download | FreeBSD-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@
-rw-r--r-- | sys/conf/kmod.mk | 8 |
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 |