summaryrefslogtreecommitdiffstats
path: root/link/x86_64-jove.ld
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2026-09-29 12:53:57 -0400
committerJon Santmyer <jon@jonsantmyer.com>2026-09-29 12:53:57 -0400
commitc2788174198632e0c8bdbfa7762081f595460bdf (patch)
tree373b1f5c7cfe0e87f29c1c8956579c58b4f22bf9 /link/x86_64-jove.ld
parent8de23ca36173cfdb3c609074496115ebd9045887 (diff)
downloadjove-kernel-c2788174198632e0c8bdbfa7762081f595460bdf.tar.gz
jove-kernel-c2788174198632e0c8bdbfa7762081f595460bdf.tar.bz2
jove-kernel-c2788174198632e0c8bdbfa7762081f595460bdf.zip
move process code into proc. add panic folder
Diffstat (limited to 'link/x86_64-jove.ld')
-rw-r--r--link/x86_64-jove.ld60
1 files changed, 60 insertions, 0 deletions
diff --git a/link/x86_64-jove.ld b/link/x86_64-jove.ld
new file mode 100644
index 0000000..6c38b47
--- /dev/null
+++ b/link/x86_64-jove.ld
@@ -0,0 +1,60 @@
+OUTPUT_FORMAT(elf64-x86-64)
+OUTPUT_ARCH(i386:x86-64)
+
+ENTRY(_start)
+
+PAGESIZE = CONSTANT(MAXPAGESIZE);
+
+PHDRS
+{
+ limine_requests PT_LOAD;
+ text PT_LOAD;
+ rodata PT_LOAD;
+ data PT_LOAD;
+ bss PT_LOAD;
+}
+
+SECTIONS
+{
+ . = 0xFFFFFFFF80000000;
+ _kernel_start = .;
+
+ _kernel_text_start = .;
+ .text : {
+ *(.init)
+ *(.text .text.*)
+ *(.fini)
+ } :text
+ _kernel_text_end = .;
+ . = ALIGN(PAGESIZE);
+
+ _kernel_rodata_start = .;
+ .rodata : {
+ *(.rodata .rodata.*)
+ } :rodata
+ _kernel_rodata_end = .;
+ . = ALIGN(PAGESIZE);
+
+ _kernel_data_start = .;
+ .data : {
+ *(.data .data.*)
+ *(.limine_requests)
+ } :data
+ _kernel_data_end = .;
+ . = ALIGN(PAGESIZE);
+
+ _kernel_bss_start = .;
+ .bss : {
+ *(COMMON)
+ *(.bss .bss.*)
+ } :bss
+ _kernel_bss_end = .;
+
+ /DISCARD/ : {
+ *(.eh_frame*)
+ *(.note .note.*)
+ }
+
+ _kernel_end = .;
+}
+