[ARM]
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:
@@ -2,12 +2,20 @@ OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|||||||
OUTPUT_ARCH(arm)
|
OUTPUT_ARCH(arm)
|
||||||
|
|
||||||
ENTRY(_start)
|
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
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0x80500000;
|
. = 0x80000000;
|
||||||
/* . = 0x80000000;*/
|
|
||||||
|
|
||||||
.interp : { *(.interp) }
|
.interp : { *(.interp) } :text
|
||||||
.hash : { *(.hash) }
|
.hash : { *(.hash) }
|
||||||
.dynsym : { *(.dynsym) }
|
.dynsym : { *(.dynsym) }
|
||||||
.dynstr : { *(.dynstr) }
|
.dynstr : { *(.dynstr) }
|
||||||
@@ -35,7 +43,7 @@ SECTIONS
|
|||||||
.plt : { *(.plt) }
|
.plt : { *(.plt) }
|
||||||
|
|
||||||
/* text/read-only data */
|
/* 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 .rodata.* .gnu.linkonce.r.*)
|
*(.rodata .rodata.* .gnu.linkonce.r.*)
|
||||||
@@ -60,7 +68,7 @@ SECTIONS
|
|||||||
/* writable data */
|
/* writable data */
|
||||||
__data_start_rom = .; /* in one segment binaries, the rom data address is on top of the ram data address */
|
__data_start_rom = .; /* in one segment binaries, the rom data address is on top of the ram data address */
|
||||||
__data_start = .;
|
__data_start = .;
|
||||||
.data : SUBALIGN(4) { *(.data .data.* .gnu.linkonce.d.*) }
|
.data : SUBALIGN(4) { *(.data .data.* .gnu.linkonce.d.*) } :data
|
||||||
|
|
||||||
__ctor_list = .;
|
__ctor_list = .;
|
||||||
.ctors : { *(.ctors) }
|
.ctors : { *(.ctors) }
|
||||||
|
|||||||
Reference in New Issue
Block a user