ALIGN directive showing different behavior than documented

Sandra Loosemore sandra@codesourcery.com
Sat Aug 1 19:38:00 GMT 2015


On 08/01/2015 01:41 AM, Alan Modra wrote:
>
> The change in ALIGN behaviour only affected those ". = ALIGN (8)"
> statements, not the align on the section here:
>    .cs3.internalram : ALIGN (8)
> Yet the LMA for .cs3.internalram has changed.  This indicates to me
> that something before the snippet you posted caused the problem.

Hmmmm, yes.  Backing up a bit, I see that this in the linker script:

   .rodata : ALIGN (4)
   {
     ...
     __cs3_regions_end = .;
     . = ALIGN (8);
     _etext = .;
   } >rom

gives this map output without the patch:
                 0xa00003b8                __cs3_regions_end = .
                 0xa00003b8                . = ALIGN (0x8)
                 0xa00003b8                _etext = .

and this with it:
                 0xa00003b8                __cs3_regions_end = .
                 0xa00003bc                . = ALIGN (0x8)
  *fill*         0xa00003b8        0x4
                 0xa00003bc                _etext = .

That ALIGN directive is definitely doing the wrong thing -- "." is 
already aligned and inserting the fill is making it unaligned.  :-(

> I'm not sure how the LMA is going backwards.  Even if
> .cs3.internalram.bss was stripped from the output, it still should
> have its LMA updated on each phase of lang_size_sections.  Can you
> post a complete testcase?

It'll take me a while to reduce the example to something standalone (not 
requiring libraries, etc), but I've attached the full linker script and 
map files.  This is for arm-none-eabi target, BTW, but I don't think 
that should matter in terms of linker script processing.

-Sandra

-------------- next part --------------
/* Linker script for Freescale i.MX31 ADS
 *
 * Version: Sourcery CodeBench 2015.11-999999 - Preview
 * Support: https://supportnet.mentor.com/
 *
 * Copyright (c) 2007-2010 CodeSourcery, Inc.
 * Copyright (c) 2010-2015 Mentor Graphics, Inc.
 *
 * The authors hereby grant permission to use, copy, modify, distribute,
 * and license this software and its documentation for any purpose, provided
 * that existing copyright notices are retained in all copies and that this
 * notice is included verbatim in any distributions.  No written agreement,
 * license, or royalty fee is required for any of the authorized uses.
 * Modifications to this software may be copyrighted by their authors
 * and need not follow the licensing terms described here, provided that
 * the new terms are clearly indicated on the first page of each file where
 * they apply.
 */
OUTPUT_FORMAT ("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
ENTRY(__cs3_reset)
SEARCH_DIR(.)
GROUP(-lgcc -lc -lcs3 -lcs3unhosted -lcs3arm)

MEMORY
{
  ram (rwx) : ORIGIN = 0x80000000, LENGTH = 128M
  rom (rx) : ORIGIN = 0xa0000000, LENGTH = 32M
  internalram (rwx) : ORIGIN = 0x1ffc0000, LENGTH = 16K
}

/* These force the linker to search for particular symbols from
 * the start of the link process and thus ensure the user's
 * overrides are picked up
 */
EXTERN(__cs3_reset __cs3_reset_imx31)
EXTERN(__cs3_start_asm _start)
/* Bring in the interrupt routines & vector */
INCLUDE arm-names.inc
EXTERN(__cs3_interrupt_vector_arm)
EXTERN(__cs3_start_c main __cs3_stack __cs3_heap_end)

/* Provide fall-back values */
PROVIDE(__cs3_heap_start = _end);
PROVIDE(__cs3_heap_end = __cs3_region_start_ram + __cs3_region_size_ram);
PROVIDE(__cs3_region_num = (__cs3_regions_end - __cs3_regions) / 20);
PROVIDE(__cs3_stack = __cs3_region_start_ram + __cs3_region_size_ram);

SECTIONS
{
  .text :
  {
    CREATE_OBJECT_SYMBOLS
    __cs3_region_start_rom = .;
    _ftext = .;
    *(.cs3.region-head.rom)
    ASSERT (. == __cs3_region_start_rom, ".cs3.region-head.rom not permitted");
    __cs3_interrupt_vector = __cs3_interrupt_vector_arm;
    *(.cs3.interrupt_vector)
    /* Make sure we pulled in an interrupt vector.  */
    ASSERT (. != __cs3_interrupt_vector_arm, "No interrupt vector");

    PROVIDE(__cs3_reset = __cs3_reset_imx31);
    *(.cs3.reset)
    _start = DEFINED(__cs3_start_asm) ? __cs3_start_asm : _start;

    *(.text.cs3.init)
    *(.text .text.* .gnu.linkonce.t.*)
    *(.plt)
    *(.gnu.warning)
    *(.glue_7t) *(.glue_7) *(.vfp11_veneer)

    *(.ARM.extab* .gnu.linkonce.armextab.*)
    *(.gcc_except_table)
  } >rom
  .eh_frame_hdr : ALIGN (4)
  {
    KEEP (*(.eh_frame_hdr))
    *(.eh_frame_entry .eh_frame_entry.*)
  } >rom
  .eh_frame : ALIGN (4)
  {
    KEEP (*(.eh_frame)) *(.eh_frame.*)
  } >rom
  /* .ARM.exidx is sorted, so has to go in its own output section.  */
  PROVIDE_HIDDEN (__exidx_start = .);
  .ARM.exidx :
  {
    *(.ARM.exidx* .gnu.linkonce.armexidx.*)
  } >rom
  PROVIDE_HIDDEN (__exidx_end = .);
  .note.gnu.build-id : ALIGN (4)
  {
    KEEP (*(.note.gnu.build-id))
  } >rom
  .rodata : ALIGN (4)
  {
    *(.rodata .rodata.* .gnu.linkonce.r.*)

    . = ALIGN(4);
    KEEP(*(.init))

    . = ALIGN(4);
    __preinit_array_start = .;
    KEEP (*(.preinit_array))
    __preinit_array_end = .;

    . = ALIGN(4);
    __init_array_start = .;
    KEEP (*(SORT(.init_array.*)))
    KEEP (*(.init_array))
    __init_array_end = .;

    . = ALIGN(4);
    KEEP(*(.fini))

    . = ALIGN(4);
    __fini_array_start = .;
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    __fini_array_end = .;

    . = ALIGN(0x4);
    KEEP (*crtbegin.o(.ctors))
    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*crtend.o(.ctors))

    . = ALIGN(0x4);
    KEEP (*crtbegin.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*crtend.o(.dtors))

    . = ALIGN(4);
    __cs3_regions = .;
    LONG (0)
    LONG (__cs3_region_init_ram)
    LONG (__cs3_region_start_ram)
    LONG (__cs3_region_init_size_ram)
    LONG (__cs3_region_zero_size_ram)
    LONG (0)
    LONG (__cs3_region_init_internalram)
    LONG (__cs3_region_start_internalram)
    LONG (__cs3_region_init_size_internalram)
    LONG (__cs3_region_zero_size_internalram)
    __cs3_regions_end = .;
    . = ALIGN (8);
    *(.rom)
    *(.rom.b .bss.rom)
    _etext = .;
  } >rom
  /* __cs3_region_end_rom is deprecated */
  __cs3_region_end_rom = __cs3_region_start_rom + LENGTH(rom);
  __cs3_region_size_rom = LENGTH(rom);

  ASSERT (!(__cs3_region_init_ram & 7), "__cs3_region_init_ram not aligned")
  ASSERT (!(__cs3_region_start_ram & 7), "__cs3_region_start_ram not aligned")
  ASSERT (!(__cs3_region_init_size_ram & 7), "__cs3_region_init_size_ram not aligned")
  ASSERT (!(__cs3_region_zero_size_ram & 7), "__cs3_region_zero_size_ram not aligned")
  ASSERT (!(__cs3_region_init_internalram & 7), "__cs3_region_init_internalram not aligned")
  ASSERT (!(__cs3_region_start_internalram & 7), "__cs3_region_start_internalram not aligned")
  ASSERT (!(__cs3_region_init_size_internalram & 7), "__cs3_region_init_size_internalram not aligned")
  ASSERT (!(__cs3_region_zero_size_internalram & 7), "__cs3_region_zero_size_internalram not aligned")
  .cs3.internalram : ALIGN (8)
  {
    __cs3_region_start_internalram = .;
    *(.cs3.region-head.internalram)
    *(.internalram)
    . = ALIGN (8);
  } >internalram AT>rom
  .cs3.internalram.bss :
  {
    *(.internalram.b .bss.internalram)
    . = ALIGN (8);
  } >internalram AT>rom
  /* __cs3_region_end_internalram is deprecated */
  __cs3_region_end_internalram = __cs3_region_start_internalram + LENGTH(internalram);
  __cs3_region_size_internalram = LENGTH(internalram);
  __cs3_region_init_internalram = LOADADDR (.cs3.internalram);
  __cs3_region_init_size_internalram = LOADADDR (.cs3.internalram.bss) - LOADADDR (.cs3.internalram);
  __cs3_region_zero_size_internalram = SIZEOF(.cs3.internalram.bss);

  .data : ALIGN (8)
  {
    __cs3_region_start_ram = .;
    *(.cs3.region-head.ram)
    KEEP(*(.jcr))
    *(.shdata)
    *(.data .data.* .gnu.linkonce.d.*)
    *(.got.plt) *(.got)
    . = ALIGN (8);
    *(.ram)
    . = ALIGN (8);
    _edata = .;
  } >ram AT>rom
  .bss : ALIGN (8)
  {
    *(.shbss)
    *(.bss .bss.* .gnu.linkonce.b.*)
    *(COMMON)
    . = ALIGN (8);
    *(.ram.b .bss.ram)
    . = ALIGN (8);
    _end = .;
    __end = .;
  } >ram AT>rom
  /* __cs3_region_end_ram is deprecated */
  __cs3_region_end_ram = __cs3_region_start_ram + LENGTH(ram);
  __cs3_region_size_ram = LENGTH(ram);
  __cs3_region_init_ram = LOADADDR (.data);
  __cs3_region_init_size_ram = _edata - ADDR (.data);
  __cs3_region_zero_size_ram = _end - _edata;

  .stab 0 (NOLOAD) : { *(.stab) }
  .stabstr 0 (NOLOAD) : { *(.stabstr) }
  /* DWARF debug sections.
   * Symbols in the DWARF debugging sections are relative to
   * the beginning of the section so we begin them at 0.
   */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* DWARF 2.1 */
  .debug_ranges   0 : { *(.debug_ranges) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }

  .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }
  .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) }
}
/* checksum: f01255f3d42744333476c5550788 */
-------------- next part --------------
Archive member included to satisfy reference by file (symbol)

./libcs3.a(start_c.o)         (__cs3_start_c)
./libcs3.a(imx31-reset.o)     (__cs3_reset_imx31)
./libcs3unhosted.a(unhosted-start.o)
                              ./libcs3.a(imx31-reset.o) (_start)
./libcs3arm.a(arm-vector.o)   (__cs3_interrupt_vector_arm)
./libcs3arm.a(arm_isr_interrupt.o)
                              ./libcs3arm.a(arm-vector.o) (__cs3_isr_reserved)
./libcs3arm.a(arm_isr_undef.o)
                              ./libcs3arm.a(arm-vector.o) (__cs3_isr_undef)
./libcs3arm.a(arm_isr_swi.o)  ./libcs3arm.a(arm-vector.o) (__cs3_isr_swi)
./libcs3arm.a(arm_isr_pabort.o)
                              ./libcs3arm.a(arm-vector.o) (__cs3_isr_pabort)
./libcs3arm.a(arm_isr_dabort.o)
                              ./libcs3arm.a(arm-vector.o) (__cs3_isr_dabort)
./libcs3arm.a(arm_isr_irq.o)  ./libcs3arm.a(arm-vector.o) (__cs3_isr_irq)
./libcs3arm.a(arm_isr_fiq.o)  ./libcs3arm.a(arm-vector.o) (__cs3_isr_fiq)
/scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
                              ./libcs3.a(start_c.o) (__libc_init_array)

Memory Configuration

Name             Origin             Length             Attributes
ram              0x80000000         0x08000000         xrw
rom              0xa0000000         0x02000000         xr
internalram      0x1ffc0000         0x00004000         xrw
*default*        0x00000000         0xffffffff

Linker script and memory map

LOAD /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crti.o
LOAD /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
LOAD main.o
START GROUP
LOAD /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/libgcc.a
LOAD /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/../../../../arm-none-eabi/lib/libc.a
END GROUP
LOAD /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o
LOAD /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtn.o
START GROUP
LOAD /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/libgcc.a
LOAD /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/../../../../arm-none-eabi/lib/libc.a
LOAD ./libcs3.a
LOAD ./libcs3unhosted.a
LOAD ./libcs3arm.a
END GROUP
                [!provide]                PROVIDE (__cs3_heap_start, _end)
                0x88000000                PROVIDE (__cs3_heap_end, (__cs3_region_start_ram + __cs3_region_size_ram))
                0x00000002                PROVIDE (__cs3_region_num, ((__cs3_regions_end - __cs3_regions) / 0x14))
                0x88000000                PROVIDE (__cs3_stack, (__cs3_region_start_ram + __cs3_region_size_ram))

.text           0xa0000000      0x350
 CREATE_OBJECT_SYMBOLS
                0xa0000000                __cs3_region_start_rom = .
                0xa0000000                _ftext = .
 *(.cs3.region-head.rom)
                0x00000001                ASSERT ((. == __cs3_region_start_rom), .cs3.region-head.rom not permitted)
                0xa0000000                __cs3_interrupt_vector = __cs3_interrupt_vector_arm
 *(.cs3.interrupt_vector)
 .cs3.interrupt_vector
                0xa0000000       0x40 ./libcs3arm.a(arm-vector.o)
                0xa0000000                __cs3_interrupt_vector_arm
                0x00000001                ASSERT ((. != __cs3_interrupt_vector_arm), No interrupt vector)
                0xa0000040                PROVIDE (__cs3_reset, __cs3_reset_imx31)
 *(.cs3.reset)
 .cs3.reset     0xa0000040        0x4 ./libcs3.a(imx31-reset.o)
                0xa0000040                __cs3_reset_imx31
                [0xa00000d8]                _start = DEFINED (__cs3_start_asm)?__cs3_start_asm:_start
 *(.text.cs3.init)
 .text.cs3.init
                0xa0000044       0x94 ./libcs3.a(start_c.o)
                0xa0000044                __cs3_start_c
 .text.cs3.init
                0xa00000d8        0xc ./libcs3unhosted.a(unhosted-start.o)
 *(.text .text.* .gnu.linkonce.t.*)
 .text          0xa00000e4        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crti.o
 .text          0xa00000e4      0x108 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
 .text          0xa00001ec        0x0 main.o
 .text.startup  0xa00001ec        0x8 main.o
                0xa00001ec                main
 .text          0xa00001f4        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o
 .text          0xa00001f4        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtn.o
 .text          0xa00001f4       0x4c ./libcs3.a(start_c.o)
                0xa00001f4                __cs3_premain
 .text          0xa0000240       0x6c ./libcs3.a(imx31-reset.o)
 .text          0xa00002ac        0x0 ./libcs3unhosted.a(unhosted-start.o)
 .text          0xa00002ac        0x0 ./libcs3arm.a(arm-vector.o)
 .text          0xa00002ac        0x4 ./libcs3arm.a(arm_isr_interrupt.o)
                0xa00002ac                __cs3_isr_interrupt
                0xa00002ac                __cs3_isr_reserved
 .text          0xa00002b0        0x4 ./libcs3arm.a(arm_isr_undef.o)
                0xa00002b0                __cs3_isr_undef
 .text          0xa00002b4        0x4 ./libcs3arm.a(arm_isr_swi.o)
                0xa00002b4                __cs3_isr_swi
 .text          0xa00002b8        0x4 ./libcs3arm.a(arm_isr_pabort.o)
                0xa00002b8                __cs3_isr_pabort
 .text          0xa00002bc        0x4 ./libcs3arm.a(arm_isr_dabort.o)
                0xa00002bc                __cs3_isr_dabort
 .text          0xa00002c0        0x4 ./libcs3arm.a(arm_isr_irq.o)
                0xa00002c0                __cs3_isr_irq
 .text          0xa00002c4        0x4 ./libcs3arm.a(arm_isr_fiq.o)
                0xa00002c4                __cs3_isr_fiq
 .text          0xa00002c8       0x88 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
                0xa00002c8                __libc_init_array
 *(.plt)
 *(.gnu.warning)
 *(.glue_7t)
 .glue_7t       0xa0000350        0x0 linker stubs
 *(.glue_7)
 .glue_7        0xa0000350        0x0 linker stubs
 *(.vfp11_veneer)
 .vfp11_veneer  0xa0000350        0x0 linker stubs
 *(.ARM.extab* .gnu.linkonce.armextab.*)
 *(.gcc_except_table)

.v4_bx          0xa0000350        0x0
 .v4_bx         0xa0000350        0x0 linker stubs

.iplt           0xa0000350        0x0
 .iplt          0xa0000350        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o

.eh_frame_hdr
 *(.eh_frame_hdr)
 *(.eh_frame_entry .eh_frame_entry.*)

.eh_frame       0xa0000350        0x4
 *(.eh_frame)
 .eh_frame      0xa0000350        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
 .eh_frame      0xa0000350        0x4 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o
 *(.eh_frame.*)
                [!provide]                PROVIDE (__exidx_start, .)

.rel.dyn        0xa0000354        0x0
 .rel.iplt      0xa0000354        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o

.ARM.exidx
 *(.ARM.exidx* .gnu.linkonce.armexidx.*)
                [!provide]                PROVIDE (__exidx_end, .)

.note.gnu.build-id
 *(.note.gnu.build-id)

.rodata         0xa0000354       0x68
 *(.rodata .rodata.* .gnu.linkonce.r.*)
                0xa0000354                . = ALIGN (0x4)
 *(.init)
 .init          0xa0000354        0xc /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crti.o
                0xa0000354                _init
 .init          0xa0000360        0xc /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtn.o
                0xa000036c                . = ALIGN (0x4)
                0xa000036c                __preinit_array_start = .
 *(.preinit_array)
 .preinit_array
                0xa000036c        0x4 ./libcs3.a(imx31-reset.o)
                0xa0000370                __preinit_array_end = .
                0xa0000370                . = ALIGN (0x4)
                0xa0000370                __init_array_start = .
 *(SORT(.init_array.*))
 *(.init_array)
 .init_array    0xa0000370        0x4 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
                0xa0000374                __init_array_end = .
                0xa0000374                . = ALIGN (0x4)
 *(.fini)
 .fini          0xa0000374        0xc /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crti.o
                0xa0000374                _fini
 .fini          0xa0000380        0xc /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtn.o
                0xa000038c                . = ALIGN (0x4)
                0xa000038c                __fini_array_start = .
 *(.fini_array)
 .fini_array    0xa000038c        0x4 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
 *(SORT(.fini_array.*))
                0xa0000390                __fini_array_end = .
                0xa0000390                . = ALIGN (0x4)
 *crtbegin.o(.ctors)
 *(EXCLUDE_FILE(*crtend.o) .ctors)
 *(SORT(.ctors.*))
 *crtend.o(.ctors)
                0xa0000390                . = ALIGN (0x4)
 *crtbegin.o(.dtors)
 *(EXCLUDE_FILE(*crtend.o) .dtors)
 *(SORT(.dtors.*))
 *crtend.o(.dtors)
                0xa0000390                . = ALIGN (0x4)
                0xa0000390                __cs3_regions = .
                0xa0000390        0x4 LONG 0x0
                0xa0000394        0x4 LONG 0xa00003c0 __cs3_region_init_ram
                0xa0000398        0x4 LONG 0x80000000 __cs3_region_start_ram
                0xa000039c        0x4 LONG 0x8 __cs3_region_init_size_ram
                0xa00003a0        0x4 LONG 0x20 __cs3_region_zero_size_ram
                0xa00003a4        0x4 LONG 0x0
                0xa00003a8        0x4 LONG 0xa00003c0 __cs3_region_init_internalram
                0xa00003ac        0x4 LONG 0x1ffc0000 __cs3_region_start_internalram
                0xa00003b0        0x4 LONG 0xfffffffc __cs3_region_init_size_internalram
                0xa00003b4        0x4 LONG 0x0 __cs3_region_zero_size_internalram
                0xa00003b8                __cs3_regions_end = .
                0xa00003bc                . = ALIGN (0x8)
 *fill*         0xa00003b8        0x4 
 *(.rom)
 *(.rom.b .bss.rom)
                0xa00003bc                _etext = .
                0xa2000000                __cs3_region_end_rom = (__cs3_region_start_rom + LENGTH (rom))
                0x02000000                __cs3_region_size_rom = LENGTH (rom)
                0x00000001                ASSERT (! ((__cs3_region_init_ram & 0x7)), __cs3_region_init_ram not aligned)
                0x00000001                ASSERT (! ((__cs3_region_start_ram & 0x7)), __cs3_region_start_ram not aligned)
                0x00000001                ASSERT (! ((__cs3_region_init_size_ram & 0x7)), __cs3_region_init_size_ram not aligned)
                0x00000001                ASSERT (! ((__cs3_region_zero_size_ram & 0x7)), __cs3_region_zero_size_ram not aligned)
                0x00000001                ASSERT (! ((__cs3_region_init_internalram & 0x7)), __cs3_region_init_internalram not aligned)
                0x00000001                ASSERT (! ((__cs3_region_start_internalram & 0x7)), __cs3_region_start_internalram not aligned)
                0x00000000                ASSERT (! ((__cs3_region_init_size_internalram & 0x7)), __cs3_region_init_size_internalram not aligned)
                0x00000001                ASSERT (! ((__cs3_region_zero_size_internalram & 0x7)), __cs3_region_zero_size_internalram not aligned)

.cs3.internalram
                0x1ffc0000        0x0 load address 0xa00003c0
                0x1ffc0000                __cs3_region_start_internalram = .
 *(.cs3.region-head.internalram)
 *(.internalram)
                0x1ffc0000                . = ALIGN (0x8)

.cs3.internalram.bss
                0x1ffc0000        0x0 load address 0xa00003bc
 *(.internalram.b .bss.internalram)
                0x1ffc0000                . = ALIGN (0x8)
                0x1ffc4000                __cs3_region_end_internalram = (__cs3_region_start_internalram + LENGTH (internalram))
                0x00004000                __cs3_region_size_internalram = LENGTH (internalram)
                0xa00003c0                __cs3_region_init_internalram = LOADADDR (.cs3.internalram)
                0xfffffffc                __cs3_region_init_size_internalram = (LOADADDR (.cs3.internalram.bss) - LOADADDR (.cs3.internalram))
                0x00000000                __cs3_region_zero_size_internalram = SIZEOF (.cs3.internalram.bss)

.data           0x80000000        0x8 load address 0xa00003c0
                0x80000000                __cs3_region_start_ram = .
 *(.cs3.region-head.ram)
 *(.jcr)
 .jcr           0x80000000        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
 .jcr           0x80000000        0x4 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o
 *(.shdata)
 *(.data .data.* .gnu.linkonce.d.*)
 .data          0x80000004        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crti.o
 .data          0x80000004        0x4 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
                0x80000004                __dso_handle
 .data          0x80000008        0x0 main.o
 .data          0x80000008        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o
 .data          0x80000008        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtn.o
 .data          0x80000008        0x0 ./libcs3.a(start_c.o)
 .data          0x80000008        0x0 ./libcs3.a(imx31-reset.o)
 .data          0x80000008        0x0 ./libcs3unhosted.a(unhosted-start.o)
 .data          0x80000008        0x0 ./libcs3arm.a(arm-vector.o)
 .data          0x80000008        0x0 ./libcs3arm.a(arm_isr_interrupt.o)
 .data          0x80000008        0x0 ./libcs3arm.a(arm_isr_undef.o)
 .data          0x80000008        0x0 ./libcs3arm.a(arm_isr_swi.o)
 .data          0x80000008        0x0 ./libcs3arm.a(arm_isr_pabort.o)
 .data          0x80000008        0x0 ./libcs3arm.a(arm_isr_dabort.o)
 .data          0x80000008        0x0 ./libcs3arm.a(arm_isr_irq.o)
 .data          0x80000008        0x0 ./libcs3arm.a(arm_isr_fiq.o)
 .data          0x80000008        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
 *(.got.plt)
 *(.got)
                0x80000008                . = ALIGN (0x8)
 *(.ram)
                0x80000008                . = ALIGN (0x8)
                0x80000008                _edata = .

.tm_clone_table
                0x80000008        0x0 load address 0xa00003c8
 .tm_clone_table
                0x80000008        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
 .tm_clone_table
                0x80000008        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o

.igot.plt       0x80000008        0x0 load address 0xa00003c8
 .igot.plt      0x80000008        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o

.bss            0x80000008       0x20 load address 0xa00003c8
 *(.shbss)
 *(.bss .bss.* .gnu.linkonce.b.*)
 .bss           0x80000008        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crti.o
 .bss           0x80000008       0x1c /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
 .bss           0x80000024        0x0 main.o
 .bss           0x80000024        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o
 .bss           0x80000024        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtn.o
 .bss           0x80000024        0x0 ./libcs3.a(start_c.o)
 .bss           0x80000024        0x0 ./libcs3.a(imx31-reset.o)
 .bss           0x80000024        0x0 ./libcs3unhosted.a(unhosted-start.o)
 .bss           0x80000024        0x0 ./libcs3arm.a(arm-vector.o)
 .bss           0x80000024        0x0 ./libcs3arm.a(arm_isr_interrupt.o)
 .bss           0x80000024        0x0 ./libcs3arm.a(arm_isr_undef.o)
 .bss           0x80000024        0x0 ./libcs3arm.a(arm_isr_swi.o)
 .bss           0x80000024        0x0 ./libcs3arm.a(arm_isr_pabort.o)
 .bss           0x80000024        0x0 ./libcs3arm.a(arm_isr_dabort.o)
 .bss           0x80000024        0x0 ./libcs3arm.a(arm_isr_irq.o)
 .bss           0x80000024        0x0 ./libcs3arm.a(arm_isr_fiq.o)
 .bss           0x80000024        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
 *(COMMON)
                0x80000028                . = ALIGN (0x8)
 *fill*         0x80000024        0x4 
 *(.ram.b .bss.ram)
                0x80000028                . = ALIGN (0x8)
                0x80000028                _end = .
                0x80000028                __end = .
                0x88000000                __cs3_region_end_ram = (__cs3_region_start_ram + LENGTH (ram))
                0x08000000                __cs3_region_size_ram = LENGTH (ram)
                0xa00003c0                __cs3_region_init_ram = LOADADDR (.data)
                0x00000008                __cs3_region_init_size_ram = (_edata - ADDR (.data))
                0x00000020                __cs3_region_zero_size_ram = (_end - _edata)

.stab
 *(.stab)

.stabstr
 *(.stabstr)

.debug
 *(.debug)

.line
 *(.line)

.debug_srcinfo
 *(.debug_srcinfo)

.debug_sfnames
 *(.debug_sfnames)

.debug_aranges  0x00000000      0x190
 *(.debug_aranges)
 .debug_aranges
                0x00000000       0x20 main.o
 .debug_aranges
                0x00000020       0x28 ./libcs3.a(start_c.o)
 .debug_aranges
                0x00000048       0x28 ./libcs3.a(imx31-reset.o)
 .debug_aranges
                0x00000070       0x20 ./libcs3unhosted.a(unhosted-start.o)
 .debug_aranges
                0x00000090       0x20 ./libcs3arm.a(arm-vector.o)
 .debug_aranges
                0x000000b0       0x20 ./libcs3arm.a(arm_isr_interrupt.o)
 .debug_aranges
                0x000000d0       0x20 ./libcs3arm.a(arm_isr_undef.o)
 .debug_aranges
                0x000000f0       0x20 ./libcs3arm.a(arm_isr_swi.o)
 .debug_aranges
                0x00000110       0x20 ./libcs3arm.a(arm_isr_pabort.o)
 .debug_aranges
                0x00000130       0x20 ./libcs3arm.a(arm_isr_dabort.o)
 .debug_aranges
                0x00000150       0x20 ./libcs3arm.a(arm_isr_irq.o)
 .debug_aranges
                0x00000170       0x20 ./libcs3arm.a(arm_isr_fiq.o)

.debug_pubnames
 *(.debug_pubnames)

.debug_info     0x00000000      0x984
 *(.debug_info .gnu.linkonce.wi.*)
 .debug_info    0x00000000       0x3e main.o
 .debug_info    0x0000003e      0x222 ./libcs3.a(start_c.o)
 .debug_info    0x00000260       0xb6 ./libcs3.a(imx31-reset.o)
 .debug_info    0x00000316       0xb4 ./libcs3unhosted.a(unhosted-start.o)
 .debug_info    0x000003ca       0xb9 ./libcs3arm.a(arm-vector.o)
 .debug_info    0x00000483       0xb7 ./libcs3arm.a(arm_isr_interrupt.o)
 .debug_info    0x0000053a       0xb7 ./libcs3arm.a(arm_isr_undef.o)
 .debug_info    0x000005f1       0xb7 ./libcs3arm.a(arm_isr_swi.o)
 .debug_info    0x000006a8       0xb7 ./libcs3arm.a(arm_isr_pabort.o)
 .debug_info    0x0000075f       0xb7 ./libcs3arm.a(arm_isr_dabort.o)
 .debug_info    0x00000816       0xb7 ./libcs3arm.a(arm_isr_irq.o)
 .debug_info    0x000008cd       0xb7 ./libcs3arm.a(arm_isr_fiq.o)

.debug_abbrev   0x00000000      0x1f6
 *(.debug_abbrev)
 .debug_abbrev  0x00000000       0x35 main.o
 .debug_abbrev  0x00000035       0xfb ./libcs3.a(start_c.o)
 .debug_abbrev  0x00000130       0x12 ./libcs3.a(imx31-reset.o)
 .debug_abbrev  0x00000142       0x14 ./libcs3unhosted.a(unhosted-start.o)
 .debug_abbrev  0x00000156       0x14 ./libcs3arm.a(arm-vector.o)
 .debug_abbrev  0x0000016a       0x14 ./libcs3arm.a(arm_isr_interrupt.o)
 .debug_abbrev  0x0000017e       0x14 ./libcs3arm.a(arm_isr_undef.o)
 .debug_abbrev  0x00000192       0x14 ./libcs3arm.a(arm_isr_swi.o)
 .debug_abbrev  0x000001a6       0x14 ./libcs3arm.a(arm_isr_pabort.o)
 .debug_abbrev  0x000001ba       0x14 ./libcs3arm.a(arm_isr_dabort.o)
 .debug_abbrev  0x000001ce       0x14 ./libcs3arm.a(arm_isr_irq.o)
 .debug_abbrev  0x000001e2       0x14 ./libcs3arm.a(arm_isr_fiq.o)

.debug_line     0x00000000      0x56d
 *(.debug_line)
 .debug_line    0x00000000       0x5d main.o
 .debug_line    0x0000005d      0x103 ./libcs3.a(start_c.o)
 .debug_line    0x00000160       0x90 ./libcs3.a(imx31-reset.o)
 .debug_line    0x000001f0       0x61 ./libcs3unhosted.a(unhosted-start.o)
 .debug_line    0x00000251       0x6b ./libcs3arm.a(arm-vector.o)
 .debug_line    0x000002bc       0x62 ./libcs3arm.a(arm_isr_interrupt.o)
 .debug_line    0x0000031e       0x62 ./libcs3arm.a(arm_isr_undef.o)
 .debug_line    0x00000380       0x62 ./libcs3arm.a(arm_isr_swi.o)
 .debug_line    0x000003e2       0x62 ./libcs3arm.a(arm_isr_pabort.o)
 .debug_line    0x00000444       0x63 ./libcs3arm.a(arm_isr_dabort.o)
 .debug_line    0x000004a7       0x63 ./libcs3arm.a(arm_isr_irq.o)
 .debug_line    0x0000050a       0x63 ./libcs3arm.a(arm_isr_fiq.o)

.debug_frame    0x00000000       0x94
 *(.debug_frame)
 .debug_frame   0x00000000       0x20 main.o
 .debug_frame   0x00000020       0x40 ./libcs3.a(start_c.o)
 .debug_frame   0x00000060       0x34 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)

.debug_str      0x00000000      0x568
 *(.debug_str)
 .debug_str     0x00000000      0x22a main.o
                                0x22f (size before relaxing)
 .debug_str     0x0000022a      0x33e ./libcs3.a(start_c.o)
                                0x367 (size before relaxing)

.debug_loc      0x00000000      0x146
 *(.debug_loc)
 .debug_loc     0x00000000      0x146 ./libcs3.a(start_c.o)

.debug_macinfo
 *(.debug_macinfo)

.debug_ranges   0x00000000       0x60
 *(.debug_ranges)
 .debug_ranges  0x00000000       0x10 main.o
 .debug_ranges  0x00000010       0x30 ./libcs3.a(start_c.o)
 .debug_ranges  0x00000040       0x20 ./libcs3.a(imx31-reset.o)

.comment        0x00000000       0x42
 .comment       0x00000000       0x42 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
                                 0x43 (size before relaxing)
 .comment       0x00000042       0x43 main.o
 .comment       0x00000042       0x43 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o
 .comment       0x00000042       0x43 ./libcs3.a(start_c.o)

.debug_weaknames
 *(.debug_weaknames)

.debug_funcnames
 *(.debug_funcnames)

.debug_typenames
 *(.debug_typenames)

.debug_varnames
 *(.debug_varnames)

.note.gnu.arm.ident
 *(.note.gnu.arm.ident)

.ARM.attributes
                0x00000000       0x31
 *(.ARM.attributes)
 .ARM.attributes
                0x00000000       0x16 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crti.o
 .ARM.attributes
                0x00000016       0x30 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
 .ARM.attributes
                0x00000046       0x30 main.o
 .ARM.attributes
                0x00000076       0x30 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o
 .ARM.attributes
                0x000000a6       0x18 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtn.o
 .ARM.attributes
                0x000000be       0x30 ./libcs3.a(start_c.o)
 .ARM.attributes
                0x000000ee       0x25 ./libcs3.a(imx31-reset.o)
 .ARM.attributes
                0x00000113       0x14 ./libcs3unhosted.a(unhosted-start.o)
 .ARM.attributes
                0x00000127       0x17 ./libcs3arm.a(arm-vector.o)
 .ARM.attributes
                0x0000013e       0x1a ./libcs3arm.a(arm_isr_interrupt.o)
 .ARM.attributes
                0x00000158       0x1a ./libcs3arm.a(arm_isr_undef.o)
 .ARM.attributes
                0x00000172       0x1a ./libcs3arm.a(arm_isr_swi.o)
 .ARM.attributes
                0x0000018c       0x1a ./libcs3arm.a(arm_isr_pabort.o)
 .ARM.attributes
                0x000001a6       0x1a ./libcs3arm.a(arm_isr_dabort.o)
 .ARM.attributes
                0x000001c0       0x1a ./libcs3arm.a(arm_isr_irq.o)
 .ARM.attributes
                0x000001da       0x1a ./libcs3arm.a(arm_isr_fiq.o)
 .ARM.attributes
                0x000001f4       0x30 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)

/DISCARD/
 *(.note.GNU-stack)
OUTPUT(check-imx31-rom.ld elf32-littlearm)
-------------- next part --------------
Archive member included to satisfy reference by file (symbol)

./libcs3.a(start_c.o)         (__cs3_start_c)
./libcs3.a(imx31-reset.o)     (__cs3_reset_imx31)
./libcs3unhosted.a(unhosted-start.o)
                              ./libcs3.a(imx31-reset.o) (_start)
./libcs3arm.a(arm-vector.o)   (__cs3_interrupt_vector_arm)
./libcs3arm.a(arm_isr_interrupt.o)
                              ./libcs3arm.a(arm-vector.o) (__cs3_isr_reserved)
./libcs3arm.a(arm_isr_undef.o)
                              ./libcs3arm.a(arm-vector.o) (__cs3_isr_undef)
./libcs3arm.a(arm_isr_swi.o)  ./libcs3arm.a(arm-vector.o) (__cs3_isr_swi)
./libcs3arm.a(arm_isr_pabort.o)
                              ./libcs3arm.a(arm-vector.o) (__cs3_isr_pabort)
./libcs3arm.a(arm_isr_dabort.o)
                              ./libcs3arm.a(arm-vector.o) (__cs3_isr_dabort)
./libcs3arm.a(arm_isr_irq.o)  ./libcs3arm.a(arm-vector.o) (__cs3_isr_irq)
./libcs3arm.a(arm_isr_fiq.o)  ./libcs3arm.a(arm-vector.o) (__cs3_isr_fiq)
/scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
                              ./libcs3.a(start_c.o) (__libc_init_array)

Memory Configuration

Name             Origin             Length             Attributes
ram              0x80000000         0x08000000         xrw
rom              0xa0000000         0x02000000         xr
internalram      0x1ffc0000         0x00004000         xrw
*default*        0x00000000         0xffffffff

Linker script and memory map

LOAD /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crti.o
LOAD /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
LOAD main.o
START GROUP
LOAD /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/libgcc.a
LOAD /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/../../../../arm-none-eabi/lib/libc.a
END GROUP
LOAD /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o
LOAD /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtn.o
START GROUP
LOAD /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/libgcc.a
LOAD /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/../../../../arm-none-eabi/lib/libc.a
LOAD ./libcs3.a
LOAD ./libcs3unhosted.a
LOAD ./libcs3arm.a
END GROUP
                [!provide]                PROVIDE (__cs3_heap_start, _end)
                0x88000000                PROVIDE (__cs3_heap_end, (__cs3_region_start_ram + __cs3_region_size_ram))
                0x00000002                PROVIDE (__cs3_region_num, ((__cs3_regions_end - __cs3_regions) / 0x14))
                0x88000000                PROVIDE (__cs3_stack, (__cs3_region_start_ram + __cs3_region_size_ram))

.text           0xa0000000      0x350
 CREATE_OBJECT_SYMBOLS
                0xa0000000                __cs3_region_start_rom = .
                0xa0000000                _ftext = .
 *(.cs3.region-head.rom)
                0x00000001                ASSERT ((. == __cs3_region_start_rom), .cs3.region-head.rom not permitted)
                0xa0000000                __cs3_interrupt_vector = __cs3_interrupt_vector_arm
 *(.cs3.interrupt_vector)
 .cs3.interrupt_vector
                0xa0000000       0x40 ./libcs3arm.a(arm-vector.o)
                0xa0000000                __cs3_interrupt_vector_arm
                0x00000001                ASSERT ((. != __cs3_interrupt_vector_arm), No interrupt vector)
                0xa0000040                PROVIDE (__cs3_reset, __cs3_reset_imx31)
 *(.cs3.reset)
 .cs3.reset     0xa0000040        0x4 ./libcs3.a(imx31-reset.o)
                0xa0000040                __cs3_reset_imx31
                [0xa00000d8]                _start = DEFINED (__cs3_start_asm)?__cs3_start_asm:_start
 *(.text.cs3.init)
 .text.cs3.init
                0xa0000044       0x94 ./libcs3.a(start_c.o)
                0xa0000044                __cs3_start_c
 .text.cs3.init
                0xa00000d8        0xc ./libcs3unhosted.a(unhosted-start.o)
 *(.text .text.* .gnu.linkonce.t.*)
 .text          0xa00000e4        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crti.o
 .text          0xa00000e4      0x108 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
 .text          0xa00001ec        0x0 main.o
 .text.startup  0xa00001ec        0x8 main.o
                0xa00001ec                main
 .text          0xa00001f4        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o
 .text          0xa00001f4        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtn.o
 .text          0xa00001f4       0x4c ./libcs3.a(start_c.o)
                0xa00001f4                __cs3_premain
 .text          0xa0000240       0x6c ./libcs3.a(imx31-reset.o)
 .text          0xa00002ac        0x0 ./libcs3unhosted.a(unhosted-start.o)
 .text          0xa00002ac        0x0 ./libcs3arm.a(arm-vector.o)
 .text          0xa00002ac        0x4 ./libcs3arm.a(arm_isr_interrupt.o)
                0xa00002ac                __cs3_isr_interrupt
                0xa00002ac                __cs3_isr_reserved
 .text          0xa00002b0        0x4 ./libcs3arm.a(arm_isr_undef.o)
                0xa00002b0                __cs3_isr_undef
 .text          0xa00002b4        0x4 ./libcs3arm.a(arm_isr_swi.o)
                0xa00002b4                __cs3_isr_swi
 .text          0xa00002b8        0x4 ./libcs3arm.a(arm_isr_pabort.o)
                0xa00002b8                __cs3_isr_pabort
 .text          0xa00002bc        0x4 ./libcs3arm.a(arm_isr_dabort.o)
                0xa00002bc                __cs3_isr_dabort
 .text          0xa00002c0        0x4 ./libcs3arm.a(arm_isr_irq.o)
                0xa00002c0                __cs3_isr_irq
 .text          0xa00002c4        0x4 ./libcs3arm.a(arm_isr_fiq.o)
                0xa00002c4                __cs3_isr_fiq
 .text          0xa00002c8       0x88 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
                0xa00002c8                __libc_init_array
 *(.plt)
 *(.gnu.warning)
 *(.glue_7t)
 .glue_7t       0xa0000350        0x0 linker stubs
 *(.glue_7)
 .glue_7        0xa0000350        0x0 linker stubs
 *(.vfp11_veneer)
 .vfp11_veneer  0xa0000350        0x0 linker stubs
 *(.ARM.extab* .gnu.linkonce.armextab.*)
 *(.gcc_except_table)

.v4_bx          0xa0000350        0x0
 .v4_bx         0xa0000350        0x0 linker stubs

.iplt           0xa0000350        0x0
 .iplt          0xa0000350        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o

.eh_frame_hdr
 *(.eh_frame_hdr)
 *(.eh_frame_entry .eh_frame_entry.*)

.eh_frame       0xa0000350        0x4
 *(.eh_frame)
 .eh_frame      0xa0000350        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
 .eh_frame      0xa0000350        0x4 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o
 *(.eh_frame.*)
                [!provide]                PROVIDE (__exidx_start, .)

.rel.dyn        0xa0000354        0x0
 .rel.iplt      0xa0000354        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o

.ARM.exidx
 *(.ARM.exidx* .gnu.linkonce.armexidx.*)
                [!provide]                PROVIDE (__exidx_end, .)

.note.gnu.build-id
 *(.note.gnu.build-id)

.rodata         0xa0000354       0x64
 *(.rodata .rodata.* .gnu.linkonce.r.*)
                0xa0000354                . = ALIGN (0x4)
 *(.init)
 .init          0xa0000354        0xc /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crti.o
                0xa0000354                _init
 .init          0xa0000360        0xc /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtn.o
                0xa000036c                . = ALIGN (0x4)
                0xa000036c                __preinit_array_start = .
 *(.preinit_array)
 .preinit_array
                0xa000036c        0x4 ./libcs3.a(imx31-reset.o)
                0xa0000370                __preinit_array_end = .
                0xa0000370                . = ALIGN (0x4)
                0xa0000370                __init_array_start = .
 *(SORT(.init_array.*))
 *(.init_array)
 .init_array    0xa0000370        0x4 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
                0xa0000374                __init_array_end = .
                0xa0000374                . = ALIGN (0x4)
 *(.fini)
 .fini          0xa0000374        0xc /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crti.o
                0xa0000374                _fini
 .fini          0xa0000380        0xc /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtn.o
                0xa000038c                . = ALIGN (0x4)
                0xa000038c                __fini_array_start = .
 *(.fini_array)
 .fini_array    0xa000038c        0x4 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
 *(SORT(.fini_array.*))
                0xa0000390                __fini_array_end = .
                0xa0000390                . = ALIGN (0x4)
 *crtbegin.o(.ctors)
 *(EXCLUDE_FILE(*crtend.o) .ctors)
 *(SORT(.ctors.*))
 *crtend.o(.ctors)
                0xa0000390                . = ALIGN (0x4)
 *crtbegin.o(.dtors)
 *(EXCLUDE_FILE(*crtend.o) .dtors)
 *(SORT(.dtors.*))
 *crtend.o(.dtors)
                0xa0000390                . = ALIGN (0x4)
                0xa0000390                __cs3_regions = .
                0xa0000390        0x4 LONG 0x0
                0xa0000394        0x4 LONG 0xa00003b8 __cs3_region_init_ram
                0xa0000398        0x4 LONG 0x80000000 __cs3_region_start_ram
                0xa000039c        0x4 LONG 0x8 __cs3_region_init_size_ram
                0xa00003a0        0x4 LONG 0x20 __cs3_region_zero_size_ram
                0xa00003a4        0x4 LONG 0x0
                0xa00003a8        0x4 LONG 0xa00003b8 __cs3_region_init_internalram
                0xa00003ac        0x4 LONG 0x1ffc0000 __cs3_region_start_internalram
                0xa00003b0        0x4 LONG 0x0 __cs3_region_init_size_internalram
                0xa00003b4        0x4 LONG 0x0 __cs3_region_zero_size_internalram
                0xa00003b8                __cs3_regions_end = .
                0xa00003b8                . = ALIGN (0x8)
 *(.rom)
 *(.rom.b .bss.rom)
                0xa00003b8                _etext = .
                0xa2000000                __cs3_region_end_rom = (__cs3_region_start_rom + LENGTH (rom))
                0x02000000                __cs3_region_size_rom = LENGTH (rom)
                0x00000001                ASSERT (! ((__cs3_region_init_ram & 0x7)), __cs3_region_init_ram not aligned)
                0x00000001                ASSERT (! ((__cs3_region_start_ram & 0x7)), __cs3_region_start_ram not aligned)
                0x00000001                ASSERT (! ((__cs3_region_init_size_ram & 0x7)), __cs3_region_init_size_ram not aligned)
                0x00000001                ASSERT (! ((__cs3_region_zero_size_ram & 0x7)), __cs3_region_zero_size_ram not aligned)
                0x00000001                ASSERT (! ((__cs3_region_init_internalram & 0x7)), __cs3_region_init_internalram not aligned)
                0x00000001                ASSERT (! ((__cs3_region_start_internalram & 0x7)), __cs3_region_start_internalram not aligned)
                0x00000001                ASSERT (! ((__cs3_region_init_size_internalram & 0x7)), __cs3_region_init_size_internalram not aligned)
                0x00000001                ASSERT (! ((__cs3_region_zero_size_internalram & 0x7)), __cs3_region_zero_size_internalram not aligned)

.cs3.internalram
                0x1ffc0000        0x0 load address 0xa00003b8
                0x1ffc0000                __cs3_region_start_internalram = .
 *(.cs3.region-head.internalram)
 *(.internalram)
                0x1ffc0000                . = ALIGN (0x8)

.cs3.internalram.bss
                0x1ffc0000        0x0 load address 0xa00003b8
 *(.internalram.b .bss.internalram)
                0x1ffc0000                . = ALIGN (0x8)
                0x1ffc4000                __cs3_region_end_internalram = (__cs3_region_start_internalram + LENGTH (internalram))
                0x00004000                __cs3_region_size_internalram = LENGTH (internalram)
                0xa00003b8                __cs3_region_init_internalram = LOADADDR (.cs3.internalram)
                0x00000000                __cs3_region_init_size_internalram = (LOADADDR (.cs3.internalram.bss) - LOADADDR (.cs3.internalram))
                0x00000000                __cs3_region_zero_size_internalram = SIZEOF (.cs3.internalram.bss)

.data           0x80000000        0x8 load address 0xa00003b8
                0x80000000                __cs3_region_start_ram = .
 *(.cs3.region-head.ram)
 *(.jcr)
 .jcr           0x80000000        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
 .jcr           0x80000000        0x4 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o
 *(.shdata)
 *(.data .data.* .gnu.linkonce.d.*)
 .data          0x80000004        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crti.o
 .data          0x80000004        0x4 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
                0x80000004                __dso_handle
 .data          0x80000008        0x0 main.o
 .data          0x80000008        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o
 .data          0x80000008        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtn.o
 .data          0x80000008        0x0 ./libcs3.a(start_c.o)
 .data          0x80000008        0x0 ./libcs3.a(imx31-reset.o)
 .data          0x80000008        0x0 ./libcs3unhosted.a(unhosted-start.o)
 .data          0x80000008        0x0 ./libcs3arm.a(arm-vector.o)
 .data          0x80000008        0x0 ./libcs3arm.a(arm_isr_interrupt.o)
 .data          0x80000008        0x0 ./libcs3arm.a(arm_isr_undef.o)
 .data          0x80000008        0x0 ./libcs3arm.a(arm_isr_swi.o)
 .data          0x80000008        0x0 ./libcs3arm.a(arm_isr_pabort.o)
 .data          0x80000008        0x0 ./libcs3arm.a(arm_isr_dabort.o)
 .data          0x80000008        0x0 ./libcs3arm.a(arm_isr_irq.o)
 .data          0x80000008        0x0 ./libcs3arm.a(arm_isr_fiq.o)
 .data          0x80000008        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
 *(.got.plt)
 *(.got)
                0x80000008                . = ALIGN (0x8)
 *(.ram)
                0x80000008                . = ALIGN (0x8)
                0x80000008                _edata = .

.tm_clone_table
                0x80000008        0x0 load address 0xa00003c0
 .tm_clone_table
                0x80000008        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
 .tm_clone_table
                0x80000008        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o

.igot.plt       0x80000008        0x0 load address 0xa00003c0
 .igot.plt      0x80000008        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o

.bss            0x80000008       0x20 load address 0xa00003c0
 *(.shbss)
 *(.bss .bss.* .gnu.linkonce.b.*)
 .bss           0x80000008        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crti.o
 .bss           0x80000008       0x1c /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
 .bss           0x80000024        0x0 main.o
 .bss           0x80000024        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o
 .bss           0x80000024        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtn.o
 .bss           0x80000024        0x0 ./libcs3.a(start_c.o)
 .bss           0x80000024        0x0 ./libcs3.a(imx31-reset.o)
 .bss           0x80000024        0x0 ./libcs3unhosted.a(unhosted-start.o)
 .bss           0x80000024        0x0 ./libcs3arm.a(arm-vector.o)
 .bss           0x80000024        0x0 ./libcs3arm.a(arm_isr_interrupt.o)
 .bss           0x80000024        0x0 ./libcs3arm.a(arm_isr_undef.o)
 .bss           0x80000024        0x0 ./libcs3arm.a(arm_isr_swi.o)
 .bss           0x80000024        0x0 ./libcs3arm.a(arm_isr_pabort.o)
 .bss           0x80000024        0x0 ./libcs3arm.a(arm_isr_dabort.o)
 .bss           0x80000024        0x0 ./libcs3arm.a(arm_isr_irq.o)
 .bss           0x80000024        0x0 ./libcs3arm.a(arm_isr_fiq.o)
 .bss           0x80000024        0x0 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
 *(COMMON)
                0x80000028                . = ALIGN (0x8)
 *fill*         0x80000024        0x4 
 *(.ram.b .bss.ram)
                0x80000028                . = ALIGN (0x8)
                0x80000028                _end = .
                0x80000028                __end = .
                0x88000000                __cs3_region_end_ram = (__cs3_region_start_ram + LENGTH (ram))
                0x08000000                __cs3_region_size_ram = LENGTH (ram)
                0xa00003b8                __cs3_region_init_ram = LOADADDR (.data)
                0x00000008                __cs3_region_init_size_ram = (_edata - ADDR (.data))
                0x00000020                __cs3_region_zero_size_ram = (_end - _edata)

.stab
 *(.stab)

.stabstr
 *(.stabstr)

.debug
 *(.debug)

.line
 *(.line)

.debug_srcinfo
 *(.debug_srcinfo)

.debug_sfnames
 *(.debug_sfnames)

.debug_aranges  0x00000000      0x190
 *(.debug_aranges)
 .debug_aranges
                0x00000000       0x20 main.o
 .debug_aranges
                0x00000020       0x28 ./libcs3.a(start_c.o)
 .debug_aranges
                0x00000048       0x28 ./libcs3.a(imx31-reset.o)
 .debug_aranges
                0x00000070       0x20 ./libcs3unhosted.a(unhosted-start.o)
 .debug_aranges
                0x00000090       0x20 ./libcs3arm.a(arm-vector.o)
 .debug_aranges
                0x000000b0       0x20 ./libcs3arm.a(arm_isr_interrupt.o)
 .debug_aranges
                0x000000d0       0x20 ./libcs3arm.a(arm_isr_undef.o)
 .debug_aranges
                0x000000f0       0x20 ./libcs3arm.a(arm_isr_swi.o)
 .debug_aranges
                0x00000110       0x20 ./libcs3arm.a(arm_isr_pabort.o)
 .debug_aranges
                0x00000130       0x20 ./libcs3arm.a(arm_isr_dabort.o)
 .debug_aranges
                0x00000150       0x20 ./libcs3arm.a(arm_isr_irq.o)
 .debug_aranges
                0x00000170       0x20 ./libcs3arm.a(arm_isr_fiq.o)

.debug_pubnames
 *(.debug_pubnames)

.debug_info     0x00000000      0x984
 *(.debug_info .gnu.linkonce.wi.*)
 .debug_info    0x00000000       0x3e main.o
 .debug_info    0x0000003e      0x222 ./libcs3.a(start_c.o)
 .debug_info    0x00000260       0xb6 ./libcs3.a(imx31-reset.o)
 .debug_info    0x00000316       0xb4 ./libcs3unhosted.a(unhosted-start.o)
 .debug_info    0x000003ca       0xb9 ./libcs3arm.a(arm-vector.o)
 .debug_info    0x00000483       0xb7 ./libcs3arm.a(arm_isr_interrupt.o)
 .debug_info    0x0000053a       0xb7 ./libcs3arm.a(arm_isr_undef.o)
 .debug_info    0x000005f1       0xb7 ./libcs3arm.a(arm_isr_swi.o)
 .debug_info    0x000006a8       0xb7 ./libcs3arm.a(arm_isr_pabort.o)
 .debug_info    0x0000075f       0xb7 ./libcs3arm.a(arm_isr_dabort.o)
 .debug_info    0x00000816       0xb7 ./libcs3arm.a(arm_isr_irq.o)
 .debug_info    0x000008cd       0xb7 ./libcs3arm.a(arm_isr_fiq.o)

.debug_abbrev   0x00000000      0x1f6
 *(.debug_abbrev)
 .debug_abbrev  0x00000000       0x35 main.o
 .debug_abbrev  0x00000035       0xfb ./libcs3.a(start_c.o)
 .debug_abbrev  0x00000130       0x12 ./libcs3.a(imx31-reset.o)
 .debug_abbrev  0x00000142       0x14 ./libcs3unhosted.a(unhosted-start.o)
 .debug_abbrev  0x00000156       0x14 ./libcs3arm.a(arm-vector.o)
 .debug_abbrev  0x0000016a       0x14 ./libcs3arm.a(arm_isr_interrupt.o)
 .debug_abbrev  0x0000017e       0x14 ./libcs3arm.a(arm_isr_undef.o)
 .debug_abbrev  0x00000192       0x14 ./libcs3arm.a(arm_isr_swi.o)
 .debug_abbrev  0x000001a6       0x14 ./libcs3arm.a(arm_isr_pabort.o)
 .debug_abbrev  0x000001ba       0x14 ./libcs3arm.a(arm_isr_dabort.o)
 .debug_abbrev  0x000001ce       0x14 ./libcs3arm.a(arm_isr_irq.o)
 .debug_abbrev  0x000001e2       0x14 ./libcs3arm.a(arm_isr_fiq.o)

.debug_line     0x00000000      0x56d
 *(.debug_line)
 .debug_line    0x00000000       0x5d main.o
 .debug_line    0x0000005d      0x103 ./libcs3.a(start_c.o)
 .debug_line    0x00000160       0x90 ./libcs3.a(imx31-reset.o)
 .debug_line    0x000001f0       0x61 ./libcs3unhosted.a(unhosted-start.o)
 .debug_line    0x00000251       0x6b ./libcs3arm.a(arm-vector.o)
 .debug_line    0x000002bc       0x62 ./libcs3arm.a(arm_isr_interrupt.o)
 .debug_line    0x0000031e       0x62 ./libcs3arm.a(arm_isr_undef.o)
 .debug_line    0x00000380       0x62 ./libcs3arm.a(arm_isr_swi.o)
 .debug_line    0x000003e2       0x62 ./libcs3arm.a(arm_isr_pabort.o)
 .debug_line    0x00000444       0x63 ./libcs3arm.a(arm_isr_dabort.o)
 .debug_line    0x000004a7       0x63 ./libcs3arm.a(arm_isr_irq.o)
 .debug_line    0x0000050a       0x63 ./libcs3arm.a(arm_isr_fiq.o)

.debug_frame    0x00000000       0x94
 *(.debug_frame)
 .debug_frame   0x00000000       0x20 main.o
 .debug_frame   0x00000020       0x40 ./libcs3.a(start_c.o)
 .debug_frame   0x00000060       0x34 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)

.debug_str      0x00000000      0x568
 *(.debug_str)
 .debug_str     0x00000000      0x22a main.o
                                0x22f (size before relaxing)
 .debug_str     0x0000022a      0x33e ./libcs3.a(start_c.o)
                                0x367 (size before relaxing)

.debug_loc      0x00000000      0x146
 *(.debug_loc)
 .debug_loc     0x00000000      0x146 ./libcs3.a(start_c.o)

.debug_macinfo
 *(.debug_macinfo)

.debug_ranges   0x00000000       0x60
 *(.debug_ranges)
 .debug_ranges  0x00000000       0x10 main.o
 .debug_ranges  0x00000010       0x30 ./libcs3.a(start_c.o)
 .debug_ranges  0x00000040       0x20 ./libcs3.a(imx31-reset.o)

.comment        0x00000000       0x42
 .comment       0x00000000       0x42 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
                                 0x43 (size before relaxing)
 .comment       0x00000042       0x43 main.o
 .comment       0x00000042       0x43 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o
 .comment       0x00000042       0x43 ./libcs3.a(start_c.o)

.debug_weaknames
 *(.debug_weaknames)

.debug_funcnames
 *(.debug_funcnames)

.debug_typenames
 *(.debug_typenames)

.debug_varnames
 *(.debug_varnames)

.note.gnu.arm.ident
 *(.note.gnu.arm.ident)

.ARM.attributes
                0x00000000       0x31
 *(.ARM.attributes)
 .ARM.attributes
                0x00000000       0x16 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crti.o
 .ARM.attributes
                0x00000016       0x30 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtbegin.o
 .ARM.attributes
                0x00000046       0x30 main.o
 .ARM.attributes
                0x00000076       0x30 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtend.o
 .ARM.attributes
                0x000000a6       0x18 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/crtn.o
 .ARM.attributes
                0x000000be       0x30 ./libcs3.a(start_c.o)
 .ARM.attributes
                0x000000ee       0x25 ./libcs3.a(imx31-reset.o)
 .ARM.attributes
                0x00000113       0x14 ./libcs3unhosted.a(unhosted-start.o)
 .ARM.attributes
                0x00000127       0x17 ./libcs3arm.a(arm-vector.o)
 .ARM.attributes
                0x0000013e       0x1a ./libcs3arm.a(arm_isr_interrupt.o)
 .ARM.attributes
                0x00000158       0x1a ./libcs3arm.a(arm_isr_undef.o)
 .ARM.attributes
                0x00000172       0x1a ./libcs3arm.a(arm_isr_swi.o)
 .ARM.attributes
                0x0000018c       0x1a ./libcs3arm.a(arm_isr_pabort.o)
 .ARM.attributes
                0x000001a6       0x1a ./libcs3arm.a(arm_isr_dabort.o)
 .ARM.attributes
                0x000001c0       0x1a ./libcs3arm.a(arm_isr_irq.o)
 .ARM.attributes
                0x000001da       0x1a ./libcs3arm.a(arm_isr_fiq.o)
 .ARM.attributes
                0x000001f4       0x30 /scratch/sandra/arm-eabi-trunk/install/opt/codesourcery/bin/../lib/gcc/arm-none-eabi/5.1.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)

/DISCARD/
 *(.note.GNU-stack)
OUTPUT(check-imx31-rom.ld elf32-littlearm)


More information about the Binutils mailing list