[PATCH 2/3] i386/smp: Have ld use incremental build for appstart.o

Amaan Cheval amaan.cheval at gmail.com
Sat Mar 10 14:11:38 UTC 2018

With HAS_SMP set, we have:

  libbsp_a_LIBADD += appstart.$(OBJEXT)

When trying to build appstart.o, however, we link start.o with appcpustart.o
through the linkcmds script, which leaves several symbols unresolved, and
without the "-r" (or -i) flag, this throws undefined reference errors.

This change requires us to re-run the ./bootstrap script to regenerate
Makefile.in, and therefore the Makefile for the particular BSP as well.

Complete log of errors available here:

Updates #3331
 c/src/lib/libbsp/i386/pc386/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/c/src/lib/libbsp/i386/pc386/Makefile.am b/c/src/lib/libbsp/i386/pc386/Makefile.am
index 0acce55c44..a8b469120b 100644
--- a/c/src/lib/libbsp/i386/pc386/Makefile.am
+++ b/c/src/lib/libbsp/i386/pc386/Makefile.am
@@ -154,7 +154,7 @@ appcpustart.$(OBJEXT): start/start16.S
 appstart.$(OBJEXT): appcpustart.$(OBJEXT)
-	$(LD) -N -T $(top_srcdir)/startup/linkcmds \
+	$(LD) -r -N -T $(top_srcdir)/startup/linkcmds \
 	    -Ttext 0x70000 -e app_processor_start -nostdlib \
 	    -o appstart_tmp.exe $<
 	$(OBJCOPY) -O binary appstart_tmp.exe appstart.bin

More information about the devel mailing list