diff options
-rw-r--r-- | init.c | 3 | ||||
-rw-r--r-- | pal.S | 2 | ||||
-rw-r--r-- | palcode.ld | 11 |
3 files changed, 11 insertions, 5 deletions
@@ -53,7 +53,8 @@ extern char _end[] __attribute__((visibility("hidden"), nocommon)); struct pcb_struct pcb __attribute__((section(".sbss"))); -static unsigned long page_dir[1024] __attribute__((aligned(PAGE_SIZE))); +static unsigned long page_dir[1024] + __attribute__((aligned(PAGE_SIZE), section(".bss.page_dir"))); /* The HWRPB must be aligned because it is exported at INIT_HWRPB. */ struct hwrpb_combine hwrpb __attribute__((aligned(PAGE_SIZE))); @@ -1905,7 +1905,7 @@ Sys_EnterConsole: * Allocate the initial bootup stack. */ - .section .bss + .section .bss.stack .align 3 .globl stack .type stack,@object @@ -6,12 +6,17 @@ SECTIONS . = 0xfffffc0000000000; .text : { *(.text*) } .rodata : { *(.rodata*) } - .data ALIGN(8192) : { *(.data.hwrpb) *(.data*) } + .data ALIGN(8192) : { *(.data*) } .got : { *(.got.plt) *(.got) } .sdata : { *(.sdata*) } .sbss : { *(.sbss) *(.scommon) } - .bss : { *(.bss) *(COMMON) } - PROVIDE (_end = .); + .bss : { + *(.bss.page_dir) + *(.bss.stack) + *(COMMON) + *(.bss) + PROVIDE (_end = .); + } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning |