summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/scripts
diff options
context:
space:
mode:
authorMichael Brown2007-07-16 17:58:38 +0200
committerMichael Brown2007-07-16 17:58:38 +0200
commit048bbeeebcfce2eac0a21a8eaf44a6810d685032 (patch)
treed1d55fed52f9ece7f2fc510a81725e7137ff0104 /src/arch/i386/scripts
parentSplit the objcopy stage out of final image preparation to a separate (diff)
downloadipxe-048bbeeebcfce2eac0a21a8eaf44a6810d685032.tar.gz
ipxe-048bbeeebcfce2eac0a21a8eaf44a6810d685032.tar.xz
ipxe-048bbeeebcfce2eac0a21a8eaf44a6810d685032.zip
Compressed ROM images now work.
Diffstat (limited to 'src/arch/i386/scripts')
-rw-r--r--src/arch/i386/scripts/i386.lds25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/arch/i386/scripts/i386.lds b/src/arch/i386/scripts/i386.lds
index 7b7b95da..8ff7c45a 100644
--- a/src/arch/i386/scripts/i386.lds
+++ b/src/arch/i386/scripts/i386.lds
@@ -165,6 +165,24 @@ SECTIONS {
_end = .;
/*
+ * Compressor information block
+ */
+
+ _zinfo_link_addr = 0;
+ . = _zinfo_link_addr;
+ _zinfo = .;
+
+ .zinfo : AT ( _zinfo_load_offset + __zinfo ) {
+ __zinfo = .;
+ _entry = .;
+ *(.zinfo)
+ *(.zinfo.*)
+ _ezinfo_progbits = .;
+ }
+
+ _ezinfo = .;
+
+ /*
* Dispose of the comment and note sections to make the link map
* easier to read
*/
@@ -215,6 +233,13 @@ SECTIONS {
_load_size = . - _load_addr;
+ . -= _zinfo_link_addr;
+ _zinfo_load_offset = ALIGN ( _max_align );
+ _zinfo_load_addr = _zinfo_link_addr + _zinfo_load_offset;
+ _zinfo_size = _ezinfo - _zinfo;
+ _zinfo_progbits_size = _ezinfo_progbits - _zinfo;
+ . = _zinfo_load_addr + _zinfo_progbits_size;
+
_payload_offset = _text16_load_offset;
/*