
Hi Simon,
On Thu, Nov 29, 2012 at 8:18 AM, Graeme Russ graeme.russ@gmail.com wrote:
Hi Simon,
On Thu, Nov 29, 2012 at 6:46 AM, Simon Glass sjg@chromium.org wrote:
Hi Graeme,
On Tue, Nov 27, 2012 at 5:38 PM, Simon Glass sjg@chromium.org wrote:
From: Graeme Russ graeme.russ@gmail.com
[snip]
diff --git a/examples/standalone/Makefile b/examples/standalone/Makefile index baaa2fb..7c1ea5c 100644 --- a/examples/standalone/Makefile +++ b/examples/standalone/Makefile @@ -98,7 +98,7 @@ $(ELF): $(obj)%: $(obj)%.o $(LIB) $(LD) $(LDFLAGS) -g -Ttext $(CONFIG_STANDALONE_LOAD_ADDR) \ -o $@ -e $(SYM_PREFIX)$(notdir $(<:.o=)) $< $(LIB) \
-L$(gcclibdir) -lgcc
-L$(USE_PRIVATE_LIBGCC) -lgcc
This forces all archs to use a private libgcc here, right? Is that the intention? It seems to break some of the powerpc boards with my
Eeep - no, that was not the intent. I did this so long ago I can't even remember why I did the USE_PRIVATE_LIBGCC
I've had a closer look, and I think this part of the patch is really a hangover from commit 36b2409a3d469b5133d105fa12089429a1900bde (x86: Wrap small helper functions from libgcc to avoid an ABI mismatch)
So the proper solution would be to break this patch into two patches - one that fixes the libgcc/abi mismatch for examples/standalone and one that fixes building on 64-bit build machines.
There might have been some discussion about the libgcc/regparm mismatch, but I can't recall. I'm wondering if the option of dumping regparm was considered. It really only impacts the code where there is a boundary between .S and .c files and inline asm like in arch/x86/cpu/interrupts.c Overall, it might be a cleaner solution
Regards,
Graeme