powerpc/nand spl: link libgcc
authorScott Wood <scottwood@freescale.com>
Fri, 10 Dec 2010 21:13:39 +0000 (15:13 -0600)
committerWolfgang Denk <wd@denx.de>
Thu, 16 Dec 2010 22:19:14 +0000 (23:19 +0100)
Recent GCC (4.4+) performs out-of-line epilogues in some cases, when
optimizing for size.  It causes a link error for _restgpr_30_x (and similar)
if libgcc is not linked.

It actually increases size with very small binaries, due to the fixed size
of the out-of-line code, and not having any functions that actually need to
restore more than 2 or 3 registers.  But I don't see a way to turn it off,
other than asking GCC to optimize for speed -- which may also increase
size for some boards.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Acked-by: Kim Phillips <kim.phillips@freescale.com>
Acked-by: Wolfgang Denk <wd@denx.de>
nand_spl/board/amcc/acadia/Makefile
nand_spl/board/amcc/bamboo/Makefile
nand_spl/board/amcc/canyonlands/Makefile
nand_spl/board/amcc/kilauea/Makefile
nand_spl/board/amcc/sequoia/Makefile
nand_spl/board/freescale/mpc8313erdb/Makefile
nand_spl/board/freescale/mpc8315erdb/Makefile
nand_spl/board/sheldon/simpc8313/Makefile

index bee24bcf37d6a0d50c052b8105a20f7bfcd8e970..f8ca6541f1a5591d0e0d7cf839636821adddd502 100644 (file)
@@ -51,7 +51,7 @@ $(nandobj)u-boot-spl.bin:     $(nandobj)u-boot-spl
        $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
 
 $(nandobj)u-boot-spl:  $(OBJS) $(nandobj)u-boot.lds
-       cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) \
+       cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) $(PLATFORM_LIBS) \
                -Map $(nandobj)u-boot-spl.map \
                -o $(nandobj)u-boot-spl
 
index 0288c5865f524bd97f2902fdc6d01c4c0b402e3d..438dfbfef69876ce2c0cecc77f45ec3c8738cbb1 100644 (file)
@@ -50,7 +50,7 @@ $(nandobj)u-boot-spl.bin:     $(nandobj)u-boot-spl
        $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
 
 $(nandobj)u-boot-spl:  $(OBJS) $(nandobj)u-boot.lds
-       cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) \
+       cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) $(PLATFORM_LIBS) \
                -Map $(nandobj)u-boot-spl.map \
                -o $(nandobj)u-boot-spl
 
index ab98d6f3fcd2d52660b2d2257d07237a1c05a737..40034e16c4374859f184e742c70caeaa9cfa656c 100644 (file)
@@ -55,7 +55,7 @@ $(nandobj)u-boot-spl.bin:     $(nandobj)u-boot-spl
        $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
 
 $(nandobj)u-boot-spl:  $(OBJS) $(nandobj)u-boot.lds
-       cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) \
+       cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) $(PLATFORM_LIBS) \
                -Map $(nandobj)u-boot-spl.map \
                -o $(nandobj)u-boot-spl
 
index 78c67a230999891374e1af67f5bfc6cb4d79e102..3835f3f6dc6ec42e24d8b56181da9c4685236a38 100644 (file)
@@ -50,7 +50,7 @@ $(nandobj)u-boot-spl.bin:     $(nandobj)u-boot-spl
        $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
 
 $(nandobj)u-boot-spl:  $(OBJS) $(nandobj)u-boot.lds
-       cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) \
+       cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) $(PLATFORM_LIBS) \
                -Map $(nandobj)u-boot-spl.map \
                -o $(nandobj)u-boot-spl
 
index d3e28cecfb662c707f741cea457fce798959fa6f..9120f156b6e53c9622a8ef86a4d2266f773b4fe1 100644 (file)
@@ -50,7 +50,7 @@ $(nandobj)u-boot-spl.bin:     $(nandobj)u-boot-spl
        $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
 
 $(nandobj)u-boot-spl:  $(OBJS) $(nandobj)u-boot.lds
-       cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) \
+       cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) $(PLATFORM_LIBS) \
                -Map $(nandobj)u-boot-spl.map \
                -o $(nandobj)u-boot-spl
 
index 88c15a4873865e118c99a505b23fd36b7d3ecf08..cf8109932c89d6971a94bfe7ee2a4e1a243314e1 100644 (file)
@@ -55,7 +55,7 @@ $(nandobj)u-boot-spl.bin:     $(nandobj)u-boot-spl
        $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
 
 $(nandobj)u-boot-spl:  $(OBJS) $(nandobj)u-boot.lds
-       cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) \
+       cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) $(PLATFORM_LIBS) \
                -Map $(nandobj)u-boot-spl.map \
                -o $(nandobj)u-boot-spl
 
index 88c15a4873865e118c99a505b23fd36b7d3ecf08..cf8109932c89d6971a94bfe7ee2a4e1a243314e1 100644 (file)
@@ -55,7 +55,7 @@ $(nandobj)u-boot-spl.bin:     $(nandobj)u-boot-spl
        $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
 
 $(nandobj)u-boot-spl:  $(OBJS) $(nandobj)u-boot.lds
-       cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) \
+       cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) $(PLATFORM_LIBS) \
                -Map $(nandobj)u-boot-spl.map \
                -o $(nandobj)u-boot-spl
 
index 86e5ecb2d2e85655ed2519c268f9371ff92e2751..bc6dc659ce7a592d0be2f864ffc414bd14377a14 100644 (file)
@@ -55,7 +55,7 @@ $(nandobj)u-boot-spl.bin:     $(nandobj)u-boot-spl
        $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
 
 $(nandobj)u-boot-spl:  $(OBJS) $(nandobj)u-boot.lds
-       cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) \
+       cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) $(PLATFORM_LIBS) \
                -Map $(nandobj)u-boot-spl.map \
                -o $(nandobj)u-boot-spl