diff options
author | Michael Brown <mcb30@ipxe.org> | 2021-01-30 11:48:47 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2021-01-30 18:37:01 +0000 |
commit | 82dbca4938704d543d8b7b215708a416b51dbf9d (patch) | |
tree | 2d90a77a93265aa9a54043a1d702ed989eebfc34 /src/arch | |
parent | 1fea8ce06abf997dbfd6b1f5e4470cd708b478c8 (diff) | |
download | ipxe-82dbca4938704d543d8b7b215708a416b51dbf9d.zip ipxe-82dbca4938704d543d8b7b215708a416b51dbf9d.tar.gz ipxe-82dbca4938704d543d8b7b215708a416b51dbf9d.tar.bz2 |
[build] Allow BIOS linker script to be used with FreeBSD linkerfreebsd
Add a few more ABSOLUTE() expressions to convince the FreeBSD linker
that already-absolute symbols are, in fact, absolute.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/x86/scripts/pcbios.lds | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/arch/x86/scripts/pcbios.lds b/src/arch/x86/scripts/pcbios.lds index 6244213..de59adc 100644 --- a/src/arch/x86/scripts/pcbios.lds +++ b/src/arch/x86/scripts/pcbios.lds @@ -241,30 +241,30 @@ SECTIONS { . = ALIGN ( _max_align ); _prefix_lma = .; - . += _prefix_filesz; + . += ABSOLUTE ( _prefix_filesz ); . = ALIGN ( _max_align ); _text16_early_lma = .; - . += _text16_early_filesz; + . += ABSOLUTE ( _text16_early_filesz ); . = ALIGN ( _max_align ); . = ALIGN ( _payload_align ); _pprefix_lma = .; - . += _pprefix_filesz; + . += ABSOLUTE ( _pprefix_filesz ); . = ALIGN ( _max_align ); _payload_lma = .; _pprefix_skip = ABSOLUTE ( _payload_lma ) - ABSOLUTE ( _pprefix_lma ); _text16_late_lma = .; - . += _text16_late_filesz; + . += ABSOLUTE ( _text16_late_filesz ); . = ALIGN ( _max_align ); _data16_lma = .; - . += _data16_filesz; + . += ABSOLUTE ( _data16_filesz ); . = ALIGN ( _max_align ); _textdata_lma = .; - . += _textdata_filesz; + . += ABSOLUTE ( _textdata_filesz ); _filesz = .; /* Do not include .bss.* or .zinfo in file size */ @@ -275,31 +275,31 @@ SECTIONS { . = ALIGN ( _max_align ); _bss_prefix_lma = .; - . += _prefix_padsz; + . += ABSOLUTE ( _prefix_padsz ); . = ALIGN ( _max_align ); _bss_text16_lma = .; - . += _text16_padsz; + . += ABSOLUTE ( _text16_padsz ); . = ALIGN ( _max_align ); _bss_data16_lma = .; - . += _data16_padsz; + . += ABSOLUTE ( _data16_padsz ); . = ALIGN ( _max_align ); _bss_textdata_lma = .; - . += _textdata_padsz; + . += ABSOLUTE ( _textdata_padsz ); . = ALIGN ( _max_align ); _bss_pprefix_lma = .; - . += _pprefix_padsz; + . += ABSOLUTE ( _pprefix_padsz ); . = ALIGN ( _max_align ); _bss_zinfo_lma = .; - . += _zinfo_padsz; + . += ABSOLUTE ( _zinfo_padsz ); . = ALIGN ( _max_align ); _zinfo_lma = .; - . += _zinfo_filesz; + . += ABSOLUTE ( _zinfo_filesz ); . = ALIGN ( _max_align ); _end_lma = .; |