aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/linker.ld
diff options
context:
space:
mode:
authorAlex Auvolat <alex.auvolat@ens.fr>2015-02-09 17:39:41 +0100
committerAlex Auvolat <alex.auvolat@ens.fr>2015-02-09 17:40:03 +0100
commitf2c51bc81d2aa618b29ddbeaae5ac1c5308821f0 (patch)
treefae67a79d5e60128d074550326a05216694a5848 /src/kernel/linker.ld
parenta5dfdd2b3fa91a2cda4f807c88bd35928e3c7a61 (diff)
downloadkogata-f2c51bc81d2aa618b29ddbeaae5ac1c5308821f0.tar.gz
kogata-f2c51bc81d2aa618b29ddbeaae5ac1c5308821f0.zip
Reorganize all.
Diffstat (limited to 'src/kernel/linker.ld')
-rw-r--r--src/kernel/linker.ld43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/kernel/linker.ld b/src/kernel/linker.ld
new file mode 100644
index 0000000..1203950
--- /dev/null
+++ b/src/kernel/linker.ld
@@ -0,0 +1,43 @@
+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)
+ *(.locks)
+ }
+
+ .bss : AT(ADDR(.bss) - k_highhalf_addr) {
+ sbss = .;
+ *(COMMON)
+ *(.bss)
+ ebss = .;
+ }
+
+ k_end_addr = .;
+}
+
+/* vim: set ts=4 sw=4 tw=0 noet :*/