]> git.wh0rd.org Git - elf2flt.git/commitdiff
Microblaze changes from John Williams.
authorDavid McCullough <davidm@snapgear.com>
Wed, 25 Jun 2003 04:49:40 +0000 (04:49 +0000)
committerDavid McCullough <davidm@snapgear.com>
Wed, 25 Jun 2003 04:49:40 +0000 (04:49 +0000)
elf2flt.ld

index acb893c116dcdbfb83e1a9e502348ab84c29ceb7..fd0235258ae66ddb6480ff177a10402346e8aaec 100644 (file)
@@ -59,14 +59,32 @@ R_RODAT             *(.rodata.*)
                *(.data1)
                *(.eh_frame)
                *(.gcc_except_table)
+
+               /* Microblaze has .sdata and .sbss (small bss).  They must
+                  be contiguous, so please don't move any of this. JW */
+               _ssrw = . ;                     
                *(.sdata) 
                *(.sdata.*)
+               *(.sbss)                        /* Don't move this! */
+               _essrw = . ;
+
+               _ssrw_size = _essrw - _ssrw;
+               PROVIDE(_SDA_BASE_ = _ssrw + (_ssrw_size / 2));
+
                *(.gnu.linkonce.s.*)
                *(__libc_atexit)
                *(__libc_subinit)
                *(__libc_subfreeres)
                *(.note.ABI-tag)
 
+               /* microblaze-specific read-only small data area
+                  and associated locating symbols */
+               _ssro = . ;
+               *(.sdata2)
+               _essro = . ;
+               _ssro_size = _essro - _ssro;
+               PROVIDE(_SDA2_BASE_ = _ssro + (_ssro_size / 2));
+
                . = ALIGN(4) ;
                __CTOR_LIST__ = .;
                LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)