]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Use a template assembly file for firmware object files.
authorJohn Baldwin <jhb@FreeBSD.org>
Thu, 17 Dec 2020 20:31:17 +0000 (20:31 +0000)
committerJohn Baldwin <jhb@FreeBSD.org>
Thu, 17 Dec 2020 20:31:17 +0000 (20:31 +0000)
commita095390344fb1795c1b118a2f84da8f6a7f254ab
tree4a3543db0f2cce0a5b13b3e4f22f50cd0feac4ed
parentde66c9a118f8d5ebeb768cf416ecc1938ef1eb76
Use a template assembly file for firmware object files.

Similar to r366897, this uses the .incbin directive to pull in a
firmware file's contents into a .fwo file.  The same scheme for
computing symbol names from the filename is used as before to maximize
compatiblity and not require rebuilding existing .fwo files for
NO_CLEAN builds.  Using ld -o binary requires extra hacks in linkers
to either specify ABI options (e.g. soft- vs hard-float) or to ignore
ABI incompatiblities when linking certain objects (e.g.  object files
with only data).  Using the compiler driver avoids the need for these
hacks as the compiler driver is able to set all the appropriate ABI
options.

Reviewed by: imp, markj
Obtained from: CheriBSD
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D27579
sys/conf/kern.pre.mk
sys/conf/kmod.mk
sys/kern/firmw.S [new file with mode: 0644]
sys/tools/fw_stub.awk