[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