]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Use a template assembly file for firmware object files.
authorjhb <jhb@FreeBSD.org>
Thu, 17 Dec 2020 20:31:17 +0000 (20:31 +0000)
committerjhb <jhb@FreeBSD.org>
Thu, 17 Dec 2020 20:31:17 +0000 (20:31 +0000)
commitbbecebbdb8a0079b7064dc539ace79a395a3602c
tree4a3543db0f2cce0a5b13b3e4f22f50cd0feac4ed
parent3cb1068b26ea4a8e39b58049ad487165dd0dca60
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