summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/arch/i386/prefix/dskprefix.S2
-rw-r--r--src/arch/i386/prefix/hdprefix.S2
-rw-r--r--src/arch/i386/prefix/libprefix.S4
-rw-r--r--src/arch/i386/prefix/lkrnprefix.S2
-rw-r--r--src/arch/i386/prefix/nbiprefix.S2
-rw-r--r--src/arch/i386/prefix/romprefix.S4
-rw-r--r--src/arch/i386/scripts/i386.lds14
7 files changed, 16 insertions, 14 deletions
diff --git a/src/arch/i386/prefix/dskprefix.S b/src/arch/i386/prefix/dskprefix.S
index 09622219..e3a39cce 100644
--- a/src/arch/i386/prefix/dskprefix.S
+++ b/src/arch/i386/prefix/dskprefix.S
@@ -145,7 +145,7 @@ got_sectors:
ljmp $SYSSEG, $start_runtime
endseg: .word SYSSEG + _filesz_pgh
- .section ".zinfo.fixup", "a" /* Compressor fixup information */
+ .section ".zinfo.fixup", "a", @progbits /* Compressor fixups */
.ascii "SUBW"
.long endseg
.long 16
diff --git a/src/arch/i386/prefix/hdprefix.S b/src/arch/i386/prefix/hdprefix.S
index fd82e405..ffe1ee57 100644
--- a/src/arch/i386/prefix/hdprefix.S
+++ b/src/arch/i386/prefix/hdprefix.S
@@ -65,7 +65,7 @@ max_head:
load_length:
.long _filesz_sect
- .section ".zinfo.fixup", "a" /* Compressor fixup information */
+ .section ".zinfo.fixup", "a", @progbits /* Compressor fixups */
.ascii "SUBL"
.long load_length
.long 512
diff --git a/src/arch/i386/prefix/libprefix.S b/src/arch/i386/prefix/libprefix.S
index 8d9ab956..60dce8e4 100644
--- a/src/arch/i386/prefix/libprefix.S
+++ b/src/arch/i386/prefix/libprefix.S
@@ -679,7 +679,7 @@ prot_call_vector:
/* File split information for the compressor */
#if COMPRESS
- .section ".zinfo", "a"
+ .section ".zinfo", "a", @progbits
.ascii "COPY"
.long _prefix_lma
.long _prefix_filesz
@@ -697,7 +697,7 @@ prot_call_vector:
.long _textdata_filesz
.long _max_align
#else /* COMPRESS */
- .section ".zinfo", "a"
+ .section ".zinfo", "a", @progbits
.ascii "COPY"
.long _prefix_lma
.long _filesz
diff --git a/src/arch/i386/prefix/lkrnprefix.S b/src/arch/i386/prefix/lkrnprefix.S
index f9fba7d8..f23e4076 100644
--- a/src/arch/i386/prefix/lkrnprefix.S
+++ b/src/arch/i386/prefix/lkrnprefix.S
@@ -94,7 +94,7 @@ root_flags:
syssize:
.long _filesz_pgh - PREFIXPGH
- .section ".zinfo.fixup", "a" /* Compressor fixup information */
+ .section ".zinfo.fixup", "a", @progbits /* Compressor fixups */
.ascii "SUBL"
.long syssize
.long 16
diff --git a/src/arch/i386/prefix/nbiprefix.S b/src/arch/i386/prefix/nbiprefix.S
index 7a814b7a..ec210094 100644
--- a/src/arch/i386/prefix/nbiprefix.S
+++ b/src/arch/i386/prefix/nbiprefix.S
@@ -36,7 +36,7 @@ imglen: .long _filesz - 512
memlen: .long _filesz - 512
.size segment_header, . - segment_header
- .section ".zinfo.fixup", "a" /* Compressor fixup information */
+ .section ".zinfo.fixup", "a", @progbits /* Compressor fixups */
.ascii "SUBL"
.long imglen
.long 1
diff --git a/src/arch/i386/prefix/romprefix.S b/src/arch/i386/prefix/romprefix.S
index 00f7abc7..ca32a441 100644
--- a/src/arch/i386/prefix/romprefix.S
+++ b/src/arch/i386/prefix/romprefix.S
@@ -42,7 +42,7 @@ checksum:
.word pnpheader
.size romheader, . - romheader
- .section ".zinfo.fixup", "a" /* Compressor fixup information */
+ .section ".zinfo.fixup", "a", @progbits /* Compressor fixups */
.ascii "SUBB"
.long romheader_size
.long 512
@@ -69,7 +69,7 @@ pciheader_runtime_length:
.equ pciheader_len, . - pciheader
.size pciheader, . - pciheader
- .section ".zinfo.fixup", "a" /* Compressor fixup information */
+ .section ".zinfo.fixup", "a", @progbits /* Compressor fixups */
.ascii "SUBW"
.long pciheader_image_length
.long 512
diff --git a/src/arch/i386/scripts/i386.lds b/src/arch/i386/scripts/i386.lds
index 71bb9fdd..575cb881 100644
--- a/src/arch/i386/scripts/i386.lds
+++ b/src/arch/i386/scripts/i386.lds
@@ -34,7 +34,7 @@ SECTIONS {
*(.prefix)
*(.prefix.*)
_mprefix = .;
- } .prefix_bss (NOLOAD) : {
+ } .prefix_bss (NOLOAD) : AT ( _end_lma ) {
_eprefix = .;
}
_prefix_filesz = ABSOLUTE ( _mprefix - _prefix );
@@ -52,7 +52,7 @@ SECTIONS {
*(.text16)
*(.text16.*)
_mtext16 = .;
- } .text16_bss (NOLOAD) : {
+ } .text16_bss (NOLOAD) : AT ( _end_lma ) {
_etext16 = .;
}
_text16_filesz = ABSOLUTE ( _mtext16 - _text16 );
@@ -71,7 +71,7 @@ SECTIONS {
*(.data16)
*(.data16.*)
_mdata16 = .;
- } .data16_bss (NOLOAD) : {
+ } .data16_bss (NOLOAD) : AT ( _end_lma ) {
*(.bss16)
*(.bss16.*)
*(.stack16)
@@ -98,7 +98,7 @@ SECTIONS {
*(.data.*)
*(SORT(.tbl.*)) /* Various tables. See include/tables.h */
_mtextdata = .;
- } .textdata_bss (NOLOAD) : {
+ } .textdata_bss (NOLOAD) : AT ( _end_lma ) {
*(.bss)
*(.bss.*)
*(COMMON)
@@ -119,7 +119,7 @@ SECTIONS {
*(.zinfo)
*(.zinfo.*)
_mzinfo = .;
- } .zinfo_bss (NOLOAD) : {
+ } .zinfo_bss (NOLOAD) : AT ( _end_lma ) {
_ezinfo = .;
}
_zinfo_filesz = ABSOLUTE ( _mzinfo - _zinfo );
@@ -130,7 +130,7 @@ SECTIONS {
*
*/
- .weak 0x0 : {
+ .weak 0x0 : AT ( _end_lma ) {
_weak = .;
*(.weak)
_eweak = .;
@@ -181,6 +181,8 @@ SECTIONS {
. += _zinfo_filesz;
. = ALIGN ( _max_align );
+ _end_lma = .;
+
/*
* Values calculated to save code from doing it
*