Unlike your previous question, this is purely an msp430-elf-gcc issue so
isn't something I would normally respond to.  Both TI and RH have people
monitoring this list, and I expect them to reply on-list with advice,
though perhaps not until the holidays are over.

Since I'm here, though, I expect that issues with a pure upstream build
should be raised on the official gcc or binutils mailing lists.  I
recommend first trying it with the pre-built toolchains available from TI,
as there may be changes that have not yet been integrated upstream.

Peter


On Fri, Dec 27, 2013 at 8:05 AM, Lorenzo Marcantonio <
l.marcanto...@logossrl.com> wrote:

> Got the 'blinking led' working on the 5529... tried to test the thing
> with the large model (-mlarge to every msp430-elf-gcc invocation).
>
> Well, nothing happened. It hangs before main. Exactly in frame_dummy, from
> crtbegin.o (built from the mess in libgcc/crtstuff.c). I dumped the files
> from
> the compiler build (found in lib/gcc/msp430-elf/4.9.0/430x/large) so it
> shouldn't be something from my test program...
>
> The source code has this fragment:
>
>   if (__register_frame_info)
>     __register_frame_info (__EH_FRAME_BEGIN__, &object);
>
> In small model the object code is like this:
>
> 0000009e <frame_dummy>:
>   9e:   3e 40 00 00     mov     #0,     r14     ;
>                         a0: R_MSP430_16_BYTE    __register_frame_info
>   a2:   0e 93           cmp     #0,     r14     ;r3 As==00
>   a4:   00 24           jz      $+2             ;abs 0xa6
>                         a4: R_MSP430_10_PCREL   .L32
>   a6:   3c 40 00 00     mov     #0,     r12     ;
>                         a8: R_MSP430_16_BYTE    .eh_frame
>   aa:   3d 40 00 00     mov     #0,     r13     ;
>                         ac: R_MSP430_16_BYTE    .bss+0x4
>   ae:   8e 12           call    r14             ;
>
> 000000b0 <.L32>:
>
> __register_frame_info is a weak external, which is undefined, so the linker
> 'locates' it to 0. The result is
>
> 00004524 <frame_dummy>:
>     4524:       3e 40 00 00     mov     #0,     r14     ; <<< HERE IS
> LOCATED
>     4528:       0e 93           cmp     #0,     r14     ;r3 As==00
>     452a:       05 24           jz      $+12            ;abs 0x4536
>     452c:       3c 40 04 44     mov     #17412, r12     ;#0x4404
>     4530:       3d 40 82 24     mov     #9346,  r13     ;#0x2482
>     4534:       8e 12           call    r14             ;
>
> 00004536 <.L32>:
>
> Here zero is obviously zero, so the call is skipped (as intended:D)
>
> When linking the large model crtbegin.o, the generated code is really
> different:
>
> 0000015e <frame_dummy>:
>  15e:   8c 00 00 00     mova    #0,     r12     ;
>                         15e: R_MSP430X_ABS20_ADR_SRC    .eh_frame
>  162:   8d 00 00 00     mova    #0,     r13     ;
>                         162: R_MSP430X_ABS20_ADR_SRC    .bss+0x6
>  166:   b0 13 00 00     calla   #0              ;0x00000
>                         166: R_MSP430X_ABS20_ADR_DST
>  __register_frame_info
>
> Where is the condition check? Obviously after location the result is this:
>
> 000045fe <frame_dummy>:
>     45fe:       8c 00 08 44     mova    #17416, r12     ;0x04408
>     4602:       8d 00 f2 24     mova    #9458,  r13     ;0x024f2
>     4606:       b0 13 00 00     calla   #0              ;0x00000 << HERE
> IS LOCATED
>
> That calla #0 doesn't seem very legal to me...
>
> So... is this expected, it's a known bug or needs to be reported? (and
> where) I
> know that 20-bit support is beta (I built it from trunk...) so I'm not
> worrying
> too much.
>
> Suggestions appreciated
>
> --
> Lorenzo Marcantonio
> Logos Srl
>
>
> ------------------------------------------------------------------------------
> Rapidly troubleshoot problems before they affect your business. Most IT
> organizations don't have a clear picture of how application performance
> affects their revenue. With AppDynamics, you get 100% visibility into your
> Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics
> Pro!
> http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
> _______________________________________________
> Mspgcc-users mailing list
> Mspgcc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mspgcc-users
>
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Reply via email to