]> cvs.zerfleddert.de Git - proxmark3-svn/commitdiff
Fix up armsrc/ldscript (create proper PHDRs, cleanup)
authormarcansoft <marcansoft@ef4ab9da-24cd-11de-8aaa-f3a34680c41f>
Fri, 26 Feb 2010 14:03:21 +0000 (14:03 +0000)
committermarcansoft <marcansoft@ef4ab9da-24cd-11de-8aaa-f3a34680c41f>
Fri, 26 Feb 2010 14:03:21 +0000 (14:03 +0000)
Now explicitly creates PHDRs (to avoid including e.g. ELF headers inside
the first PHDR)

armsrc/ldscript

index 3281df30257af0c5e4104e2a33ded6ad220ba0a8..f35fc5fe27d8e95e1cb901b277a76607a2d07dff 100644 (file)
@@ -9,42 +9,60 @@
 */
 INCLUDE ../common/ldscript.common
 
+PHDRS
+{
+       fpgaimage PT_LOAD FLAGS(4);
+       text PT_LOAD;
+       data PT_LOAD;
+       bss PT_LOAD;
+}
+
 ENTRY(Vector)
 SECTIONS
 {
        .fpgaimage : {
                *(fpga_bit.data)
-       } >fpgaimage
-       .start : { *(.startos) } >osimage
-       .text : { 
+       } >fpgaimage :fpgaimage
+
+       .start : {
+               *(.startos)
+       } >osimage :text
+
+       .text : {
                *(.text)
                *(.text.*)
                *(.eh_frame)
                *(.glue_7)
                *(.glue_7t)
-               *(.rodata) 
-               *(.rodata*) 
+       } >osimage :text
+
+       .rodata : {
+               *(.rodata)
+               *(.rodata*)
                *(.version_information)
-       } >osimage
-       __end_of_text__ = .;
-       
+       } >osimage :text
+
+       . = ALIGN(4);
+
        .data : {
-               __data_start__ = .;
-               __data_src_start__ = __end_of_text__; 
                *(.data)
                *(.data.*)
-               __data_end__ = .;
-       } >ram AT>osimage
+               . = ALIGN(4);
+       } >ram AT>osimage :data
+
+       __data_src_start__ = LOADADDR(.data);
+       __data_start__ = ADDR(.data);
+       __data_end__ = __data_start__ + SIZEOF(.data);
        
        .bss : {
                __bss_start__ = .; 
                *(.bss)
                *(.bss.*) 
-       } >ram
-       . = ALIGN(32 / 8);
-       __bss_end__ = .;
+               . = ALIGN(4);
+               __bss_end__ = .;
+       } >ram :bss
 
-       .commonarea (NOLOAD) : {
-               *(.commonarea)
-       } >commonarea
+       .commonarea (NOLOAD) : {
+               *(.commonarea)
+       } >commonarea :NONE
 }
Impressum, Datenschutz