ColdFire CVS Build Error with 4.0.0

Ralf Corsepius ralf.corsepius at rtems.org
Wed Jun 1 20:18:37 UTC 2005


On Wed, 2005-06-01 at 13:42 -0600, Brett Swimley wrote:
> 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:
> 
> m68k_set_vbr
> 
> 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;
> to
> uint32_t   _VBR[];
> 
> I'm guessing that a typecast is required, but I'm not sure what the cast 
> should be.
> 
> Any suggestions?
Known bug, Joel had promised to fix.

Ralf





More information about the users mailing list