ColdFire CVS Build Error with 4.0.0

Brett Swimley brett.swimley at
Wed Jun 1 19:42:19 UTC 2005

Hi All -

I'm working on moving to RTEMS 4.7.x and have the current CVS sources.  
I'm building the csb360 BSP to test the tool chain prior to moving my 
BSP over to 4.7.  I've just built gcc-4.0.0 but had the same problems 
with gcc-3.4.2.

When compiling, the macro:


fails with a gcc error:

'_VBR' has an incomplete type'

The pertinent code from /cpukit/score/cpu/m68k/rtems/score/m68k.h is 
shown below.  The asterisked line appears to be where the problem occurs.

#elif ( M68K_COLDFIRE_ARCH == 1 )
extern uint32_t                     _VBR[];
#define m68k_get_vbr( _vbr ) _vbr = _VBR

#define m68k_set_vbr( vbr ) \
  do { \
    asm volatile ( "movec   %0,%%vbr " : : "r" (vbr)); \
***    _VBR = (void *)vbr; \
  } while(0)

CVS indicates that _VBR was changed fairly recently from
void* _VBR;
uint32_t   _VBR[];

I'm guessing that a typecast is required, but I'm not sure what the cast 
should be.

Any suggestions?


Brett Swimley

More information about the users mailing list