Steve Underwood wrote: > Don't use 3.3.anything. The mspgcc patches for those versions are not > maintained any more, because they offer nothing interesting in code size > or speed. 3.2.3 is the version most people use for mspgcc right now.
Funny you should mention that. I just compiled gcc-3.3.4, recompiled msp430-libc (had to remove a few part types that are not supported in the CVS patch), and I am able to compile the TinyOS application. With a load of warnings, though. The application still doesn't work on the target, but it is possible that this is a problem on my end. I forgot to mention in my original post that I was using gcc-3.2.3. The warnings are attached below, in case anybody has a suggestion as to what they mean (I don't know what 'strict-aliasing' means). -- Remy ncc -o build/wsnbase/main.exe -Os -I/home/joe/src/wsn/tinyos/tos/platform/wsnbase -I/home/joe/src/wsn/tinyos/tos/lib/XE1205Radio -fnesc-target=msp430 -gcc=msp430-gcc -mmcu=msp430x149 -Wall -Wshadow -DDEF_TOS_AM_GROUP=0x7d -Wnesc-all -target=wsnbase -fnesc-cfile=build/wsnbase/app.c -board= -DIDENT_PROGRAM_NAME="SenseBase" -DIDENT_PROGRAM_NAME_BYTES="83,101,110,115,101,66,97,115,101,0" -DIDENT_USER_HASH=0L -DIDENT_UNIX_TIME=0x41825d5aL SenseBase.nc -lm /opt/tinyos-1.x/tos/platform/msp430/MSP430ADC12M.nc:661:2: warning: #warning "This version of gcc might contain a bug which results in false accessing of bitfields in structs (MSP430ADC12M.nc will fail). Version 3.2.3 is known to be safe (3.3.2 is known to contain the bug)." /opt/tinyos-1.x/tos/platform/msp430/HPLADC12M.nc: In function `HPLADC12M$HPLADC12$setControl1': /opt/tinyos-1.x/tos/platform/msp430/HPLADC12M.nc:55: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430ADC12M.nc: In function `MSP430ADC12M$MSP430ADC12Advanced$getSingleDataRepeat': /opt/tinyos-1.x/tos/platform/msp430/MSP430ADC12M.nc:407: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430ADC12M.nc:414: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430ADC12M.nc:415: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc: In function `MSP430TimerM$ControlA0$getControl': /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc:180: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc: In function `MSP430TimerM$ControlA1$getControl': /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc:181: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc: In function `MSP430TimerM$ControlA2$getControl': /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc:182: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc: In function `MSP430TimerM$ControlB0$getControl': /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc:322: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc: In function `MSP430TimerM$ControlB1$getControl': /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc:323: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc: In function `MSP430TimerM$ControlB2$getControl': /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc:324: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc: In function `MSP430TimerM$ControlB3$getControl': /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc:325: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc: In function `MSP430TimerM$ControlB4$getControl': /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc:326: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc: In function `MSP430TimerM$ControlB5$getControl': /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc:327: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc: In function `MSP430TimerM$ControlB6$getControl': /opt/tinyos-1.x/tos/platform/msp430/MSP430TimerM.nc:328: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430ADC12M.nc: In function `MSP430ADC12M$checkQueue': /opt/tinyos-1.x/tos/platform/msp430/MSP430ADC12M.nc:717: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430ADC12M.nc:718: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/HPLADC12M.nc: In function `HPLADC12M$HPLADC12$setControl0_IgnoreRef': /opt/tinyos-1.x/tos/platform/msp430/HPLADC12M.nc:59: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/HPLADC12M.nc:62: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/HPLADC12M.nc: In function `HPLADC12M$HPLADC12$setMemControl': /opt/tinyos-1.x/tos/platform/msp430/HPLADC12M.nc:77: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430ADC12M.nc: In function `MSP430ADC12M$internalGetSequenceData': /opt/tinyos-1.x/tos/platform/msp430/MSP430ADC12M.nc:513: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430ADC12M.nc:522: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430ADC12M.nc:523: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430ADC12M.nc: In function `MSP430ADC12M$MSP430ADC12Basic$getSingleData': /opt/tinyos-1.x/tos/platform/msp430/MSP430ADC12M.nc:217: warning: dereferencing type-punned pointer will break strict-aliasing rules /opt/tinyos-1.x/tos/platform/msp430/MSP430ADC12M.nc:218: warning: dereferencing type-punned pointer will break strict-aliasing rules compiled SenseBase to build/wsnbase/main.exe 11856 bytes in ROM 426 bytes in RAM