[Tinyos-help] Internal compiler error compiling Blink on micaz

John Regehr regehr at cs.utah.edu
Thu Jul 2 11:36:22 PDT 2009


I'll just add that:

- this is a known bug in newer versions of avr-gcc that has been discussed 
here before several times

- this bug is not present in the version of avr-gcc that is distributed 
with TinyOS 2.1, but it is present in the avr-gcc that comes with recent 
versions of Ubuntu

The workaround, then, is obvious.

The line of code triggering the bug is this:

   AVR_ATOMIC_HANDLER(SIG_OUTPUT_COMPARE0) {

I believe there's a way to work around the bug by changing the way 
interrupt handlers are declared, but the bug is so ridiculous that this 
seems not really worth it.

John



On Thu, 2 Jul 2009, David Gay wrote:

> Quatre Horrace <exvagabond at yahoo.com> wrote:
>>
>> Hi all. I am try to get a TinyOS-2.1.0 environment installed on a Linux Mint
>> machine. Linux Mint is a derivative of Ubuntu 9.04 Jaunty Jackalope.
>>
>> To install the toolchain, I followed the instructions from the following
>> site:
>> http://nmlaxaman.blogspot.com/2009/01/installing-tinyos-2x-in-ubuntu-intrepid.html
>> These instructions are essentially the same as the ones recommended from the
>> tinyos install wiki:
>> http://docs.tinyos.net/index.php/Installing_TinyOS_2.1
>>
>> The install finishes without any problems. I then go to compile the Blink
>> application for my target platform, micaz. Following is the output I get:
>>
>>> make micaz
>> mkdir -p build/micaz
>>     compiling BlinkAppC to a micaz binary
>> ncc -o build/micaz/main.exe  -Os -Wall -Wshadow -Wnesc-all -target=micaz
>> -fnesc-cfile=build/micaz/app.c -board=micasb -DDEFINED_TOS_AM_GROUP=0x22
>> --param max-inline-insns-single=100000 -DIDENT_APPNAME=\"BlinkAppC\"
>> -DIDENT_USERNAME=\"abc\" -DIDENT_HOSTNAME=\"abc-deskt\"
>> -DIDENT_USERHASH=0xc60ca8bfL -DIDENT_TIMESTAMP=0x4a37f0faL
>> -DIDENT_UIDHASH=0x378c0e71L -fnesc-dump=wiring
>> -fnesc-dump='interfaces(!abstract())' -fnesc-dump='referenced(interfacedefs,
>> components)' -fnesc-dumpfile=build/micaz/wiring-check.xml BlinkAppC.nc -lm
>> /opt/tinyos-2.1.0/tos/chips/atm128/timer/HplAtm128Timer0AsyncP.nc:178:
>> internal compiler error: in start_function, at c-decl.c:6177
>> Please submit a full bug report,
>> with preprocessed source if appropriate.
>> See <URL:http://gcc.gnu.org/bugs.html> for instructions.
>
> This is a gcc bug, as the url would indicate, not a nesC bug. If you
> want to track it down further / submit a gcc bug report, you should
> start from the app.c that should still be in build/micaz/app.c. If you
> runn ncc with the -v option, you'll also get the avr-gcc command line
> that was used to compile app.c (and then crashed).
>
> But before doing that, I'd try using a different (newer or older ;-))
> version of avr-gcc.
>
> David Gay, answering a little late.
>
> _______________________________________________
> Tinyos-help mailing list
> Tinyos-help at millennium.berkeley.edu
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>


More information about the Tinyos-help mailing list