Use the same trick as for m68k (r26536) to get separate text & data segments for the kernel, though this should really not be needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32340 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
François Revol 2009-08-14 00:18:25 +00:00
parent 7ac9833646
commit d9c434dc91

View File

@ -2,12 +2,20 @@ OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
/* XXX: this shouldn't be needed to make kernel_arm have separate text and data segments!!! */
PHDRS
{
headers PT_PHDR PHDRS ;
text PT_LOAD FILEHDR PHDRS ;
data PT_LOAD ;
dynamic PT_DYNAMIC ;
}
SECTIONS
{
. = 0x80500000;
/* . = 0x80000000;*/
. = 0x80000000;
.interp : { *(.interp) }
.interp : { *(.interp) } :text
.hash : { *(.hash) }
.dynsym : { *(.dynsym) }
.dynstr : { *(.dynstr) }
@ -35,7 +43,7 @@ SECTIONS
.plt : { *(.plt) }
/* text/read-only data */
.text : { *(.text .text.* .glue_7* .gnu.linkonce.t.*) } =0x9090
.text : { *(.text .text.* .glue_7* .gnu.linkonce.t.*) } :text =0x9090
.rodata : {
*(.rodata .rodata.* .gnu.linkonce.r.*)
@ -60,7 +68,7 @@ SECTIONS
/* writable data */
__data_start_rom = .; /* in one segment binaries, the rom data address is on top of the ram data address */
__data_start = .;
.data : SUBALIGN(4) { *(.data .data.* .gnu.linkonce.d.*) }
.data : SUBALIGN(4) { *(.data .data.* .gnu.linkonce.d.*) } :data
__ctor_list = .;
.ctors : { *(.ctors) }