ENTRY(___start)
OUTPUT_ARCH("elcore32")

SECTIONS {

 . = 0xe0000000;
 .text :
  {
    *.*(.text);
    . = ALIGN (32 / 8);
  }

 .eh_frame :
  {
    ___eh_frame_start = . ;
    *.*(.eh_frame);
    . = ALIGN (32 / 8);
  }
  ___eh_frame_end = . ;

 .data :
  {
  *.*(.data);
  /* Constructor and destructor tables are in ROM.  */
     ___CTOR_LIST__ = .;
     KEEP (*(.ctors .ctors.*))
     ___CTOR_END__ = .;
     ___DTOR_LIST__ = .;
     KEEP (*(.dtors dtors.*))
     ___DTOR_END__ = .;
    *.*(.rodata .rodata.*);
    *.*(.data.rel .data.rel.*);
    . = ALIGN (32 / 8);
  }

 .bss :
  {
    ___bss_start = . ;
    *(.sbss)
    *(.bss .bss.*);
    . = ALIGN (32 / 8);
  }
  ___bss_end = . ;

  .heap :
  {
  . += 10;
  /* to avoid perf leap in malloc */
  /*__end = . ;*/
  PROVIDE(__end = ALIGN(0x10000));

  . += 0x2000000;
  PROVIDE(___stack = ALIGN(8));
  }

 }
