summaryrefslogtreecommitdiff
path: root/gpxe/src/arch/i386/scripts/i386.lds
diff options
context:
space:
mode:
Diffstat (limited to 'gpxe/src/arch/i386/scripts/i386.lds')
-rw-r--r--gpxe/src/arch/i386/scripts/i386.lds202
1 files changed, 0 insertions, 202 deletions
diff --git a/gpxe/src/arch/i386/scripts/i386.lds b/gpxe/src/arch/i386/scripts/i386.lds
deleted file mode 100644
index 33c75f90..00000000
--- a/gpxe/src/arch/i386/scripts/i386.lds
+++ /dev/null
@@ -1,202 +0,0 @@
-/* -*- sh -*- */
-
-/*
- * Linker script for i386 images
- *
- */
-
-SECTIONS {
-
- /* Each section starts at a virtual address of zero.
- *
- * We guarantee alignment of virtual addresses to any alignment
- * specified by the constituent object files (e.g. via
- * __attribute__((aligned(x)))). Load addresses are guaranteed
- * only up to _max_align. Provided that all loader and relocation
- * code honours _max_align, this means that physical addresses are
- * also guaranteed up to _max_align.
- *
- * Note that when using -DKEEP_IT_REAL, the UNDI segments are only
- * guaranteed to be loaded on a paragraph boundary (i.e. 16-byte
- * alignment). Using _max_align>16 will therefore not guarantee
- * >16-byte alignment of physical addresses when -DKEEP_IT_REAL is
- * used (though virtual addresses will still be fully aligned).
- *
- */
-
- /*
- * The prefix
- *
- */
-
- .prefix 0x0 : AT ( _prefix_lma ) {
- _prefix = .;
- *(.prefix)
- *(.prefix.*)
- _mprefix = .;
- } .bss.prefix (NOLOAD) : AT ( _end_lma ) {
- _eprefix = .;
- }
- _prefix_filesz = ABSOLUTE ( _mprefix - _prefix );
- _prefix_memsz = ABSOLUTE ( _eprefix - _prefix );
-
- /*
- * The 16-bit (real-mode) code section
- *
- */
-
- .text16 0x0 : AT ( _text16_lma ) {
- _text16 = .;
- *(.text16.null)
- . += 1; /* Prevent NULL being valid */
- *(.text16)
- *(.text16.*)
- _mtext16 = .;
- } .bss.text16 (NOLOAD) : AT ( _end_lma ) {
- _etext16 = .;
- }
- _text16_filesz = ABSOLUTE ( _mtext16 - _text16 );
- _text16_memsz = ABSOLUTE ( _etext16 - _text16 );
-
- /*
- * The 16-bit (real-mode) data section
- *
- */
-
- .data16 0x0 : AT ( _data16_lma ) {
- _data16 = .;
- . += 1; /* Prevent NULL being valid */
- *(.rodata16)
- *(.rodata16.*)
- *(.data16)
- *(.data16.*)
- _mdata16 = .;
- } .bss.data16 (NOLOAD) : AT ( _end_lma ) {
- *(.bss16)
- *(.bss16.*)
- *(.stack16)
- *(.stack16.*)
- _edata16 = .;
- }
- _data16_filesz = ABSOLUTE ( _mdata16 - _data16 );
- _data16_memsz = ABSOLUTE ( _edata16 - _data16 );
-
- /*
- * The 32-bit sections
- *
- */
-
- .textdata 0x0 : AT ( _textdata_lma ) {
- _textdata = .;
- *(.text.null_trap)
- . += 1; /* Prevent NULL being valid */
- *(.text)
- *(.text.*)
- *(.rodata)
- *(.rodata.*)
- *(.data)
- *(.data.*)
- *(SORT(.tbl.*)) /* Various tables. See include/tables.h */
- _mtextdata = .;
- } .bss.textdata (NOLOAD) : AT ( _end_lma ) {
- *(.bss)
- *(.bss.*)
- *(COMMON)
- *(.stack)
- *(.stack.*)
- _etextdata = .;
- }
- _textdata_filesz = ABSOLUTE ( _mtextdata - _textdata );
- _textdata_memsz = ABSOLUTE ( _etextdata - _textdata );
-
- /*
- * Compressor information block
- *
- */
-
- .zinfo 0x0 : AT ( _zinfo_lma ) {
- _zinfo = .;
- *(.zinfo)
- *(.zinfo.*)
- _mzinfo = .;
- } .bss.zinfo (NOLOAD) : AT ( _end_lma ) {
- _ezinfo = .;
- }
- _zinfo_filesz = ABSOLUTE ( _mzinfo - _zinfo );
- _zinfo_memsz = ABSOLUTE ( _ezinfo - _zinfo );
-
- /*
- * Weak symbols that need zero values if not otherwise defined
- *
- */
-
- .weak 0x0 : AT ( _end_lma ) {
- _weak = .;
- *(.weak)
- _eweak = .;
- }
- _assert = ASSERT ( ( _weak == _eweak ), ".weak is non-zero length" );
-
- /*
- * Dispose of the comment and note sections to make the link map
- * easier to read
- *
- */
-
- /DISCARD/ : {
- *(.comment)
- *(.comment.*)
- *(.note)
- *(.note.*)
- *(.eh_frame)
- *(.eh_frame.*)
- *(.rel)
- *(.rel.*)
- *(.discard)
- }
-
- /*
- * Load address calculations. In older versions of ld, ALIGN()
- * can operate only on the location counter, so we use that.
- *
- */
-
- PROVIDE ( _max_align = 16 );
- . = 0;
-
- . = ALIGN ( _max_align );
- _prefix_lma = .;
- . += _prefix_filesz;
-
- . = ALIGN ( _max_align );
- _payload_lma = .;
- _text16_lma = .;
- . += _text16_filesz;
-
- . = ALIGN ( _max_align );
- _data16_lma = .;
- . += _data16_filesz;
-
- . = ALIGN ( _max_align );
- _textdata_lma = .;
- . += _textdata_filesz;
-
- _filesz = .; /* Do not include zinfo block in file size */
-
- . = ALIGN ( _max_align );
- _zinfo_lma = .;
- . += _zinfo_filesz;
-
- . = ALIGN ( _max_align );
- _end_lma = .;
-
- /*
- * Values calculated to save code from doing it
- *
- */
- _prefix_filesz_sect = ( ( _prefix_filesz + 511 ) / 512 );
- _prefix_memsz_pgh = ( ( _prefix_memsz + 15 ) / 16 );
- _prefix_memsz_sect = ( ( _prefix_memsz + 511 ) / 512 );
- _text16_memsz_pgh = ( ( _text16_memsz + 15 ) / 16 );
- _data16_memsz_pgh = ( ( _data16_memsz + 15 ) / 16 );
-}