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@
This commit is contained in:
parent
c4fed016e6
commit
e39e25e87b
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user