aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/linker.ld
diff options
context:
space:
mode:
authorMarvin Borner2019-09-28 23:09:13 +0200
committerMarvin Borner2019-09-28 23:09:13 +0200
commit0936f4d7b781ca8342fa80037d836306913aa282 (patch)
tree70ba535730118cfcfa19118f68d8d463aeb4e73a /src/kernel/linker.ld
parentb9c103e3048d2b28a2606a3b9693ec881425a732 (diff)
Switched back to normal aligned kernel
I had some problems with paging but maybe I will revert again later
Diffstat (limited to 'src/kernel/linker.ld')
-rw-r--r--src/kernel/linker.ld45
1 files changed, 23 insertions, 22 deletions
diff --git a/src/kernel/linker.ld b/src/kernel/linker.ld
index 3e209fc..2f74866 100644
--- a/src/kernel/linker.ld
+++ b/src/kernel/linker.ld
@@ -1,24 +1,25 @@
+OUTPUT_FORMAT("binary")
ENTRY(start)
-OUTPUT_FORMAT(elf32-i386)
-
-SECTIONS {
- . = 0xC0100000;
-
- .text : AT(ADDR(.text) - 0xC0000000) {
- *(.text)
- *(.rodata*)
- }
-
- .data ALIGN (0x1000) : AT(ADDR(.data) - 0xC0000000) {
- *(.data)
- }
-
- .bss : AT(ADDR(.bss) - 0xC0000000) {
- _sbss = .;
- *(COMMON)
- *(.bss)
- _ebss = .;
- }
-
- end = .;
+phys = 0x00100000;
+SECTIONS
+{
+ .text phys : AT(phys) {
+ code = .;
+ *(.text)
+ *(.rodata*)
+ . = ALIGN(4096);
+ }
+ .data : AT(phys + (data - code))
+ {
+ data = .;
+ *(.data)
+ . = ALIGN(4096);
+ }
+ .bss : AT(phys + (bss - code))
+ {
+ bss = .;
+ *(.bss)
+ . = ALIGN(4096);
+ }
+ end = .;
} \ No newline at end of file