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