diff options
author | Alex Auvolat <alex.auvolat@ens.fr> | 2014-11-30 18:53:31 +0100 |
---|---|---|
committer | Alex Auvolat <alex.auvolat@ens.fr> | 2014-11-30 18:53:31 +0100 |
commit | bee97e0b630976b96798246a3ef4eea8964099cf (patch) | |
tree | 797be16f6e2ac129c37fe6c7527444cc34658180 /kernel/linker.ld | |
download | macroscope-bee97e0b630976b96798246a3ef4eea8964099cf.tar.gz macroscope-bee97e0b630976b96798246a3ef4eea8964099cf.zip |
Bare bones.
Diffstat (limited to 'kernel/linker.ld')
-rw-r--r-- | kernel/linker.ld | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/kernel/linker.ld b/kernel/linker.ld new file mode 100644 index 0000000..00f4dff --- /dev/null +++ b/kernel/linker.ld @@ -0,0 +1,40 @@ +ENTRY (loader) + +SECTIONS{ + k_highhalf_addr = 0xC0000000; + + . = 0x00100000; + + .setup : { + *(.setup) + } + + . += k_highhalf_addr; + + .text : AT(ADDR(.text) - k_highhalf_addr) { + *(.text) + } + + .rodata ALIGN (0x1000) : AT(ADDR(.rodata) - k_highhalf_addr) { + *(.rodata) + } + + .data ALIGN (0x1000) : AT(ADDR(.data) - k_highhalf_addr) { + start_ctors = .; + *(.ctor*) + end_ctors = .; + start_dtors = .; + *(.dtor*) + end_dtors = .; + *(.data) + } + + .bss : AT(ADDR(.bss) - k_highhalf_addr) { + sbss = .; + *(COMMON) + *(.bss) + ebss = .; + } + + end = .; _end = .; __end = .; +} |