BSP Build Failures Appeal

Pavel Pisa ppisa4lists at pikron.com
Sun Aug 24 09:59:19 UTC 2014


Hello Chris,

On Sunday 24 of August 2014 05:33:45 Chris Johns wrote:
> On 23/08/2014 1:57 am, Joel Sherrill wrote:
> > The build failures I reported were with the latest RSB tools
> > Please pitch in and let's resolve them.
>
> I have a regression build that includes building all BSPs using ...
>
> $ rm -rf build rsb-report-* log_* && ../source-builder/sb-set-builder
> --prefix=$HOME/development/rtems/4.11 --log=log_all_rtems --with-rtems
> --trace --regression 4.11/rtems-all
>
> ... running on sync.rtems.org as I am also seeing failures. This should
> give me a list of error reports with the first failure on an architecture.
>
> > I left a similar build going for the weekend but using the
> > head of gcc, newlib, and binutils. Hopefully the results
> > are similar.
>
> Given the churn GSoC patches are creating I think we are still a while
> away from a freeze before release branching 4.11.

I have fault with latest RTEMS git on 

  tms570ls3137_hdk_intram
  tms570ls3137_hdk_sdram
  arm-lpc17xx_ea_ram
  arm-lpc40xx_ea_ram

I.e. next target

../../../git/rtems/configure --target=arm-rtems4.11 --prefix=/opt/rtems4.11 \
  --enable-rtems-inlines --disable-multiprocessing --enable-cxx \
  --enable-rdbg --enable-maintainer-mode --enable-tests \
  --enable-networking --enable-posix --enable-itron --disable-ada \
  --disable-expada --disable-multilib --disable-docs \
  --enable-rtemsbsp="tms570ls3137_hdk_sdram" \
  CONSOLE_USE_INTERRUPTS=0

Log follows at end of email.

I expect that source of breakage is next commit

  score: Add SMP support to the cache manager
  http://git.rtems.org/rtems/commit/?id=ddbc3f8d83678313ca61d2936e6efd50b3e044b0

and the fact that CPU_INSTRUCTION_CACHE_ALIGNMENT does not get into defines
for the most (or at least these without real cache) of ARM targets.

May it be that some disable of SMP for CPUkit would help to these targets.
But generally I am little afraid if cache management code does not
cause overhead on systems without cache. In the theory there should
be two builds of CPUkit for each multilib variant - one with SMP
and another without if there is expected to build multiple BSPs
against single CPUkit build. As I understand that is used for distribution
but not common for source users who build for single BSP usually.
But should be checked by someone who knows RTEMS better than me.

Best wishes,

              Pavel


arm-rtems4.11-gcc --pipe -B../../../../../.././lib/ -B../../../../../.././lpc40xx_ea_ram/lib/ -specs 
bsp_specs -qrtems -DHAVE_CONFIG_H   -I../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/../../../libcpu/arm/shared/include   -mthumb -march=armv7-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mtune=cortex-m4 -O2 -g -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT 
libbsp_a-cache_manager.o -MD -MP -MF .deps/libbsp_a-cache_manager.Tpo -c -o libbsp_a-cache_manager.o 
`test -f '../../../libcpu/shared/src/cache_manager.c' || 
echo '../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/'`../../../libcpu/shared/src/cache_manager.c
../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/../../../libcpu/shared/src/cache_manager.c: In 
function '_invalidate_multiple_instruction_lines_no_range_functions':
../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/../../../libcpu/shared/src/cache_manager.c:458:40: 
error: 'CPU_INSTRUCTION_CACHE_ALIGNMENT' undeclared (first use in this function)
   i_addr = (void *)((size_t)i_addr & ~(CPU_INSTRUCTION_CACHE_ALIGNMENT - 1));
                                        ^
../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/../../../libcpu/shared/src/cache_manager.c:458:40: note: each undeclared identifier 
is reported only once for each function it appears in
../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/../../../libcpu/shared/src/cache_manager.c:460:5: warning: implicit declaration of 
function '_CPU_cache_invalidate_1_instruction_line' [-Wimplicit-function-declaration]
     _CPU_cache_invalidate_1_instruction_line( i_addr );
     ^
../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/../../../libcpu/shared/src/cache_manager.c:460:5: warning: nested extern declaration 
of '_CPU_cache_invalidate_1_instruction_line' [-Wnested-externs]
../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/../../../libcpu/shared/src/cache_manager.c: At top level:
../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/../../../libcpu/shared/src/cache_manager.c:440:1: 
warning: '_invalidate_multiple_instruction_lines_no_range_functions' defined but not used [-Wunused-function]
 _invalidate_multiple_instruction_lines_no_range_functions(
 ^
makearm-rtems4.11-gcc --pipe -B../../../../../.././lib/ -B../../../../../.././lpc40xx_ea_ram/lib/ -specs 
bsp_specs -qrtems -DHAVE_CONFIG_H   -I../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/../../../libcpu/arm/shared/include   -mthumb -march=armv7-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mtune=cortex-m4 -O2 -g -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT 
libbsp_a-cache_manager.o -MD -MP -MF .deps/libbsp_a-cache_manager.Tpo -c -o libbsp_a-cache_manager.o 
`test -f '../../../libcpu/shared/src/cache_manager.c' || 
echo '../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/'`../../../libcpu/shared/src/cache_manager.c
../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/../../../libcpu/shared/src/cache_manager.c: In 
function '_invalidate_multiple_instruction_lines_no_range_functions':
../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/../../../libcpu/shared/src/cache_manager.c:458:40: 
error: 'CPU_INSTRUCTION_CACHE_ALIGNMENT' undeclared (first use in this function)
   i_addr = (void *)((size_t)i_addr & ~(CPU_INSTRUCTION_CACHE_ALIGNMENT - 1));
                                        ^
../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/../../../libcpu/shared/src/cache_manager.c:458:40: note: each undeclared identifier 
is reported only once for each function it appears in
../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/../../../libcpu/shared/src/cache_manager.c:460:5: warning: implicit declaration of 
function '_CPU_cache_invalidate_1_instruction_line' [-Wimplicit-function-declaration]
     _CPU_cache_invalidate_1_instruction_line( i_addr );
     ^
../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/../../../libcpu/shared/src/cache_manager.c:460:5: warning: nested extern declaration 
of '_CPU_cache_invalidate_1_instruction_line' [-Wnested-externs]
../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/../../../libcpu/shared/src/cache_manager.c: At top level:
../../../../../../../../../../git/rtems/c/src/lib/libbsp/arm/lpc24xx/../../../libcpu/shared/src/cache_manager.c:440:1: 
warning: '_invalidate_multiple_instruction_lines_no_range_functions' defined but not used [-Wunused-function]
 _invalidate_multiple_instruction_lines_no_range_functions(
 ^
make[6]: *** [libbsp_a-cache_manager.o] Error 1
make[6]: Leaving directory `/home/pi/repo/rtems/build/arm-lpc40xx_ea_ram/rtems/arm-rtems4.11/c/lpc40xx_ea_ram/lib/libbsp/arm/lpc24xx'
[6]: *** [libbsp_a-cache_manager.o] Error 1
make[6]: Leaving directory `/home/pi/repo/rtems/build/arm-lpc40xx_ea_ram/rtems/arm-rtems4.11/c/lpc40xx_ea_ram/lib/libbsp/arm/lpc24xx'




More information about the devel mailing list