i386/smp: Have ld use incremental build for appstart.o

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:
https://gist.github.com/AmaanC/d40bd7393dca1f82965938275845b7f9

Updates #3331
This commit is contained in:
Amaan Cheval
2018-03-13 21:44:14 +05:30
committed by Joel Sherrill
parent e9fb313376
commit 51614c0130

View File

@@ -154,7 +154,7 @@ appcpustart.$(OBJEXT): start/start16.S
$(CPPASCOMPILE) $(AM_CPPFLAGS) -DSMP_SECONDARY_CORE -o $@ -c $<
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