diff options
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/i386/Makefile.linux | 4 | ||||
-rw-r--r-- | src/arch/i386/scripts/linux.lds | 106 | ||||
-rw-r--r-- | src/arch/x86_64/Makefile.linux | 4 | ||||
-rw-r--r-- | src/arch/x86_64/scripts/linux.lds | 106 |
4 files changed, 4 insertions, 216 deletions
diff --git a/src/arch/i386/Makefile.linux b/src/arch/i386/Makefile.linux index fe4229e94..5992b0628 100644 --- a/src/arch/i386/Makefile.linux +++ b/src/arch/i386/Makefile.linux @@ -1,8 +1,8 @@ # -*- makefile -*- : Force emacs to use Makefile mode -# Linker script +# Starting virtual address # -LDSCRIPT = arch/i386/scripts/linux.lds +LDFLAGS += -Ttext=0x08048000 # Compiler flags for building host API wrapper # diff --git a/src/arch/i386/scripts/linux.lds b/src/arch/i386/scripts/linux.lds deleted file mode 100644 index 8c3a7b0ba..000000000 --- a/src/arch/i386/scripts/linux.lds +++ /dev/null @@ -1,106 +0,0 @@ -/* -*- sh -*- */ - -/* - * Linker script for i386 Linux images - * - */ - -OUTPUT_FORMAT ( "elf32-i386", "elf32-i386", "elf32-i386" ) -OUTPUT_ARCH ( i386 ) - -SECTIONS { - _max_align = 32; - - . = 0x08048000; - - /* - * The text section - * - */ - - . = ALIGN ( _max_align ); - .text : { - _text = .; - *(.text) - *(.text.*) - _etext = .; - } - - /* - * The rodata section - * - */ - - . = ALIGN ( _max_align ); - .rodata : { - _rodata = .; - *(.rodata) - *(.rodata.*) - _erodata = .; - } - - /* - * The data section - * - * Adjust the address for the data segment. We want to adjust up to - * the same address within the page on the next page up. - */ - - . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); - . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); - .data : { - _data = .; - *(.data) - *(.data.*) - KEEP(*(SORT(.tbl.*))) - KEEP(*(.provided)) - KEEP(*(.provided.*)) - _edata = .; - } - - /* - * The bss section - * - */ - - . = ALIGN ( _max_align ); - .bss : { - _bss = .; - *(.bss) - *(.bss.*) - *(COMMON) - _ebss = .; - } - - /* - * Weak symbols that need zero values if not otherwise defined - * - */ - - .weak 0x0 : { - _weak = .; - *(.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.*) - *(.rel) - *(.rel.*) - *(.discard) - *(.discard.*) - *(.sbat) - *(.sbat.*) - } -} diff --git a/src/arch/x86_64/Makefile.linux b/src/arch/x86_64/Makefile.linux index c41ee49df..3372d70b0 100644 --- a/src/arch/x86_64/Makefile.linux +++ b/src/arch/x86_64/Makefile.linux @@ -1,8 +1,8 @@ # -*- makefile -*- : Force emacs to use Makefile mode -# Linker script +# Starting virtual address # -LDSCRIPT = arch/x86_64/scripts/linux.lds +LDFLAGS += -Ttext=0x400000 # Include generic Linux Makefile # diff --git a/src/arch/x86_64/scripts/linux.lds b/src/arch/x86_64/scripts/linux.lds deleted file mode 100644 index a093787e5..000000000 --- a/src/arch/x86_64/scripts/linux.lds +++ /dev/null @@ -1,106 +0,0 @@ -/* -*- sh -*- */ - -/* - * Linker script for x86_64 Linux images - * - */ - -OUTPUT_FORMAT ( "elf64-x86-64", "elf64-x86-64", "elf64-x86-64" ) -OUTPUT_ARCH ( i386:x86-64 ) - -SECTIONS { - _max_align = 32; - - . = 0x400000; - - /* - * The text section - * - */ - - . = ALIGN ( _max_align ); - .text : { - _text = .; - *(.text) - *(.text.*) - _etext = .; - } - - /* - * The rodata section - * - */ - - . = ALIGN ( _max_align ); - .rodata : { - _rodata = .; - *(.rodata) - *(.rodata.*) - _erodata = .; - } - - /* - * The data section - * - * Adjust the address for the data segment. We want to adjust up to - * the same address within the page on the next page up. - */ - - . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); - . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); - .data : { - _data = .; - *(.data) - *(.data.*) - KEEP(*(SORT(.tbl.*))) - KEEP(*(.provided)) - KEEP(*(.provided.*)) - _edata = .; - } - - /* - * The bss section - * - */ - - . = ALIGN ( _max_align ); - .bss : { - _bss = .; - *(.bss) - *(.bss.*) - *(COMMON) - _ebss = .; - } - - /* - * Weak symbols that need zero values if not otherwise defined - * - */ - - .weak 0x0 : { - _weak = .; - *(.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.*) - *(.rel) - *(.rel.*) - *(.discard) - *(.discard.*) - *(.sbat) - *(.sbat.*) - } -} |