[U-Boot] [PATCH] powerpc/nand spl: link libgcc
Wolfgang Denk
wd at denx.de
Tue Dec 14 00:16:28 CET 2010
Dear Scott Wood,
In message <20101210230051.GA30739 at udp111988uds.am.freescale.net> you wrote:
> 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 at freescale.com>
> ---
> nand_spl/board/amcc/acadia/Makefile | 2 +-
> nand_spl/board/amcc/bamboo/Makefile | 2 +-
> nand_spl/board/amcc/canyonlands/Makefile | 2 +-
> nand_spl/board/amcc/kilauea/Makefile | 2 +-
> nand_spl/board/amcc/sequoia/Makefile | 2 +-
> nand_spl/board/freescale/mpc8313erdb/Makefile | 2 +-
> nand_spl/board/freescale/mpc8315erdb/Makefile | 2 +-
> nand_spl/board/sheldon/simpc8313/Makefile | 2 +-
> 8 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/nand_spl/board/amcc/acadia/Makefile b/nand_spl/board/amcc/acadia/Makefile
> index bee24bc..f8ca654 100644
> --- a/nand_spl/board/amcc/acadia/Makefile
> +++ b/nand_spl/board/amcc/acadia/Makefile
> @@ -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
Just two questions:
Q1: Are we sure that the observed behaviour is intentional, and not
eventually unintended behaviour (well, a bug) in the new versions
of GCC? In general newer releases are supposed to provide better
optimization, but with GCC regressions seem to be more common?
Q2: What happens with older compilers, that don't need this? Is this
change a No-Op for these?
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"It was the Law of the Sea, they said. Civilization ends at the wa-
terline. Beyond that, we all enter the food chain, and not always
right at the top." - Hunter S. Thompson
More information about the U-Boot
mailing list