aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2021-01-30 11:48:47 +0000
committerMichael Brown <mcb30@ipxe.org>2021-01-30 18:37:01 +0000
commit82dbca4938704d543d8b7b215708a416b51dbf9d (patch)
tree2d90a77a93265aa9a54043a1d702ed989eebfc34
parent1fea8ce06abf997dbfd6b1f5e4470cd708b478c8 (diff)
downloadipxe-freebsd.zip
ipxe-freebsd.tar.gz
ipxe-freebsd.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>
-rw-r--r--src/arch/x86/scripts/pcbios.lds26
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 = .;