[RTEMS Project] #3818: New build system

RTEMS trac trac at rtems.org
Mon Sep 14 21:14:39 UTC 2020


#3818: New build system
-----------------------------+------------------------------
 Reporter:  Sebastian Huber  |       Owner:  Sebastian Huber
     Type:  enhancement      |      Status:  accepted
 Priority:  normal           |   Milestone:  6.1
Component:  build            |     Version:  6
 Severity:  normal           |  Resolution:
 Keywords:                   |  Blocked By:
 Blocking:  3250             |
-----------------------------+------------------------------

Comment (by kgardas):

 with new build system smp enabled build of pc686 fails. Linkage of samples
 fails with
 {{{
 /export/home/karel/sfw/rtems/6-tools-
 core2/lib/gcc/i386-rtems6/10.2.1/../../../../i386-rtems6/bin/ld:
 ./librtemsbsp.a(smp-imps.c.10.o): in function `boot_cpu':
 /export/home/karel/git/rtems/rtems-
 head/build/i386/pc686/../../../bsps/i386/pc386/start/smp-imps.c:274:
 undefined reference to `_binary_appstart_bin_start'
 /export/home/karel/sfw/rtems/6-tools-
 core2/lib/gcc/i386-rtems6/10.2.1/../../../../i386-rtems6/bin/ld:
 /export/home/karel/git/rtems/rtems-
 head/build/i386/pc686/../../../bsps/i386/pc386/start/smp-imps.c:274:
 undefined reference to `_binary_appstart_bin_size'
 collect2: error: ld returned 1 exit status
 }}}
 that's due to fact this part of Makefile based build was not translated to
 the new build system:
 {{{
 appcpustart.$(OBJEXT): ../../../../../../bsps/i386/pc386/start/startAP.S
         $(CPPASCOMPILE) $(AM_CPPFLAGS) -o $@ -c $<

 appstart.$(OBJEXT): appcpustart.$(OBJEXT)
         $(LD) -N  \
             -Ttext 0x70000 -e app_processor_start -nostdlib \
             -o appstart_tmp.exe $<
         $(OBJCOPY) -O binary appstart_tmp.exe appstart.bin
         $(OBJCOPY) -I binary -O elf32-i386 -B i386 appstart.bin $@
 }}}
 besides this there is also error in files (getcpuid.c seems to be gone,
 bspsmp.c needs to be there:

 {{{
 diff --git a/spec/build/bsps/i386/pc386/objsmp.yml
 b/spec/build/bsps/i386/pc386/objsmp.yml
 index af882cb425..9e83bd7a01 100644
 --- a/spec/build/bsps/i386/pc386/objsmp.yml
 +++ b/spec/build/bsps/i386/pc386/objsmp.yml
 @@ -11,6 +11,7 @@ includes: []
  install: []
  links: []
  source:
 -- bsps/i386/pc386/start/getcpuid.c
 +#- bsps/i386/pc386/start/getcpuid.c
 +- bsps/i386/pc386/start/bspsmp.c
  - bsps/i386/pc386/start/smp-imps.c
  type: build
 }}}
 unfortunately so far I struggle with translating this to waf, probably
 should look for some waf doc or so. E.g. linking steps of appcpustart.o
 into appstart.o is what makes me trouble. Also I'm not able to find out
 how rtemsbsp lib is linked and its dependency specified...

--
Ticket URL: <http://devel.rtems.org/ticket/3818#comment:48>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list