[RTEMS Project] #4002: Beaglebone and PC BSP stacks do not build

RTEMS trac trac at rtems.org
Wed Jun 10 23:41:56 UTC 2020


#4002: Beaglebone and PC BSP stacks do not build
--------------------------+--------------------
  Reporter:  Chris Johns  |      Owner:  (none)
      Type:  defect       |     Status:  new
  Priority:  highest      |  Milestone:  5.1
 Component:  bsps         |    Version:  5
  Severity:  blocker      |   Keywords:
Blocked By:               |   Blocking:
--------------------------+--------------------
 The Beaglebone and PC BSPs do not build with the RSB master
 (42b7e8a4faa4a4601a69da78e02092ebdb81b7d9). These are the only two BSPs I
 have tried.

 The build fails on the first package (`sqlite`). The `sqlite` standard
 autoconf configure compiler test fails with a number of missing symbols.
 {{{
 /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/bin/arm-rtems5-gcc \
  -qrtems -B/opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/arm-rtems5/lib/ \
  -B/opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/arm-rtems5/beagleboneblack/lib/
 \
  --specs bsp_specs -mcpu=cortex-a8 -O2 -g -ffunction-sections -fdata-
 sections \
  -DSQLITE_MAX_MMAP_SIZE=0 -DSQLITE_DEFAULT_LOCKING_MODE=1
 -DSQLITE_ENABLE_MEMSYS5 \
  -I/opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/arm-
 rtems5/beagleboneblack/lib/include \
  -L/opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/arm-rtems5/beagleboneblack/lib
 \
  -mcpu=cortex-a8   -Wl,--gc-sections \
  -L/opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500/databases/sqlite/opt/work/rtems/5/lib \
  conftest.c
 /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/bin/../lib/gcc/arm-rtems5/7.5.0
 /../../../../arm-rtems5/bin/ld: /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/arm-
 rtems5/beagleboneblack/lib/start.o: in function `bsp_start_hook_0_done':
 /opt/work/chris/rtems/rsb/rtems-source-builder.git/rtems/build/arm-rtems5
 -kernel-beagleboneblack-1/arm-rtems5-kernel-
 beagleboneblack-1-153b26699ee10eb760816ca0d030fe4cd80e1ce7/build/arm-
 rtems5/c/beagleboneblack/lib/libbsp/arm/beagle
 /../../../../../../../../rtems-
 153b26699ee10eb760816ca0d030fe4cd80e1ce7/c/src/lib/libbsp/arm/beagle/../../../../../../bsps/arm/shared/start/start.S:202:
 undefined reference to `_ISR_Stack_size'
 /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/bin/../lib/gcc/arm-rtems5/7.5.0
 /../../../../arm-rtems5/bin/ld: /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/arm-rtems5-kernel-beagleboneblack-1/arm-rtems5
 -kernel-beagleboneblack-1-153b26699ee10eb760816ca0d030fe4cd80e1ce7/build
 /arm-rtems5/c/beagleboneblack/lib/libbsp/arm/beagle
 /../../../../../../../../rtems-
 153b26699ee10eb760816ca0d030fe4cd80e1ce7/c/src/lib/libbsp/arm/beagle/../../../../../../bsps/arm/shared/start/start.S:207:
 undefined reference to `_ISR_Stack_area_begin'
 /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/bin/../lib/gcc/arm-rtems5/7.5.0
 /../../../../arm-rtems5/bin/ld: /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/arm-
 rtems5/beagleboneblack/lib/librtemsbsp.a(bbb-i2c.o): in function
 `am335x_i2c_transfer':
 /opt/work/chris/rtems/rsb/rtems-source-builder.git/rtems/build/arm-rtems5
 -kernel-beagleboneblack-1/arm-rtems5-kernel-
 beagleboneblack-1-153b26699ee10eb760816ca0d030fe4cd80e1ce7/build/arm-
 rtems5/c/beagleboneblack/lib/libbsp/arm/beagle
 /../../../../../../../../rtems-
 153b26699ee10eb760816ca0d030fe4cd80e1ce7/c/src/lib/libbsp/arm/beagle/../../../../../../bsps/arm/beagle/i2c
 /bbb-i2c.c:358: undefined reference to `_Watchdog_Microseconds_per_tick'
 /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/bin/../lib/gcc/arm-rtems5/7.5.0
 /../../../../arm-rtems5/bin/ld: /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/arm-rtems5-kernel-beagleboneblack-1/arm-rtems5
 -kernel-beagleboneblack-1-153b26699ee10eb760816ca0d030fe4cd80e1ce7/build
 /arm-rtems5/c/beagleboneblack/lib/libbsp/arm/beagle
 /../../../../../../../../rtems-
 153b26699ee10eb760816ca0d030fe4cd80e1ce7/c/src/lib/libbsp/arm/beagle/../../../../../../bsps/arm/beagle/i2c
 /bbb-i2c.c:399: undefined reference to `_Watchdog_Microseconds_per_tick'
 /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/bin/../lib/gcc/arm-rtems5/7.5.0
 /../../../../arm-rtems5/bin/ld: /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/arm-rtems5-kernel-beagleboneblack-1/arm-rtems5
 -kernel-beagleboneblack-1-153b26699ee10eb760816ca0d030fe4cd80e1ce7/build
 /arm-rtems5/c/beagleboneblack/lib/libbsp/arm/beagle
 /../../../../../../../../rtems-
 153b26699ee10eb760816ca0d030fe4cd80e1ce7/c/src/lib/libbsp/arm/beagle/../../../../../../bsps/arm/beagle/i2c
 /bbb-i2c.c:428: undefined reference to `_Watchdog_Microseconds_per_tick'
 /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/bin/../lib/gcc/arm-rtems5/7.5.0
 /../../../../arm-rtems5/bin/ld: /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/arm-rtems5-kernel-beagleboneblack-1/arm-rtems5
 -kernel-beagleboneblack-1-153b26699ee10eb760816ca0d030fe4cd80e1ce7/build
 /arm-rtems5/c/beagleboneblack/lib/libbsp/arm/beagle
 /../../../../../../../../rtems-
 153b26699ee10eb760816ca0d030fe4cd80e1ce7/c/src/lib/libbsp/arm/beagle/../../../../../../bsps/arm/beagle/i2c
 /bbb-i2c.c:428: undefined reference to `_Watchdog_Microseconds_per_tick'
 /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/bin/../lib/gcc/arm-rtems5/7.5.0
 /../../../../arm-rtems5/bin/ld: /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/arm-
 rtems5/beagleboneblack/lib/librtemscpu.a(i2c-bus.o): in function
 `i2c_bus_ioctl':
 /opt/work/chris/rtems/rsb/rtems-source-builder.git/rtems/build/arm-rtems5
 -kernel-beagleboneblack-1/arm-rtems5-kernel-
 beagleboneblack-1-153b26699ee10eb760816ca0d030fe4cd80e1ce7/build/arm-
 rtems5/c/beagleboneblack/cpukit/../../../../../rtems-
 153b26699ee10eb760816ca0d030fe4cd80e1ce7/c/src/../../cpukit/dev/i2c/i2c-
 bus.c:167: undefined reference to `_Watchdog_Microseconds_per_tick'
 /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/bin/../lib/gcc/arm-rtems5/7.5.0
 /../../../../arm-rtems5/bin/ld: /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/arm-
 rtems5/beagleboneblack/lib/librtemscpu.a(i2c-
 bus.o):/opt/work/chris/rtems/rsb/rtems-source-builder.git/rtems/build/arm-
 rtems5-kernel-beagleboneblack-1/arm-rtems5-kernel-
 beagleboneblack-1-153b26699ee10eb760816ca0d030fe4cd80e1ce7/build/arm-
 rtems5/c/beagleboneblack/cpukit/../../../../../rtems-
 153b26699ee10eb760816ca0d030fe4cd80e1ce7/c/src/../../cpukit/dev/i2c/i2c-
 bus.c:167: more undefined references to `_Watchdog_Microseconds_per_tick'
 follow
 /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/bin/../lib/gcc/arm-rtems5/7.5.0
 /../../../../arm-rtems5/bin/ld: /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/arm-
 rtems5/beagleboneblack/lib/librtemscpu.a(threadsetstate.o): in function
 `_Scheduler_Block':
 /opt/work/chris/rtems/rsb/rtems-source-builder.git/rtems/build/arm-rtems5
 -kernel-beagleboneblack-1/arm-rtems5-kernel-
 beagleboneblack-1-153b26699ee10eb760816ca0d030fe4cd80e1ce7/rtems-
 153b26699ee10eb760816ca0d030fe4cd80e1ce7/cpukit/include/rtems/score/schedulerimpl.h:287:
 undefined reference to `_Scheduler_Table'
 /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/bin/../lib/gcc/arm-rtems5/7.5.0
 /../../../../arm-rtems5/bin/ld: /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/arm-rtems5-kernel-beagleboneblack-1/arm-rtems5
 -kernel-beagleboneblack-1-153b26699ee10eb760816ca0d030fe4cd80e1ce7/rtems-
 153b26699ee10eb760816ca0d030fe4cd80e1ce7/cpukit/include/rtems/score/schedulerimpl.h:287:
 undefined reference to `_Scheduler_Table'
 /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/bin/../lib/gcc/arm-rtems5/7.5.0
 /../../../../arm-rtems5/bin/ld: /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/arm-rtems5-kernel-beagleboneblack-1/arm-rtems5
 -kernel-beagleboneblack-1-153b26699ee10eb760816ca0d030fe4cd80e1ce7/rtems-
 153b26699ee10eb760816ca0d030fe4cd80e1ce7/cpukit/include/rtems/score/schedulerimpl.h:287:
 undefined reference to `_Scheduler_Table'
 /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/bin/../lib/gcc/arm-rtems5/7.5.0
 /../../../../arm-rtems5/bin/ld: /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/arm-rtems5-kernel-beagleboneblack-1/arm-rtems5
 -kernel-beagleboneblack-1-153b26699ee10eb760816ca0d030fe4cd80e1ce7/rtems-
 153b26699ee10eb760816ca0d030fe4cd80e1ce7/cpukit/include/rtems/score/schedulerimpl.h:287:
 undefined reference to `_Scheduler_Table'
 /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/bin/../lib/gcc/arm-rtems5/7.5.0
 /../../../../arm-rtems5/bin/ld: /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/arm-
 rtems5/beagleboneblack/lib/librtemscpu.a(threadyield.o): in function
 `_Scheduler_Yield':
 /opt/work/chris/rtems/rsb/rtems-source-builder.git/rtems/build/arm-rtems5
 -kernel-beagleboneblack-1/arm-rtems5-kernel-
 beagleboneblack-1-153b26699ee10eb760816ca0d030fe4cd80e1ce7/rtems-
 153b26699ee10eb760816ca0d030fe4cd80e1ce7/cpukit/include/rtems/score/schedulerimpl.h:225:
 undefined reference to `_Scheduler_Table'
 /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/bin/../lib/gcc/arm-rtems5/7.5.0
 /../../../../arm-rtems5/bin/ld: /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/arm-
 rtems5/beagleboneblack/lib/librtemscpu.a(threadyield.o):/opt/work/chris/rtems/rsb
 /rtems-source-builder.git/rtems/build/arm-rtems5-kernel-beagleboneblack-1
 /arm-rtems5-kernel-
 beagleboneblack-1-153b26699ee10eb760816ca0d030fe4cd80e1ce7/rtems-
 153b26699ee10eb760816ca0d030fe4cd80e1ce7/cpukit/include/rtems/score/schedulerimpl.h:225:
 more undefined references to `_Scheduler_Table' follow
 /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/bin/../lib/gcc/arm-rtems5/7.5.0
 /../../../../arm-rtems5/bin/ld: /opt/work/chris/rtems/rsb/rtems-source-
 builder.git/rtems/build/tmp/sb-500-staging/arm-
 rtems5/beagleboneblack/lib/librtemscpu.a(userextiterate.o): in function
 `_User_extensions_Iterate':
 /opt/work/chris/rtems/rsb/rtems-source-builder.git/rtems/build/arm-rtems5
 -kernel-beagleboneblack-1/arm-rtems5-kernel-
 beagleboneblack-1-153b26699ee10eb760816ca0d030fe4cd80e1ce7/build/arm-
 rtems5/c/beagleboneblack/cpukit/../../../../../rtems-
 153b26699ee10eb760816ca0d030fe4cd80e1ce7/c/src/../../cpukit/score/src/userextiterate.c:167:
 undefined reference to `_User_extensions_Initial_count'
  [snip]
 }}}

 Removing the `-Wl,--gc-sections` argument from the command line works.

 It seems there is conflict between the flags ` -Wl,--gc-sections` for
 LibBSD to link and how `autoconf` link tests are constructed.

 I would like this ticket to only be closed when the Beaglebone and PC BSP
 stacks build with the RSB git master and a release snapshot on Linux and
 FreeBSD.

--
Ticket URL: <http://devel.rtems.org/ticket/4002>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list