Figure out why those asm statements are getting emitted and replace it with
something that references a linker symbol like __P3OUT and __P4OUT.
I believe Eric Decker was looking into reworking the MSP430 port support in
TinyOS to fix this.
Peter
On Fri, Feb 22, 2013 at 11:49 AM, Martin Zoller
<martin.zol...@tinynode.com>wrote:
> Hi,
> I'm experimenting with the -ffunction-sections and -fdata-sections
> parameters of mspgcc.
> The goal is to split a TinyOS application between near and far flash
> memory using the large memory model. If I do this without special compile
> parameters, only a small amount of code ends up in the .text section
> (presumably the ISRs), and the rest is put in .far.text, rather than
> filling up .text first.
>
> Now unfortunately -ffunction-sections and -fdata-sections seem to be
> broken in mspgcc 4.7.0 20120911.
> For example, if I compile the TinyOS Blink application for telosb with
> them, I get:
>
> /tmp/ccb7btaA.s:1220: Error: Missing symbol name in directive
> /tmp/ccb7btaA.s:1220: Error: junk at end of line, first unrecognized
> character is `x'
> /tmp/ccb7btaA.s:1221: Error: expected comma after name `' in .size
> directive
> /tmp/ccb7btaA.s:1222: Error: junk at end of line, first unrecognized
> character is `0'
> /tmp/ccb7btaA.s:1224: Error: Missing symbol name in directive
> /tmp/ccb7btaA.s:1224: Error: junk at end of line, first unrecognized
> character is `x'
> /tmp/ccb7btaA.s:1225: Error: expected comma after name `' in .size
> directive
> /tmp/ccb7btaA.s:1226: Error: junk at end of line, first unrecognized
> character is `0'
> /tmp/ccb7btaA.s:1229: Error: Missing symbol name in directive
> ... and lots more of those.
>
> The problem is that the assembler code contains addresses instead of
> symbol names:
> .LIRD0:
> .size main, .-main
> .section .bss.0x0019,"aw",@nobits
> .type 0x0019, @object ;Line 1220
> .size 0x0019, 1
> 0x0019:
> .zero 1
> .type 0x0019, @object
> .size 0x0019, 1 ;Line 1225
> 0x0019:
> .zero 1
> .section .bss.0x001D,"aw",@nobits
> .type 0x001D, @object
> .size 0x001D, 1 ;Line 1230
>
> I tried this without any special options, i.e. with memory model "none".
> It compiles fine on mspgcc 4.6.3 20120406.
> The thread at [1] mentions the same issue, but without a solution. And in
> [2] Peter suggests the problem is caused by the asm statement, which is
> treated differently by gcc 4.7.
> However, the code above seems to correspond to the following declarations
> in app.c (each appearing in several functions):
>
> static volatile uint8_t r __asm("0x0019");
> static volatile uint8_t r __asm("0x001D");
>
> So they are already static.
> Is there a known workaround for this issue?
>
>
> Thanks,
> Martin
>
> [1] - http://lists.gnu.org/archive/**html/bug-binutils/2012-10/**
> msg00111.html<http://lists.gnu.org/archive/html/bug-binutils/2012-10/msg00111.html>
> [2] - http://sourceforge.net/**mailarchive/forum.php?thread_**name=**
> CAPOJ94M1tobePYig6XdJjwTVamFj1**DC2uDFyUu%3DZChzFHBApUw%**
> 40mail.gmail.com&forum_name=**mspgcc-users<http://sourceforge.net/mailarchive/forum.php?thread_name=CAPOJ94M1tobePYig6XdJjwTVamFj1DC2uDFyUu%3DZChzFHBApUw%40mail.gmail.com&forum_name=mspgcc-users>
>
> --
>
> Martin Zoller ? Tinynode <http://www.tinynode.com/> ? System Architect ?
> Lausanne ? D: +41 21 510 11 81 ? F: +41 21 510 11 71 ?
> martin.zol...@tinynode.com
> <mailto:martin.zoller@**tinynode.com<martin.zol...@tinynode.com>
> >
>
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_feb
> _______________________________________________
> Mspgcc-users mailing list
> Mspgcc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mspgcc-users
>
>
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mspgcc-users