This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Negative Addend in ELF relocation data

Other Parts Discussed in Thread: MSP430F1611

In the relocation entries (.rela.text section in ELF file) we see a negative addend: rodata - 2. The symbol .rodata is located at 0x4000. Thus the relocation address results in 0x3FFE. Contrarily to this the code uses the correct address 0x400c. The relocation information seems to be wrong.

Using gcc_msp430_4.9.14r1_167 : msp430-elf-gcc  -mmcu=msp430f1611 main.c

msp430-elf-objdump -sD:

00005560 <__do_global_ctors_aux>:
    5560:	0a 12       	push	r10		;
    5562:	1c 42 0c 40 	mov	&0x400c,r12	;0x400c
    5566:	3c 93       	cmp	#-1,	r12	;r3 As==11
    5568:	08 24       	jz	$+18     	;abs 0x557a

msp430-elf-readelf -a:

.rela.text
 Offset     Info    Type            Sym.Value  Sym. Name + Addend
...
00005564  00000203 R_MSP430_16       00004000   .rodata - 2
...

#include <stdint.h>


int main (int argc, char *argv[])
{
    uint8_t key[32];
    uint8_t buf[16], i;

    /* put a test vector */
    for (i = 0; i < sizeof(buf);i++) buf[i] = i * 16 + i;
    for (i = 0; i < sizeof(key);i++) key[i] = i;
    
    return 0;
}

  • Hi Felix,

    The short answer is: "Here be dragons. But trust me, it works".

    The long answer is a bit more complicated...

    There are a couple of things to explain here. First of all this
    behaviour has nothing to do with the source file that you are
    compiling. Rather it is all part of the "magic" that gcc, the linker
    scripts and the runtime support code use in order to run global
    constructor and destructor functions correctly.

    The code you are looking at comes from crtend.o[1], where the function
    __do_global_ctors_aux is responsible for running *backwards* through a
    table of function pointers, executing each in turn. The table is of
    an unknown length, but the code does know five things:

    * The table always has at least one entry.
    * The first entry in the table is the value -1.
    * The table is NULL terminated.
    * The table starts at a symbol called __CTOR_LIST__.
    * The table ends at symbol called __CTOR_END__.

    The linker script is responsible for creating this table. It places
    the contents of any section called .ctors into the table, in the order
    in which the files containing them appear on the linker command line.

    The reason for the strange relocation with the negative offset is that
    the code in __do_global_ctors_aux is being a bit sneaky. It wants to
    walk the table backwards, starting at the last non-NULL entry, and
    going until it encounters a function pointer of -1. So it loads the
    value at "__CTOR_END__ - 2", checks to see if this is -1, and if not,
    calls the address and then loops backwards.

    Now, this is where things get a bit confusing...

    The assembler however tries to simplify things by converting
    relocations against arbitrary symbols into relocations against section
    symbols. (This helps to reduce the size of the symbol table in the
    final executable). So it translates the relocation against
    __CTOR_END__ -2 into a relocation against the .ctors section symbol
    instead. Except that the .ctors section is mapped into .rodata
    section, so in fact the relocation is made against the .rodata section
    symbol. (Well in the version of the toolchain that you are using.
    In more modern versions of the tools, the relocation remains against
    the .ctors section symbol. But that is a side issue).

    So now you have a relocation against ".rodata - 2". This works
    because, for the crtend.o file, the .rodata section, .ctors section,
    and the __CTOR_END__ symbol all have the same address. When crtend.o
    is linked in to the final executable the linker script will ensure
    that crtend.o's .ctors section is placed as the last entry in the the
    constructor table, and so the reference to .rodata - 2 will actually
    resolve to "end of the constructor table - 2". And so it magically
    works.

    The moral of this story is - don't muck with this code unless you
    really really have to!

    Cheers
    Nick


    [1] crtend.o is built from various source files, but it mostly
    involves libgcc/crtstuff.c and libgcc/gbl-ctors.h. Reading them can
    be quite enlightening, should you have the time.
  • Hi Nick,

    thanks for this good and detailed explanation. There are still some questions remaining.

    1. In general, ".rodata - 2" which addresses something outside of the section .rodata seems weird.

    > This works because, for the crtend.o file, the .rodata section, .ctors section, and the __CTOR_END__ symbol all have the same address.

    2. I wonder why __CTORS_END__ and .rodata should have the same address. The table has at least 2 values: -1 and 0. Thus __CTORS_LIST__ points to -1 and __CTORS_END points to 0. I would have expected that __CTORS_END__ = .rodata + 2.

    > When crtend.o is linked in to the final executable the linker script will ensure that crtend.o's .ctors section is placed as the last entry in the the constructor table, and so the reference to .rodata - 2 will actually resolve to "end of the constructor table - 2".

    3. Ok, the linker assembles the obj-files. I would expect that the relocation entries have to be updated while the rodata sections from different obj-files are merged. The correct value is rodata + c in my example.

    rodata = 0x4000
    __CTORS_LIST__ = 0x400c
    __CTORS_END__ = 0x400e

  • Hi Felix,

    > 1. In general, ".rodata - 2" which addresses something outside of the
    > section .rodata seems weird.

    True - this does not normally happen. But the global constructor /
    destructor code is a special case.

    >> This works because, for the crtend.o file, the .rodata section,
    >> .ctors section, and the __CTOR_END__ symbol all have the same
    >> address.
    >
    > 2. I wonder why __CTORS_END__ and .rodata should have the same
    > address. The table has at least 2 values: -1 and 0. Thus
    > __CTORS_LIST__ points to -1 and __CTORS_END points to 0. I would have
    > expected that __CTORS_END__ = .rodata + 2.

    Ah - but the table is built up by combining several object files
    together and it only comes together in its final version once the
    executable has been fully linked.

    In the crtend.o object file only *part* of the table is present - the
    NULL entry and the __CTOR_END__ symbol. The rest of the table is not
    there. So, for the crtend.o object file only, the .ctors section
    symbol, .rodata section symbol and address of the NULL entry all
    coincide. Once crtend.o is linked with other files the .ctors section
    symbol and .rodata section symbol will be adjusted to allow for the
    contents of those files. So the relocation which used to refer to
    ".rodata - 2" will be adjusted to refer to ".rodata + c", for
    example.


    >> When crtend.o is linked in to the final executable the linker script
    >> will ensure that crtend.o's .ctors section is placed as the last
    >> entry in the the constructor table, and so the reference to .rodata
    >> - 2 will actually resolve to "end of the constructor table - 2".
    >
    > 3. OK, the linker assembles the obj-files.

    [You have to be careful with the words you use here. "assembles"
    might make the reader think that the assembler is involved at this
    point, which obviously it is not. May I suggest "organises" instead ?]

    > I would expect that the
    > relocation entries have to be updated while the rodata sections from
    > different obj-files are merged. The correct value is rodata + c in my
    > example.

    Exactly right.

    Cheers
    Nick
  • to 1: ok, we have to believe :)

    to 2: ok, first entry -1 of table is only introduced by the linker.

    to 3:
    yes, I meant something like "organise".

    You agree the linker should update the -2. But I see the -2 in the executable (thus after linking).

  • > You agree the linker should update the -2. But I see the -2 in the executable (thus after linking).

    But there should not be *any* relocations left in the executable after linking. They all should have been resolved. Just exactly how are you linking this executable ? With the gcc command you described at the start ? If so, then please could you upload a copy of the executable so that I can examine it ?
  • I use -Wl,--emit-relocs to let the linker keep the relocation information in the executable. I attached the output of readelf which shows the rodata and -2 stuff (search for "rodata - 2") and the .elf file.


    ELF Header:
      Magic:   7f 45 4c 46 01 01 01 ff 00 00 00 00 00 00 00 00 
      Class:                             ELF32
      Data:                              2's complement, little endian
      Version:                           1 (current)
      OS/ABI:                            Standalone App
      ABI Version:                       0
      Type:                              EXEC (Executable file)
      Machine:                           Texas Instruments msp430 microcontroller
      Version:                           0x1
      Entry point address:               0x4014
      Start of program headers:          52 (bytes into file)
      Start of section headers:          24644 (bytes into file)
      Flags:                             0xe: architecture variant: MSP430x14
      Size of this header:               52 (bytes)
      Size of program headers:           32 (bytes)
      Number of program headers:         3
      Size of section headers:           40 (bytes)
      Number of section headers:         16
      Section header string table index: 13
    
    Section Headers:
      [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
      [ 0]                   NULL            00000000 000000 000000 00      0   0  0
      [ 1] __reset_vector    PROGBITS        0000fffe 0018ea 000002 00   A  0   0  1
      [ 2] .rela__reset_vect RELA            00000000 005510 00000c 0c   I 14   1  4
      [ 3] .rodata           PROGBITS        00004000 000094 000014 00  WA  0   0  4
      [ 4] .rela.rodata      RELA            00000000 00551c 00000c 0c   I 14   3  4
      [ 5] .text             PROGBITS        00004014 0000a8 0017be 00  AX  0   0  2
      [ 6] .rela.text        RELA            00000000 005528 000ad4 0c   I 14   5  4
      [ 7] .data             PROGBITS        00001100 001868 000080 00  WA  0   0  2
      [ 8] .rela.data        RELA            00000000 005ffc 000048 0c   I 14   7  4
      [ 9] .bss              NOBITS          00001180 0018e8 000010 00  WA  0   0  2
      [10] .noinit           PROGBITS        00001190 0018ec 000000 00   W  0   0  1
      [11] .MP430.attributes MSP430_ATTRIBUT 00000000 0018ec 0001fa 00      0   0  1
      [12] .comment          PROGBITS        00000000 001ae6 000056 01  MS  0   0  1
      [13] .shstrtab         STRTAB          00000000 001b3c 00007a 00      0   0  1
      [14] .symtab           SYMTAB          00000000 001bb8 002490 10     15 382  4
      [15] .strtab           STRTAB          00000000 004048 0014c5 00      0   0  1
    Key to Flags:
      W (write), A (alloc), X (execute), M (merge), S (strings)
      I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
      O (extra OS processing required) o (OS specific), p (processor specific)
    
    There are no section groups in this file.
    
    Program Headers:
      Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
      LOAD           0x000000 0x00003f6c 0x00003f6c 0x01866 0x01866 RWE 0x4
      LOAD           0x001868 0x00001100 0x000057d2 0x00080 0x00090 RW  0x4
      LOAD           0x0018ea 0x0000fffe 0x0000fffe 0x00002 0x00002 R   0x4
    
     Section to Segment mapping:
      Segment Sections...
       00     .rodata .text 
       01     .data .bss 
       02     __reset_vector 
    
    There is no dynamic section in this file.
    
    Relocation section '.rela__reset_vector' at offset 0x5510 contains 1 entries:
     Offset     Info    Type            Sym.Value  Sym. Name + Addend
    0000fffe  0001aa05 R_MSP430_16_BYTE  00004014   __crt0_start + 0
    
    Relocation section '.rela.rodata' at offset 0x551c contains 1 entries:
     Offset     Info    Type            Sym.Value  Sym. Name + Addend
    00004000  00000405 R_MSP430_16_BYTE  00001100   .data + 0
    
    Relocation section '.rela.text' at offset 0x5528 contains 231 entries:
     Offset     Info    Type            Sym.Value  Sym. Name + Addend
    00004016  00021d05 R_MSP430_16_BYTE  00003900   __stack + 0
    0000401a  00021705 R_MSP430_16_BYTE  00001180   __bssstart + 0
    00004020  0001b205 R_MSP430_16_BYTE  00000010   __bsssize + 0
    00004024  0001f505 R_MSP430_16_BYTE  0000577e   memset + 0
    00004028  00023405 R_MSP430_16_BYTE  00001100   __datastart + 0
    0000402c  00020b05 R_MSP430_16_BYTE  000057d2   __romdatastart + 0
    00004030  00006802 R_MSP430_10_PCREL 0000403a   .L1^B1 + 0
    00004034  0001e805 R_MSP430_16_BYTE  00000080   __romdatacopysize + 0
    00004038  00018d05 R_MSP430_16_BYTE  0000573e   memmove + 0
    0000403c  0001f405 R_MSP430_16_BYTE  000057b2   __msp430_init + 0
    00004042  0001f705 R_MSP430_16_BYTE  0000412c   main + 0
    00004046  00022d05 R_MSP430_16_BYTE  000056d6   _exit + 0
    0000404a  00022c05 R_MSP430_16_BYTE  00004008   __init_array_start + 0
    0000404e  0001fd05 R_MSP430_16_BYTE  00004008   __init_array_end + 0
    00004054  00000f03 R_MSP430_16       00004074   _msp430_run_array + 0
    00004058  00023a05 R_MSP430_16_BYTE  00004008   __preinit_array_start + 0
    0000405c  00021205 R_MSP430_16_BYTE  00004008   __preinit_array_end + 0
    00004062  00000f03 R_MSP430_16       00004074   _msp430_run_array + 0
    00004066  0001f105 R_MSP430_16_BYTE  00004008   __fini_array_start + 0
    0000406a  0001a205 R_MSP430_16_BYTE  00004008   __fini_array_end + 0
    00004072  00000f03 R_MSP430_16       00004074   _msp430_run_array + 0
    00004076  00001a02 R_MSP430_10_PCREL 00004082   _msp430_run_done + 0
    00004080  00000f04 R_MSP430_16_PCREL 00004074   _msp430_run_array + 0
    00004086  00000305 R_MSP430_16_BYTE  00004014   .text + 0
    00004088  00004202 R_MSP430_10_PCREL 00004098   .L1 + 0
    0000408c  0001f005 R_MSP430_16_BYTE  00000000   _ITM_deregisterTMClone + 0
    00004090  00004202 R_MSP430_10_PCREL 00004098   .L1 + 0
    00004094  00000305 R_MSP430_16_BYTE  00004014   .text + 0
    0000409c  00000305 R_MSP430_16_BYTE  00004014   .text + 0
    0000409e  00004302 R_MSP430_10_PCREL 000040c2   .L7 + 0
    000040a2  00000305 R_MSP430_16_BYTE  00004014   .text + 4
    000040ae  00004402 R_MSP430_10_PCREL 000040a6   .L9 + 0
    000040b2  00004302 R_MSP430_10_PCREL 000040c2   .L7 + 0
    000040b6  0001d405 R_MSP430_16_BYTE  00000000   _ITM_registerTMCloneTa + 0
    000040ba  00004302 R_MSP430_10_PCREL 000040c2   .L7 + 0
    000040be  00000305 R_MSP430_16_BYTE  00004014   .text + 0
    000040c6  00000505 R_MSP430_16_BYTE  00001180   .bss + 0
    000040c8  00004502 R_MSP430_10_PCREL 000040d6   .L26 + 0
    000040cc  00004603 R_MSP430_16       000040f6   .L17 + 0
    000040d2  00000405 R_MSP430_16_BYTE  00001100   .data + 2
    000040d8  00000403 R_MSP430_16       00001100   .data + 2
    000040de  00004702 R_MSP430_10_PCREL 000040ce   .L24 + 0
    000040e2  00003905 R_MSP430_16_BYTE  00004084   deregister_tm_clones + 0
    000040e6  0001ce05 R_MSP430_16_BYTE  00000000   __deregister_frame_inf + 0
    000040ea  00004802 R_MSP430_10_PCREL 000040f2   .L21 + 0
    000040ee  00000205 R_MSP430_16_BYTE  00004000   .rodata + 0
    000040f4  00000505 R_MSP430_16_BYTE  00001180   .bss + 0
    000040fc  00024005 R_MSP430_16_BYTE  00000000   __register_frame_info + 0
    00004100  00004902 R_MSP430_10_PCREL 0000410c   .L30 + 0
    00004104  00000505 R_MSP430_16_BYTE  00001180   .bss + 2
    00004108  00000205 R_MSP430_16_BYTE  00004000   .rodata + 0
    0000410e  00000405 R_MSP430_16_BYTE  00001100   .data + 0
    00004114  00004a02 R_MSP430_10_PCREL 0000411c   .L38 + 0
    00004118  00003a05 R_MSP430_16_BYTE  0000409a   register_tm_clones + 0
    0000411e  00023805 R_MSP430_16_BYTE  00000000   _Jv_RegisterClasses + 0
    00004122  00004b02 R_MSP430_10_PCREL 00004116   .L31 + 0
    00004128  00004b03 R_MSP430_16       00004116   .L31 + 0
    0000413e  00007603 R_MSP430_16       00004172   .L2 + 0
    0000417a  00007702 R_MSP430_10_PCREL 00004140   .L3 + 0
    00004182  00007803 R_MSP430_16       000041a2   .L4 + 0
    000041aa  00007902 R_MSP430_10_PCREL 00004184   .L5 + 0
    000041c0  00007b03 R_MSP430_16       000041e8   .L2 + 0
    000041da  00007c02 R_MSP430_10_PCREL 000041e2   .L3 + 0
    000041f6  00007d02 R_MSP430_10_PCREL 000041c2   .L4 + 0
    00004216  00007e02 R_MSP430_10_PCREL 0000424c   .L12 + 0
    00004230  00007f02 R_MSP430_10_PCREL 00004238   .L9 + 0
    00004246  00008002 R_MSP430_10_PCREL 00004210   .L10 + 0
    0000424a  00008103 R_MSP430_16       0000424e   .L8 + 0
    00004262  00008202 R_MSP430_10_PCREL 00004282   .L14 + 0
    0000426a  0001ae05 R_MSP430_16_BYTE  00004200   gf_log + 0
    00004278  0001a805 R_MSP430_16_BYTE  000041b4   gf_alog + 0
    00004280  00008303 R_MSP430_16       00004284   .L15 + 0
    00004296  00021805 R_MSP430_16_BYTE  00004258   gf_mulinv + 0
    000042b2  00019505 R_MSP430_16_BYTE  00005330   __mspabi_srli_7 + 0
    000042d8  00019505 R_MSP430_16_BYTE  00005330   __mspabi_srli_7 + 0
    000042fe  00019505 R_MSP430_16_BYTE  00005330   __mspabi_srli_7 + 0
    00004324  00019505 R_MSP430_16_BYTE  00005330   __mspabi_srli_7 + 0
    00004370  00019505 R_MSP430_16_BYTE  00005330   __mspabi_srli_7 + 0
    00004398  00020f05 R_MSP430_16_BYTE  00005334   __mspabi_srli_6 + 0
    000043c2  0001c905 R_MSP430_16_BYTE  00005338   __mspabi_srli_5 + 0
    000043de  00021805 R_MSP430_16_BYTE  00004258   gf_mulinv + 0
    000043f8  00008402 R_MSP430_10_PCREL 00004410   .L22 + 0
    0000440e  00008503 R_MSP430_16       0000441a   .L23 + 0
    0000442e  00008603 R_MSP430_16       00004448   .L26 + 0
    0000443e  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    00004456  00008702 R_MSP430_10_PCREL 00004430   .L27 + 0
    0000445e  00023d03 R_MSP430_16       0000530a   __mspabi_func_epilog_2 + 0
    00004470  00008803 R_MSP430_16       0000448a   .L29 + 0
    00004480  0001a405 R_MSP430_16_BYTE  0000434c   rj_sbox_inv + 0
    00004498  00008902 R_MSP430_10_PCREL 00004472   .L30 + 0
    000044a0  00023d03 R_MSP430_16       0000530a   __mspabi_func_epilog_2 + 0
    000044b4  00008a03 R_MSP430_16       000044d4   .L32 + 0
    000044e2  00008b02 R_MSP430_10_PCREL 000044b6   .L33 + 0
    00004504  00008c03 R_MSP430_16       00004548   .L35 + 0
    00004556  00008d02 R_MSP430_10_PCREL 00004506   .L36 + 0
    00004710  00008e03 R_MSP430_16       0000483a   .L40 + 0
    00004752  0001d005 R_MSP430_16_BYTE  000043ea   rj_xtime + 0
    00004788  0001d005 R_MSP430_16_BYTE  000043ea   rj_xtime + 0
    000047c2  0001d005 R_MSP430_16_BYTE  000043ea   rj_xtime + 0
    000047fc  0001d005 R_MSP430_16_BYTE  000043ea   rj_xtime + 0
    00004840  00008f02 R_MSP430_10_PCREL 00004712   .L41 + 0
    00004848  00019c03 R_MSP430_16       00005302   __mspabi_func_epilog_6 + 0
    00004862  00009003 R_MSP430_16       00004a04   .L43 + 0
    000048a6  0001d005 R_MSP430_16_BYTE  000043ea   rj_xtime + 0
    000048c2  0001d005 R_MSP430_16_BYTE  000043ea   rj_xtime + 0
    000048ca  0001d005 R_MSP430_16_BYTE  000043ea   rj_xtime + 0
    000048e8  0001d005 R_MSP430_16_BYTE  000043ea   rj_xtime + 0
    000048f0  0001d005 R_MSP430_16_BYTE  000043ea   rj_xtime + 0
    00004908  0001d005 R_MSP430_16_BYTE  000043ea   rj_xtime + 0
    00004944  0001d005 R_MSP430_16_BYTE  000043ea   rj_xtime + 0
    00004982  0001d005 R_MSP430_16_BYTE  000043ea   rj_xtime + 0
    000049c2  0001d005 R_MSP430_16_BYTE  000043ea   rj_xtime + 0
    00004a0a  00009102 R_MSP430_10_PCREL 00004864   .L44 + 0
    00004a12  00024403 R_MSP430_16       00005300   __mspabi_func_epilog_7 + 0
    00004a2c  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    00004a6c  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    00004a98  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    00004ac4  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    00004af8  00019505 R_MSP430_16_BYTE  00005330   __mspabi_srli_7 + 0
    00004b04  0001c205 R_MSP430_16_BYTE  000053c4   __mulhi2 + 0
    00004b20  00009203 R_MSP430_16       00004bca   .L46 + 0
    00004bd0  00009302 R_MSP430_10_PCREL 00004b22   .L47 + 0
    00004bde  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    00004c0e  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    00004c3e  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    00004c6e  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    00004c98  00009403 R_MSP430_16       00004d42   .L48 + 0
    00004d48  00009502 R_MSP430_10_PCREL 00004c9a   .L49 + 0
    00004d66  00009603 R_MSP430_16       00004e24   .L51 + 0
    00004e2c  00009702 R_MSP430_10_PCREL 00004d68   .L52 + 0
    00004e3a  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    00004e6a  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    00004e9a  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    00004eca  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    00004ef6  00009803 R_MSP430_16       00004fb4   .L53 + 0
    00004fb8  00009902 R_MSP430_10_PCREL 00004ef8   .L54 + 0
    00004fd2  00009a02 R_MSP430_10_PCREL 00004fdc   .L55 + 0
    00004fda  00009b03 R_MSP430_16       00004fde   .L56 + 0
    00004ffa  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    0000503a  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    00005066  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    00005092  00019f05 R_MSP430_16_BYTE  00004288   rj_sbox + 0
    000050d4  00009c03 R_MSP430_16       00005112   .L58 + 0
    00005118  00009d02 R_MSP430_10_PCREL 000050d6   .L59 + 0
    0000511e  00009e03 R_MSP430_16       00005132   .L60 + 0
    00005130  00023f05 R_MSP430_16_BYTE  00004a14   aes_expandEncKey + 0
    0000513e  00009f02 R_MSP430_10_PCREL 00005120   .L61 + 0
    00005156  0000a003 R_MSP430_16       0000519c   .L63 + 0
    000051a2  0000a102 R_MSP430_10_PCREL 00005158   .L64 + 0
    000051cc  0001ea05 R_MSP430_16_BYTE  000044ec   aes_addRoundKey_cpy + 0
    000051d8  0000a203 R_MSP430_16       00005226   .L66 + 0
    000051de  0001be05 R_MSP430_16_BYTE  0000441e   aes_subBytes + 0
    000051e4  00022405 R_MSP430_16_BYTE  00004562   aes_shiftRows + 0
    000051ea  00023c05 R_MSP430_16_BYTE  000046fa   aes_mixColumns + 0
    000051f4  0000a302 R_MSP430_10_PCREL 0000520a   .L67 + 0
    00005204  00021105 R_MSP430_16_BYTE  000044a2   aes_addRoundKey + 0
    00005208  0000a403 R_MSP430_16       00005222   .L68 + 0
    00005214  00023f05 R_MSP430_16_BYTE  00004a14   aes_expandEncKey + 0
    00005220  00021105 R_MSP430_16_BYTE  000044a2   aes_addRoundKey + 0
    0000522e  0000a502 R_MSP430_10_PCREL 000051da   .L69 + 0
    00005234  0001be05 R_MSP430_16_BYTE  0000441e   aes_subBytes + 0
    0000523a  00022405 R_MSP430_16_BYTE  00004562   aes_shiftRows + 0
    00005246  00023f05 R_MSP430_16_BYTE  00004a14   aes_expandEncKey + 0
    00005252  00021105 R_MSP430_16_BYTE  000044a2   aes_addRoundKey + 0
    0000527c  0001ea05 R_MSP430_16_BYTE  000044ec   aes_addRoundKey_cpy + 0
    00005282  0001d805 R_MSP430_16_BYTE  0000462e   aes_shiftRows_inv + 0
    00005288  00021c05 R_MSP430_16_BYTE  00004460   aes_subBytes_inv + 0
    00005298  0000a603 R_MSP430_16       000052e2   .L71 + 0
    000052a2  0000a702 R_MSP430_10_PCREL 000052c4   .L72 + 0
    000052ae  0001fa05 R_MSP430_16_BYTE  00004d52   aes_expandDecKey + 0
    000052be  00021105 R_MSP430_16_BYTE  000044a2   aes_addRoundKey + 0
    000052c2  0000a803 R_MSP430_16       000052d0   .L73 + 0
    000052ce  00021105 R_MSP430_16_BYTE  000044a2   aes_addRoundKey + 0
    000052d4  0001c005 R_MSP430_16_BYTE  0000484a   aes_mixColumns_inv + 0
    000052da  0001d805 R_MSP430_16_BYTE  0000462e   aes_shiftRows_inv + 0
    000052e0  00021c05 R_MSP430_16_BYTE  00004460   aes_subBytes_inv + 0
    000052ea  0000a902 R_MSP430_10_PCREL 0000529a   .L74 + 0
    000052f6  00021105 R_MSP430_16_BYTE  000044a2   aes_addRoundKey + 0
    00005356  0000ab02 R_MSP430_10_PCREL 0000534e   .L1^B1 + 0
    000053c0  0000ac02 R_MSP430_10_PCREL 000053b6   .L1^B2 + 0
    00005438  00023204 R_MSP430_16_PCREL 00005442   __mspabi_mpysll + 0
    0000543c  00023e04 R_MSP430_16_PCREL 00005478   __mspabi_mpyull + 0
    00005440  0001db04 R_MSP430_16_PCREL 00005496   __mspabi_mpyll + 0
    0000545a  00019e05 R_MSP430_16_BYTE  00005662   __mspabi_srai_15 + 0
    00005464  00019e05 R_MSP430_16_BYTE  00005662   __mspabi_srai_15 + 0
    00005472  0001db05 R_MSP430_16_BYTE  00005496   __mspabi_mpyll + 0
    00005476  00019c03 R_MSP430_16       00005302   __mspabi_func_epilog_6 + 0
    00005490  0001db05 R_MSP430_16_BYTE  00005496   __mspabi_mpyll + 0
    00005494  0001ba03 R_MSP430_16       00005308   __mspabi_func_epilog_3 + 0
    000054ce  00022305 R_MSP430_16_BYTE  000053be   __mspabi_srll + 0
    000054e8  00022305 R_MSP430_16_BYTE  000053be   __mspabi_srll + 0
    000054f4  00017e05 R_MSP430_16_BYTE  00005408   __mspabi_mpyl + 0
    00005550  00022305 R_MSP430_16_BYTE  000053be   __mspabi_srll + 0
    0000555a  0000d902 R_MSP430_10_PCREL 00005564   .L4 + 0
    0000555e  0000da02 R_MSP430_10_PCREL 0000556c   .L2 + 0
    00005562  0000da02 R_MSP430_10_PCREL 0000556c   .L2 + 0
    00005574  00022305 R_MSP430_16_BYTE  000053be   __mspabi_srll + 0
    0000558a  00021b05 R_MSP430_16_BYTE  0000565c   __mspabi_slll + 0
    000055a2  00017e05 R_MSP430_16_BYTE  00005408   __mspabi_mpyl + 0
    000055ec  00024403 R_MSP430_16       00005300   __mspabi_func_epilog_7 + 0
    00005614  0000fd02 R_MSP430_10_PCREL 0000560e   .L1^B1 + 0
    0000565e  0000fe02 R_MSP430_10_PCREL 00005656   .L1^B2 + 0
    00005688  00010002 R_MSP430_10_PCREL 00005682   .L1^B1 + 0
    000056d2  00010102 R_MSP430_10_PCREL 000056ca   .L1^B2 + 0
    000056d8  00013b03 R_MSP430_16       000056d6   .L1^B1 + 0
    000056e6  00019305 R_MSP430_16_BYTE  00005738   __errno + 0
    000056f4  00019305 R_MSP430_16_BYTE  00005738   __errno + 0
    00005702  00019305 R_MSP430_16_BYTE  00005738   __errno + 0
    00005710  00019305 R_MSP430_16_BYTE  00005738   __errno + 0
    0000571e  00019305 R_MSP430_16_BYTE  00005738   __errno + 0
    0000572c  00019305 R_MSP430_16_BYTE  00005738   __errno + 0
    0000573a  00021003 R_MSP430_16       00001106   _impure_ptr + 0
    00005744  00014c02 R_MSP430_10_PCREL 0000574c   .L2 + 0
    0000574a  00014d03 R_MSP430_16       0000576c   .L3 + 0
    00005752  00014e02 R_MSP430_10_PCREL 00005746   .L4 + 0
    0000575e  00014f02 R_MSP430_10_PCREL 0000577c   .L9 + 0
    0000576a  00015003 R_MSP430_16       00005758   .L5 + 0
    0000576e  00014f02 R_MSP430_10_PCREL 0000577c   .L9 + 0
    0000577a  00014d03 R_MSP430_16       0000576c   .L3 + 0
    00005784  00016502 R_MSP430_10_PCREL 00005790   .L5 + 0
    0000578e  00016603 R_MSP430_16       00005782   .L2 + 0
    00005796  00000203 R_MSP430_16       00004000   .rodata - 2
    0000579a  00005402 R_MSP430_10_PCREL 000057ac   .L1 + 0
    0000579e  00000205 R_MSP430_16_BYTE  00004000   .rodata - 2
    000057aa  00005502 R_MSP430_10_PCREL 000057a0   .L3 + 0
    000057b4  00003f05 R_MSP430_16_BYTE  000040fa   frame_dummy + 0
    000057b8  00005205 R_MSP430_16_BYTE  00005792   __do_global_ctors_aux + 0
    000057bc  00024205 R_MSP430_16_BYTE  00004056   _msp430_run_preinit_ar + 0
    000057c0  00020e05 R_MSP430_16_BYTE  00004048   _msp430_run_init_array + 0
    000057c6  0001df05 R_MSP430_16_BYTE  00004064   _msp430_run_fini_array + 0
    000057ca  00003b05 R_MSP430_16_BYTE  000040c4   __do_global_dtors_aux + 0
    
    Relocation section '.rela.data' at offset 0x5ffc contains 6 entries:
     Offset     Info    Type            Sym.Value  Sym. Name + Addend
    00001104  00000205 R_MSP430_16_BYTE  00004000   .rodata + 2
    00001106  00000405 R_MSP430_16_BYTE  00001100   .data + 0
    0000110a  0001f205 R_MSP430_16_BYTE  00000000   __sf_fake_stdin + 0
    0000110c  00022a05 R_MSP430_16_BYTE  00000000   __sf_fake_stdout + 0
    0000110e  0001cd05 R_MSP430_16_BYTE  00000000   __sf_fake_stderr + 0
    00001118  00000205 R_MSP430_16_BYTE  00004000   .rodata + 0
    
    The decoding of unwind sections for machine type Texas Instruments msp430 microcontroller is not currently supported.
    
    Symbol table '.symtab' contains 585 entries:
       Num:    Value  Size Type    Bind   Vis      Ndx Name
         0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
         1: 0000fffe     0 SECTION LOCAL  DEFAULT    1 
         2: 00004000     0 SECTION LOCAL  DEFAULT    3 
         3: 00004014     0 SECTION LOCAL  DEFAULT    5 
         4: 00001100     0 SECTION LOCAL  DEFAULT    7 
         5: 00001180     0 SECTION LOCAL  DEFAULT    9 
         6: 00001190     0 SECTION LOCAL  DEFAULT   10 
         7: 00000000     0 SECTION LOCAL  DEFAULT   11 
         8: 00000000     0 SECTION LOCAL  DEFAULT   12 
         9: 00000000     0 FILE    LOCAL  DEFAULT  ABS /opt/ti/ccsv6/tools/compi
        10: 0000fffe     0 NOTYPE  LOCAL  DEFAULT    1 __msp430_resetvec_hook
        11: 00004014     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.60.1
        12: 00004048     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.223.1
        13: 0000404c     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.224.1
        14: 00004050     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.225.1
        15: 00004074     0 NOTYPE  LOCAL  DEFAULT    5 _msp430_run_array
        16: 00004052     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.226.1
        17: 00004056     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.231.1
        18: 0000405a     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.232.1
        19: 0000405e     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.233.1
        20: 00004060     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.234.1
        21: 00004064     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.239.1
        22: 00004068     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.240.1
        23: 0000406c     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.241.1
        24: 00004070     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.242.1
        25: 00004074     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.245.1
        26: 00004082     0 NOTYPE  LOCAL  DEFAULT    5 _msp430_run_done
        27: 00004076     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.246.1
        28: 00004078     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.247.1
        29: 0000407a     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.248.1
        30: 0000407c     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.249.1
        31: 0000407e     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.250.1
        32: 00004082     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.253.1
        33: 000057c4     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.266.1
        34: 00004018     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        35: 00004084     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        36: 000057c8     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        37: 00004014     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        38: 00004018     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        39: 00004048     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        40: 00004084     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        41: 000057c4     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        42: 000057c8     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        43: 00004014     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        44: 00004018     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        45: 00004048     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        46: 00004084     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        47: 000057c4     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        48: 000057c8     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        49: 00000000     0 FILE    LOCAL  DEFAULT  ABS impure.c
        50: 00001108   120 OBJECT  LOCAL  DEFAULT    7 impure_data
        51: 00000000     0 FILE    LOCAL  DEFAULT  ABS crtstuff.c
        52: 0000400c     0 OBJECT  LOCAL  DEFAULT    3 __CTOR_LIST__
        53: 00004010     0 OBJECT  LOCAL  DEFAULT    3 __DTOR_LIST__
        54: 00004004     0 OBJECT  LOCAL  DEFAULT    3 __EH_FRAME_BEGIN__
        55: 00001100     0 OBJECT  LOCAL  DEFAULT    7 __JCR_LIST__
        56: 000057ce     0 OBJECT  LOCAL  DEFAULT    5 __TMC_LIST__
        57: 00004084     0 FUNC    LOCAL  DEFAULT    5 deregister_tm_clones
        58: 0000409a     0 FUNC    LOCAL  DEFAULT    5 register_tm_clones
        59: 000040c4     0 FUNC    LOCAL  DEFAULT    5 __do_global_dtors_aux
        60: 00001180     1 OBJECT  LOCAL  DEFAULT    9 completed.3010
        61: 00001104     0 OBJECT  LOCAL  DEFAULT    7 p.3011
        62: 000040f8     0 FUNC    LOCAL  DEFAULT    5 call___do_global_dtors_au
        63: 000040fa     0 FUNC    LOCAL  DEFAULT    5 frame_dummy
        64: 00001182    14 OBJECT  LOCAL  DEFAULT    9 object.3022
        65: 0000412a     0 FUNC    LOCAL  DEFAULT    5 call_frame_dummy
        66: 00004098     0 NOTYPE  LOCAL  DEFAULT    5 .L1
        67: 000040c2     0 NOTYPE  LOCAL  DEFAULT    5 .L7
        68: 000040a6     0 NOTYPE  LOCAL  DEFAULT    5 .L9
        69: 000040d6     0 NOTYPE  LOCAL  DEFAULT    5 .L26
        70: 000040f6     0 NOTYPE  LOCAL  DEFAULT    5 .L17
        71: 000040ce     0 NOTYPE  LOCAL  DEFAULT    5 .L24
        72: 000040f2     0 NOTYPE  LOCAL  DEFAULT    5 .L21
        73: 0000410c     0 NOTYPE  LOCAL  DEFAULT    5 .L30
        74: 0000411c     0 NOTYPE  LOCAL  DEFAULT    5 .L38
        75: 00004116     0 NOTYPE  LOCAL  DEFAULT    5 .L31
        76: 00000000     0 FILE    LOCAL  DEFAULT  ABS crtstuff.c
        77: 0000400e     0 OBJECT  LOCAL  DEFAULT    3 __CTOR_END__
        78: 00004012     0 OBJECT  LOCAL  DEFAULT    3 __DTOR_END__
        79: 00004004     0 OBJECT  LOCAL  DEFAULT    3 __FRAME_END__
        80: 00001100     0 OBJECT  LOCAL  DEFAULT    7 __JCR_END__
        81: 000057ce     0 OBJECT  LOCAL  DEFAULT    5 __TMC_END__
        82: 00005792     0 FUNC    LOCAL  DEFAULT    5 __do_global_ctors_aux
        83: 000057b0     0 FUNC    LOCAL  DEFAULT    5 call___do_global_ctors_au
        84: 000057ac     0 NOTYPE  LOCAL  DEFAULT    5 .L1
        85: 000057a0     0 NOTYPE  LOCAL  DEFAULT    5 .L3
        86: 00000000     0 FILE    LOCAL  DEFAULT  ABS crt_bss.o
        87: 00004018     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.73.1
        88: 0000401c     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.74.1
        89: 0000401e     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.75.1
        90: 00004022     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.79.1
        91: 00004026     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        92: 00004018     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        93: 00004026     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
        94: 00000000     0 FILE    LOCAL  DEFAULT  ABS crt_movedata.o
        95: 00004026     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.115.1
        96: 0000402a     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.116.1
        97: 0000402e     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.119.1
        98: 00004030     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.120.1
        99: 00004032     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.122.1
       100: 00004036     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.124.1
       101: 0000403a     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       102: 00004026     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       103: 0000403a     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       104: 0000403a     0 NOTYPE  LOCAL  DEFAULT    5 .L1^B1
       105: 00000000     0 FILE    LOCAL  DEFAULT  ABS crt_main.o
       106: 0000403a     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.194.1
       107: 0000403e     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.196.1
       108: 00004040     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.197.1
       109: 00004044     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       110: 0000403a     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       111: 00004044     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       112: 00000000     0 FILE    LOCAL  DEFAULT  ABS crt_callexit.o
       113: 00004044     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.210.1
       114: 00004048     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       115: 00004044     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       116: 00004048     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       117: 00000000     0 FILE    LOCAL  DEFAULT  ABS main.c
       118: 00004172     0 NOTYPE  LOCAL  DEFAULT    5 .L2
       119: 00004140     0 NOTYPE  LOCAL  DEFAULT    5 .L3
       120: 000041a2     0 NOTYPE  LOCAL  DEFAULT    5 .L4
       121: 00004184     0 NOTYPE  LOCAL  DEFAULT    5 .L5
       122: 00000000     0 FILE    LOCAL  DEFAULT  ABS aes256.c
       123: 000041e8     0 NOTYPE  LOCAL  DEFAULT    5 .L2
       124: 000041e2     0 NOTYPE  LOCAL  DEFAULT    5 .L3
       125: 000041c2     0 NOTYPE  LOCAL  DEFAULT    5 .L4
       126: 0000424c     0 NOTYPE  LOCAL  DEFAULT    5 .L12
       127: 00004238     0 NOTYPE  LOCAL  DEFAULT    5 .L9
       128: 00004210     0 NOTYPE  LOCAL  DEFAULT    5 .L10
       129: 0000424e     0 NOTYPE  LOCAL  DEFAULT    5 .L8
       130: 00004282     0 NOTYPE  LOCAL  DEFAULT    5 .L14
       131: 00004284     0 NOTYPE  LOCAL  DEFAULT    5 .L15
       132: 00004410     0 NOTYPE  LOCAL  DEFAULT    5 .L22
       133: 0000441a     0 NOTYPE  LOCAL  DEFAULT    5 .L23
       134: 00004448     0 NOTYPE  LOCAL  DEFAULT    5 .L26
       135: 00004430     0 NOTYPE  LOCAL  DEFAULT    5 .L27
       136: 0000448a     0 NOTYPE  LOCAL  DEFAULT    5 .L29
       137: 00004472     0 NOTYPE  LOCAL  DEFAULT    5 .L30
       138: 000044d4     0 NOTYPE  LOCAL  DEFAULT    5 .L32
       139: 000044b6     0 NOTYPE  LOCAL  DEFAULT    5 .L33
       140: 00004548     0 NOTYPE  LOCAL  DEFAULT    5 .L35
       141: 00004506     0 NOTYPE  LOCAL  DEFAULT    5 .L36
       142: 0000483a     0 NOTYPE  LOCAL  DEFAULT    5 .L40
       143: 00004712     0 NOTYPE  LOCAL  DEFAULT    5 .L41
       144: 00004a04     0 NOTYPE  LOCAL  DEFAULT    5 .L43
       145: 00004864     0 NOTYPE  LOCAL  DEFAULT    5 .L44
       146: 00004bca     0 NOTYPE  LOCAL  DEFAULT    5 .L46
       147: 00004b22     0 NOTYPE  LOCAL  DEFAULT    5 .L47
       148: 00004d42     0 NOTYPE  LOCAL  DEFAULT    5 .L48
       149: 00004c9a     0 NOTYPE  LOCAL  DEFAULT    5 .L49
       150: 00004e24     0 NOTYPE  LOCAL  DEFAULT    5 .L51
       151: 00004d68     0 NOTYPE  LOCAL  DEFAULT    5 .L52
       152: 00004fb4     0 NOTYPE  LOCAL  DEFAULT    5 .L53
       153: 00004ef8     0 NOTYPE  LOCAL  DEFAULT    5 .L54
       154: 00004fdc     0 NOTYPE  LOCAL  DEFAULT    5 .L55
       155: 00004fde     0 NOTYPE  LOCAL  DEFAULT    5 .L56
       156: 00005112     0 NOTYPE  LOCAL  DEFAULT    5 .L58
       157: 000050d6     0 NOTYPE  LOCAL  DEFAULT    5 .L59
       158: 00005132     0 NOTYPE  LOCAL  DEFAULT    5 .L60
       159: 00005120     0 NOTYPE  LOCAL  DEFAULT    5 .L61
       160: 0000519c     0 NOTYPE  LOCAL  DEFAULT    5 .L63
       161: 00005158     0 NOTYPE  LOCAL  DEFAULT    5 .L64
       162: 00005226     0 NOTYPE  LOCAL  DEFAULT    5 .L66
       163: 0000520a     0 NOTYPE  LOCAL  DEFAULT    5 .L67
       164: 00005222     0 NOTYPE  LOCAL  DEFAULT    5 .L68
       165: 000051da     0 NOTYPE  LOCAL  DEFAULT    5 .L69
       166: 000052e2     0 NOTYPE  LOCAL  DEFAULT    5 .L71
       167: 000052c4     0 NOTYPE  LOCAL  DEFAULT    5 .L72
       168: 000052d0     0 NOTYPE  LOCAL  DEFAULT    5 .L73
       169: 0000529a     0 NOTYPE  LOCAL  DEFAULT    5 .L74
       170: 00000000     0 FILE    LOCAL  DEFAULT  ABS srli.o
       171: 0000534e     0 NOTYPE  LOCAL  DEFAULT    5 .L1^B1
       172: 000053b6     0 NOTYPE  LOCAL  DEFAULT    5 .L1^B2
       173: 00000000     0 FILE    LOCAL  DEFAULT  ABS lib2hw_mul_16.o
       174: 00000130     0 NOTYPE  LOCAL  DEFAULT  ABS MPY_OP1
       175: 00000132     0 NOTYPE  LOCAL  DEFAULT  ABS MPY_OP1_S
       176: 00000134     0 NOTYPE  LOCAL  DEFAULT  ABS MAC_OP1
       177: 00000138     0 NOTYPE  LOCAL  DEFAULT  ABS MPY_OP2
       178: 00000138     0 NOTYPE  LOCAL  DEFAULT  ABS MAC_OP2
       179: 0000013a     0 NOTYPE  LOCAL  DEFAULT  ABS RESULT_LO
       180: 0000013c     0 NOTYPE  LOCAL  DEFAULT  ABS RESULT_HI
       181: 00000000     0 FILE    LOCAL  DEFAULT  ABS lib2mul.c
       182: 00005442     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.51.1
       183: 00005454     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.52.1
       184: 00005474     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.53.1
       185: 00005478     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.57.1
       186: 00005482     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.58.1
       187: 00005492     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.59.1
       188: 00005478     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       189: 00005496     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       190: 00005442     0 NOTYPE  LOCAL  DEFAULT    5 .LFB0
       191: 00005478     0 NOTYPE  LOCAL  DEFAULT    5 .LFE0
       192: 00005444     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI0
       193: 00005446     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI1
       194: 00005448     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI2
       195: 0000544a     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI3
       196: 0000544c     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI4
       197: 0000544e     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI5
       198: 00005478     0 NOTYPE  LOCAL  DEFAULT    5 .LFB1
       199: 00005496     0 NOTYPE  LOCAL  DEFAULT    5 .LFE1
       200: 0000547a     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI6
       201: 0000547c     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI7
       202: 0000547e     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI8
       203: 00005442     0 NOTYPE  LOCAL  DEFAULT    5 .LVL0
       204: 00005458     0 NOTYPE  LOCAL  DEFAULT    5 .LVL1
       205: 0000545c     0 NOTYPE  LOCAL  DEFAULT    5 .LVL2
       206: 00005478     0 NOTYPE  LOCAL  DEFAULT    5 .LVL5
       207: 00005482     0 NOTYPE  LOCAL  DEFAULT    5 .LVL6
       208: 00005488     0 NOTYPE  LOCAL  DEFAULT    5 .LVL7
       209: 00000000     0 FILE    LOCAL  DEFAULT  ABS libgcc2.c
       210: 00005496     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.548.1
       211: 000054be     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.551.1
       212: 00005564     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.551.1
       213: 0000556c     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.551.1
       214: 000055a0     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.553.1
       215: 000055de     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.557.1
       216: 000055ee     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       217: 00005564     0 NOTYPE  LOCAL  DEFAULT    5 .L4
       218: 0000556c     0 NOTYPE  LOCAL  DEFAULT    5 .L2
       219: 00005496     0 NOTYPE  LOCAL  DEFAULT    5 .LFB0
       220: 000055ee     0 NOTYPE  LOCAL  DEFAULT    5 .LFE0
       221: 00005498     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI0
       222: 0000549a     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI1
       223: 0000549c     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI2
       224: 0000549e     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI3
       225: 000054a0     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI4
       226: 000054a2     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI5
       227: 000054a4     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI6
       228: 000054a8     0 NOTYPE  LOCAL  DEFAULT    5 .LCFI7
       229: 000054be     0 NOTYPE  LOCAL  DEFAULT    5 .LBB2
       230: 00005598     0 NOTYPE  LOCAL  DEFAULT    5 .LBE2
       231: 000054be     0 NOTYPE  LOCAL  DEFAULT    5 .LBB3
       232: 00005598     0 NOTYPE  LOCAL  DEFAULT    5 .LBE3
       233: 00005500     0 NOTYPE  LOCAL  DEFAULT    5 .LVL10
       234: 00005514     0 NOTYPE  LOCAL  DEFAULT    5 .LVL12
       235: 00005528     0 NOTYPE  LOCAL  DEFAULT    5 .LVL15
       236: 0000553e     0 NOTYPE  LOCAL  DEFAULT    5 .LVL18
       237: 000055b4     0 NOTYPE  LOCAL  DEFAULT    5 .LVL29
       238: 000055ca     0 NOTYPE  LOCAL  DEFAULT    5 .LVL30
       239: 00005496     0 NOTYPE  LOCAL  DEFAULT    5 .LVL0
       240: 000054f6     0 NOTYPE  LOCAL  DEFAULT    5 .LVL9
       241: 000054c6     0 NOTYPE  LOCAL  DEFAULT    5 .LVL3
       242: 00005508     0 NOTYPE  LOCAL  DEFAULT    5 .LVL11
       243: 00005554     0 NOTYPE  LOCAL  DEFAULT    5 .LVL22
       244: 00005558     0 NOTYPE  LOCAL  DEFAULT    5 .LVL23
       245: 00005576     0 NOTYPE  LOCAL  DEFAULT    5 .LVL25
       246: 00005518     0 NOTYPE  LOCAL  DEFAULT    5 .LVL14
       247: 0000559e     0 NOTYPE  LOCAL  DEFAULT    5 .LVL28
       248: 00005530     0 NOTYPE  LOCAL  DEFAULT    5 .LVL17
       249: 000055ea     0 NOTYPE  LOCAL  DEFAULT    5 .LVL31
       250: 000054d8     0 NOTYPE  LOCAL  DEFAULT    5 .LVL5
       251: 0000552c     0 NOTYPE  LOCAL  DEFAULT    5 .LVL16
       252: 00000000     0 FILE    LOCAL  DEFAULT  ABS slli.o
       253: 0000560e     0 NOTYPE  LOCAL  DEFAULT    5 .L1^B1
       254: 00005656     0 NOTYPE  LOCAL  DEFAULT    5 .L1^B2
       255: 00000000     0 FILE    LOCAL  DEFAULT  ABS srai.o
       256: 00005682     0 NOTYPE  LOCAL  DEFAULT    5 .L1^B1
       257: 000056ca     0 NOTYPE  LOCAL  DEFAULT    5 .L1^B2
       258: 00000000     0 FILE    LOCAL  DEFAULT  ABS ciosyscalls.o
       259: 000056d6     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.53.1
       260: 000056da     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.58.1
       261: 000056dc     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.59.1
       262: 000056de     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.64.1
       263: 000056e2     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.65.1
       264: 000056e4     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.80.1
       265: 000056f2     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.81.1
       266: 00005700     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.82.1
       267: 0000570e     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.84.1
       268: 0000571c     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.85.1
       269: 0000572a     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.86.1
       270: 000056da     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       271: 000056de     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       272: 000056e4     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       273: 000056f2     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       274: 00005700     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       275: 0000570e     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       276: 0000571c     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       277: 0000572a     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       278: 00005738     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       279: 000056d6     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       280: 000056da     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       281: 000056da     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       282: 000056de     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       283: 000056de     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       284: 000056e4     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       285: 000056e4     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       286: 000056f2     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       287: 000056f2     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       288: 00005700     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       289: 00005700     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       290: 0000570e     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       291: 0000570e     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       292: 0000571c     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       293: 0000571c     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       294: 0000572a     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       295: 0000572a     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       296: 00005738     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       297: 000056d6     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       298: 000056da     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       299: 000056da     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       300: 000056de     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       301: 000056de     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       302: 000056e4     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       303: 000056e4     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       304: 000056f2     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       305: 000056f2     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       306: 00005700     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       307: 00005700     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       308: 0000570e     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       309: 0000570e     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       310: 0000571c     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       311: 0000571c     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       312: 0000572a     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       313: 0000572a     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       314: 00005738     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       315: 000056d6     0 NOTYPE  LOCAL  DEFAULT    5 .L1^B1
       316: 00000000     0 FILE    LOCAL  DEFAULT  ABS errno.c
       317: 00005738     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.12.1
       318: 00005738     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.14.1
       319: 0000573e     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       320: 00005738     0 NOTYPE  LOCAL  DEFAULT    5 .LFB0
       321: 0000573e     0 NOTYPE  LOCAL  DEFAULT    5 .LFE0
       322: 00000000     0 FILE    LOCAL  DEFAULT  ABS memmove.c
       323: 0000573e     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.64.1
       324: 00005742     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.69.1
       325: 0000574c     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.69.1
       326: 00005754     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.74.1
       327: 00005760     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.76.1
       328: 0000576c     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.81.1
       329: 00005770     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.83.1
       330: 0000577c     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.144.1
       331: 0000577e     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       332: 0000574c     0 NOTYPE  LOCAL  DEFAULT    5 .L2
       333: 0000576c     0 NOTYPE  LOCAL  DEFAULT    5 .L3
       334: 00005746     0 NOTYPE  LOCAL  DEFAULT    5 .L4
       335: 0000577c     0 NOTYPE  LOCAL  DEFAULT    5 .L9
       336: 00005758     0 NOTYPE  LOCAL  DEFAULT    5 .L5
       337: 0000573e     0 NOTYPE  LOCAL  DEFAULT    5 .LFB0
       338: 0000577e     0 NOTYPE  LOCAL  DEFAULT    5 .LFE0
       339: 0000573e     0 NOTYPE  LOCAL  DEFAULT    5 .LVL0
       340: 00005756     0 NOTYPE  LOCAL  DEFAULT    5 .LVL5
       341: 00005748     0 NOTYPE  LOCAL  DEFAULT    5 .LVL2
       342: 0000574c     0 NOTYPE  LOCAL  DEFAULT    5 .LVL3
       343: 00005758     0 NOTYPE  LOCAL  DEFAULT    5 .LVL6
       344: 00005764     0 NOTYPE  LOCAL  DEFAULT    5 .LVL8
       345: 0000576c     0 NOTYPE  LOCAL  DEFAULT    5 .LVL9
       346: 00005776     0 NOTYPE  LOCAL  DEFAULT    5 .LVL11
       347: 0000577c     0 NOTYPE  LOCAL  DEFAULT    5 .LVL12
       348: 0000573e     0 NOTYPE  LOCAL  DEFAULT    5 .LVL1
       349: 00005754     0 NOTYPE  LOCAL  DEFAULT    5 .LVL4
       350: 00005770     0 NOTYPE  LOCAL  DEFAULT    5 .LVL10
       351: 00000000     0 FILE    LOCAL  DEFAULT  ABS memset.c
       352: 0000577e     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.49.1
       353: 00005782     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.100.1
       354: 00005786     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.101.1
       355: 00005790     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.104.1
       356: 00005792     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       357: 00005790     0 NOTYPE  LOCAL  DEFAULT    5 .L5
       358: 00005782     0 NOTYPE  LOCAL  DEFAULT    5 .L2
       359: 0000577e     0 NOTYPE  LOCAL  DEFAULT    5 .LFB0
       360: 00005792     0 NOTYPE  LOCAL  DEFAULT    5 .LFE0
       361: 0000577e     0 NOTYPE  LOCAL  DEFAULT    5 .LVL0
       362: 00005782     0 NOTYPE  LOCAL  DEFAULT    5 .LVL2
       363: 0000578c     0 NOTYPE  LOCAL  DEFAULT    5 .LVL4
       364: 00005790     0 NOTYPE  LOCAL  DEFAULT    5 .LVL5
       365: 0000577e     0 NOTYPE  LOCAL  DEFAULT    5 .LVL1
       366: 00005786     0 NOTYPE  LOCAL  DEFAULT    5 .LVL3
       367: 00000000     0 FILE    LOCAL  DEFAULT  ABS /opt/ti/ccsv6/tools/compi
       368: 000057ba     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.18.1
       369: 000057be     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.19.1
       370: 000057c2     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.20.1
       371: 000057cc     0 NOTYPE  LOCAL  DEFAULT    5 .Loc.26.1
       372: 000057c4     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       373: 000057ce     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       374: 000057ba     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       375: 000057c4     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       376: 000057cc     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       377: 000057ce     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       378: 000057ba     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       379: 000057c4     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       380: 000057cc     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       381: 000057ce     0 NOTYPE  LOCAL  DEFAULT    5 L0^A
       382: 00005408     0 FUNC    GLOBAL DEFAULT    5 __mspabi_mpyl
       383: 00005630     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slll_9
       384: 00005620     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slll_13
       385: 000053d8    24 FUNC    GLOBAL DEFAULT    5 __mulsihi2
       386: 00005328     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srli_9
       387: 00005674     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srai_6
       388: 0000567e     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srai_1
       389: 00005378     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srll_10
       390: 0000543a     0 FUNC    GLOBAL DEFAULT    5 __mspabi_mpyull_hw
       391: 00005324     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srli_10
       392: 000056a0     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_sral_10
       393: 00005690     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_sral_14
       394: 000053d8     0 FUNC    GLOBAL DEFAULT    5 __mspabi_mpysl_hw
       395: 000055fa     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slli_9
       396: 00005310     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srli_15
       397: 0000573e    64 FUNC    GLOBAL DEFAULT    5 memmove
       398: 0000543e     0 FUNC    GLOBAL DEFAULT    5 __mspabi_mpyll_hw
       399: 000051ac   176 FUNC    GLOBAL DEFAULT    5 aes256_encrypt_ecb
       400: 0000533c     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srli_4
       401: 000055f4     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slli_12
       402: 00004044     4 FUNC    GLOBAL DEFAULT    5 __crt0_call_exit
       403: 00005738     6 FUNC    GLOBAL DEFAULT    5 __errno
       404: 000056a4     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_sral_9
       405: 00005330     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srli_7
       406: 0000538a     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srll_7
       407: 000053a2     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srll_3
       408: 000056b0     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_sral_6
       409: 000056c4     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_sral_1
       410: 000053d8     0 FUNC    GLOBAL DEFAULT    5 __mspabi_mpysl
       411: 00005408    46 FUNC    GLOBAL DEFAULT    5 __mulsi2
       412: 00005302     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_func_epilog_6
       413: 000056de     6 FUNC    WEAK   DEFAULT    5 getpid
       414: 00005662     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srai_15
       415: 00004288   196 FUNC    GLOBAL DEFAULT    5 rj_sbox
       416: 0000514a    98 FUNC    GLOBAL DEFAULT    5 aes256_done
       417: 00005366     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srll_13
       418: 00004008     0 NOTYPE  GLOBAL DEFAULT    3 __fini_array_end
       419: 0000531c     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srli_12
       420: 0000434c   158 FUNC    GLOBAL DEFAULT    5 rj_sbox_inv
       421: 000056da     4 FUNC    WEAK   DEFAULT    5 isatty
       422: 0000567c     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srai_2
       423: 0000567a     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srai_3
       424: 000041b4    76 FUNC    GLOBAL DEFAULT    5 gf_alog
       425: 00005408     0 FUNC    GLOBAL DEFAULT    5 __mspabi_mpyl_hw
       426: 00004014     4 FUNC    GLOBAL DEFAULT    5 __crt0_start
       427: 00005628     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slll_11
       428: 00005618     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slll_15
       429: 00001102     0 OBJECT  GLOBAL DEFAULT    7 __dso_handle
       430: 00004200    88 FUNC    GLOBAL DEFAULT    5 gf_log
       431: 000055f0     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slli_14
       432: 00005604     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slli_4
       433: 00004018    14 FUNC    GLOBAL DEFAULT    5 __crt0_init_bss
       434: 00000010     0 NOTYPE  GLOBAL DEFAULT  ABS __bsssize
       435: 0000564c     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slll_2
       436: 0000566c     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srai_10
       437: 0000403a    10 FUNC    GLOBAL DEFAULT    5 __crt0_call_init_then_mai
       438: 0000530c     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_func_epilog_1
       439: 00005612     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slli
       440: 0000571c    14 FUNC    WEAK   DEFAULT    5 lseek
       441: 000056da     4 FUNC    WEAK   DEFAULT    5 _isatty
       442: 00005308     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_func_epilog_3
       443: 00004000     2 OBJECT  GLOBAL DEFAULT    3 _global_impure_ptr
       444: 00005396     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srll_5
       445: 00005354     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srli
       446: 0000441e    66 FUNC    GLOBAL DEFAULT    5 aes_subBytes
       447: 00005436     0 FUNC    GLOBAL DEFAULT    5 __mspabi_mpysll_hw
       448: 0000484a   458 FUNC    GLOBAL DEFAULT    5 aes_mixColumns_inv
       449: 000053c4     0 FUNC    GLOBAL DEFAULT    5 __mspabi_mpyi_hw
       450: 000053c4    20 FUNC    GLOBAL DEFAULT    5 __mulhi2
       451: 000053f0     0 FUNC    GLOBAL DEFAULT    5 __mspabi_mpyul
       452: 00005372     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srll_11
       453: 00005436     4 FUNC    GLOBAL DEFAULT    5 __muldisi2
       454: 00005640     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slll_5
       455: 000055f6     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slli_11
       456: 00005606     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slli_3
       457: 00005338     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srli_5
       458: 000050be   140 FUNC    GLOBAL DEFAULT    5 aes256_init
       459: 0000570e    14 FUNC    WEAK   DEFAULT    5 fstat
       460: 0000572a    14 FUNC    WEAK   DEFAULT    5 kill
       461: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __sf_fake_stderr
       462: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __deregister_frame_info
       463: 00001190     0 NOTYPE  GLOBAL DEFAULT   10 end
       464: 000043ea    52 FUNC    GLOBAL DEFAULT    5 rj_xtime
       465: 0000569c     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_sral_11
       466: 0000568c     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_sral_15
       467: 00005672     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srai_7
       468: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_registerTMCloneTable
       469: 00005608     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slli_2
       470: 00005390     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srll_6
       471: 000056b8     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_sral_4
       472: 0000462e   204 FUNC    GLOBAL DEFAULT    5 aes_shiftRows_inv
       473: 0000563c     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slll_6
       474: 00004014     0 NOTYPE  GLOBAL DEFAULT    5 _start
       475: 00005496   344 FUNC    GLOBAL DEFAULT    5 __mspabi_mpyll
       476: 00005700    14 FUNC    WEAK   DEFAULT    5 read
       477: 00005644     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slll_4
       478: 00005634     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slll_8
       479: 00004064     0 FUNC    GLOBAL DEFAULT    5 _msp430_run_fini_array
       480: 0000525c   164 FUNC    GLOBAL DEFAULT    5 aes256_decrypt_ecb
       481: 00005348     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srli_1
       482: 00005360     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srll_14
       483: 00005600     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slli_6
       484: 00005686     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srai
       485: 000053c4     0 FUNC    GLOBAL DEFAULT    5 __mspabi_mpyi
       486: 00005668     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srai_12
       487: 00005314     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srli_14
       488: 00000080     0 NOTYPE  GLOBAL DEFAULT  ABS __romdatacopysize
       489: 0000561c     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slll_14
       490: 000044ec   118 FUNC    GLOBAL DEFAULT    5 aes_addRoundKey_cpy
       491: 000056ac     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_sral_7
       492: 00005670     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srai_8
       493: 00005320     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srli_11
       494: 000056c0     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_sral_2
       495: 00005638     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slll_7
       496: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_deregisterTMCloneTab
       497: 00004008     0 NOTYPE  GLOBAL DEFAULT    3 __fini_array_start
       498: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __sf_fake_stdin
       499: 00000000     0 NOTYPE  WEAK   DEFAULT  ABS __rom_highdatacopysize
       500: 000057b2     0 NOTYPE  GLOBAL DEFAULT    5 __msp430_init
       501: 0000577e    20 FUNC    GLOBAL DEFAULT    5 memset
       502: 00005624     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slll_12
       503: 0000412c   136 FUNC    GLOBAL DEFAULT    5 main
       504: 000053f0    24 FUNC    GLOBAL DEFAULT    5 __umulsihi2
       505: 0000566e     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srai_9
       506: 00004d52   876 FUNC    GLOBAL DEFAULT    5 aes_expandDecKey
       507: 0000566a     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srai_11
       508: 0000539c     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srll_4
       509: 00004008     0 NOTYPE  GLOBAL DEFAULT    3 __init_array_end
       510: 00005344     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srli_2
       511: 000056d0     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_sral
       512: 0000560a     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slli_1
       513: 00000000     0 NOTYPE  WEAK   DEFAULT  ABS __high_bsssize
       514: 00005648     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slll_3
       515: 00000000     0 NOTYPE  WEAK   DEFAULT  ABS __rom_highdatastart
       516: 000057ce     0 NOTYPE  GLOBAL DEFAULT    5 __msp430_fini_end
       517: 000056a8     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_sral_8
       518: 00005694     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_sral_13
       519: 0000536c     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srll_12
       520: 00005602     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slli_5
       521: 0000543a     4 FUNC    GLOBAL DEFAULT    5 __umuldisi2
       522: 000053f0     0 FUNC    GLOBAL DEFAULT    5 _mspabi_mpyul_hw
       523: 000057d2     0 NOTYPE  GLOBAL DEFAULT  ABS __romdatastart
       524: 000055f2     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slli_13
       525: 00005678     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srai_4
       526: 00004048     0 FUNC    GLOBAL DEFAULT    5 _msp430_run_init_array
       527: 00005334     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srli_6
       528: 00001106     2 OBJECT  GLOBAL DEFAULT    7 _impure_ptr
       529: 000044a2    74 FUNC    GLOBAL DEFAULT    5 aes_addRoundKey
       530: 00004008     0 NOTYPE  GLOBAL DEFAULT    3 __preinit_array_end
       531: 000055f8     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slli_10
       532: 00005340     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srli_3
       533: 00000000     0 NOTYPE  WEAK   DEFAULT  ABS __high_datastart
       534: 00000000     0 NOTYPE  WEAK   DEFAULT  ABS __upper_data_init
       535: 00001180     0 NOTYPE  GLOBAL DEFAULT    9 __bssstart
       536: 00004258    48 FUNC    GLOBAL DEFAULT    5 gf_mulinv
       537: 00005304     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_func_epilog_5
       538: 00005664     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srai_14
       539: 0000565c     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slll
       540: 00004460    66 FUNC    GLOBAL DEFAULT    5 aes_subBytes_inv
       541: 00003900     0 NOTYPE  GLOBAL DEFAULT   10 __stack
       542: 0000537e     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srll_9
       543: 000056bc     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_sral_3
       544: 00001180     0 NOTYPE  GLOBAL DEFAULT    7 _edata
       545: 00005698     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_sral_12
       546: 000057c4     0 NOTYPE  GLOBAL DEFAULT    5 __msp430_init_end
       547: 000053be     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srll
       548: 00004562   204 FUNC    GLOBAL DEFAULT    5 aes_shiftRows
       549: 000056d6     4 FUNC    WEAK   DEFAULT    5 exit
       550: 00000000     0 NOTYPE  WEAK   DEFAULT  ABS __high_bssstart
       551: 000055fc     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slli_8
       552: 0000535a     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srll_15
       553: 0000562c     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slll_10
       554: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __sf_fake_stdout
       555: 000055ee     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slli_15
       556: 00004008     0 NOTYPE  GLOBAL DEFAULT    3 __init_array_start
       557: 000056d6     4 FUNC    WEAK   DEFAULT    5 _exit
       558: 0000543e     4 FUNC    GLOBAL DEFAULT    5 __muldi3
       559: 00005676     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srai_5
       560: 000056e4    14 FUNC    WEAK   DEFAULT    5 open
       561: 00005666     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srai_13
       562: 00005442    54 FUNC    GLOBAL DEFAULT    5 __mspabi_mpysll
       563: 00005318     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srli_13
       564: 00001100     0 NOTYPE  GLOBAL DEFAULT    7 __datastart
       565: 00005650     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slll_1
       566: 00005384     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srll_8
       567: 000053ae     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srll_1
       568: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
       569: 000055fe     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_slli_7
       570: 00004008     0 NOTYPE  GLOBAL DEFAULT    3 __preinit_array_start
       571: 00004026    20 FUNC    GLOBAL DEFAULT    5 __crt0_movedata
       572: 000046fa   336 FUNC    GLOBAL DEFAULT    5 aes_mixColumns
       573: 0000530a     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_func_epilog_2
       574: 00005478    30 FUNC    GLOBAL DEFAULT    5 __mspabi_mpyull
       575: 00004a14   830 FUNC    GLOBAL DEFAULT    5 aes_expandEncKey
       576: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __register_frame_info
       577: 000056b4     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_sral_5
       578: 00004056     0 FUNC    GLOBAL DEFAULT    5 _msp430_run_preinit_array
       579: 000056f2    14 FUNC    WEAK   DEFAULT    5 close
       580: 00005300     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_func_epilog_7
       581: 00005306     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_func_epilog_4
       582: 000053a8     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srll_2
       583: 000057c4     0 NOTYPE  GLOBAL DEFAULT    5 __msp430_fini
       584: 0000532c     0 NOTYPE  GLOBAL DEFAULT    5 __mspabi_srli_8
    
    No version information found in this file.
    Attribute Section: mspabi
    File Attributes
      Tag_ISA: MSP430
      Tag_Code_Model: Small
      Tag_Data_Model: Small
    Attribute Section: 
    Unknown tag: 109
      Unknown attribute:
      0x00000000 6900010b 00000004 01060108 01411600 i............A..
      0x00000010 00006d73 70616269 00010b00 00000401 ..mspabi........
      0x00000020 06010801 41160000 006d7370 61626900 ....A....mspabi.
      0x00000030 010b0000 00040106 01080141 16000000 ...........A....
      0x00000040 6d737061 62690001 0b000000 04010601 mspabi..........
      0x00000050 08014116 0000006d 73706162 6900010b ..A....mspabi...
      0x00000060 00000004 01060108 01411600 00006d73 .........A....ms
      0x00000070 70616269 00010b00 00000401 06010801 pabi............
      0x00000080 41160000 006d7370 61626900 010b0000 A....mspabi.....
      0x00000090 00040106 01080141 16000000 6d737061 .......A....mspa
      0x000000a0 62690001 0b000000 04010601 08014116 bi............A.
      0x000000b0 0000006d 73706162 6900010b 00000004 ...mspabi.......
      0x000000c0 01060108 01411600 00006d73 70616269 .....A....mspabi
      0x000000d0 00010b00 00000401 06010801 41160000 ............A...
      0x000000e0 006d7370 61626900 010b0000 00040106 .mspabi.........
      0x000000f0 01080141 16000000 6d737061 62690001 ...A....mspabi..
      0x00000100 0b000000 04010601 08014116 0000006d ..........A....m
      0x00000110 73706162 6900010b 00000004 01060108 spabi...........
      0x00000120 01411600 00006d73 70616269 00010b00 .A....mspabi....
      0x00000130 00000401 06010801 41160000 006d7370 ........A....msp
      0x00000140 61626900 010b0000 00040106 01080141 abi............A
      0x00000150 16000000 6d737061 62690001 0b000000 ....mspabi......
      0x00000160 04010601 08014116 0000006d 73706162 ......A....mspab
      0x00000170 6900010b 00000004 01060108 01411600 i............A..
      0x00000180 00006d73 70616269 00010b00 00000401 ..mspabi........
      0x00000190 06010801 41160000 006d7370 61626900 ....A....mspabi.
      0x000001a0 010b0000 00040106 01080141 16000000 ...........A....
      0x000001b0 6d737061 62690001 0b000000 04010601 mspabi..........
      0x000001c0 08014116 0000006d 73706162 6900010b ..A....mspabi...
      0x000001d0 00000004 01060108 01                .........
    
    
    main.elf.123

  • Why are you keeping the relocations? It is highly likely there is a better way to accomplish what you need without using the relocations.
  • @Archaeologist: We are researching on fault tolerance methodologies and want to relocate the code after building. Thus we need the (correct) relocation information.

  • Ah, sorry - the --emit-relocs option makes no guarantee of emitting processed relocations.  Rather it just copies the relocations from the input files into the output file.  It is up to you to process those relocations as best you can.  You may find that producing a map file might help with this.

  • I don't agree. On the one hand this option is explained in the man page and on the other we are using the emitted relocs already, but one value is wrong (rodata - 2). Maybe the update of the relocs was forgotten in the magic ctors linker code.

    --emit-relocs
    Leave relocation sections and contents in fully linked executables. Post link analysis and optimization tools may need this information in order to perform correct modifications of executables. This results in larger executables.

    The map file is not helpful for relocation. It lists only how the sections are merged together.
  • Then you definitely need to read the recent threads we've had regarding relocations in executable files, including:

    e2e.ti.com/.../499782
    e2e.ti.com/.../499764

    I should tell you right away that most of the issues you're going to see are addressed by dynamic shared objects (DSO), which is not presently available from the TI compiler.