stand/efi: Fix for binutils when targeting arm64

When linking with ld.bfd it complain with the following:

/usr/local/bin/aarch64-unknown-freebsd14.0-ld: start.o: relocation
 R_AARCH64_ABS32 against `__data_size' can not be used when making a
 shared object

Fix this by marking the __data_size with ABSOLUTE. This returns a
non-relocatable value which appears to be the same behaviour of lld.

Reviewed by:	imp
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D45257
This commit is contained in:
Andrew Turner 2024-05-22 08:17:26 +00:00
parent 7618c9e163
commit 9f44638ef2

View File

@ -68,7 +68,7 @@ SECTIONS
. = ALIGN(16);
.dynsym : { *(.dynsym) }
_edata = .;
__data_size = . - __data_start;
__data_size = ABSOLUTE(. - __data_start);
/* Unused sections */
.interp : { *(.interp) }