[U-Boot] patch for gc-sections
Haiying Wang
Haiying.Wang at freescale.com
Thu Nov 4 15:19:47 CET 2010
On Wed, 2010-11-03 at 13:38 -0700, Peter Tyser wrote:
> I'd guess none of the functions in the SPL binary are referenced in
> the
> linker script or linker command line, so the linker thinks none of
> them
> are necessary and removes them.
>
> Can you try the following patch:
> I did a quick compile test, and it seemed to work, as well as stripped
> out a few unused functions.
Thanks for your patch, it did work to generate the binary, however,
there are two problems:
1. The u-boot size for nand_spl is not cut down as expected.
/* before apply your new patch */
29292 2010-11-04 09:29 nand_spl/u-boot-spl
0 2010-11-04 09:29 nand_spl/u-boot-spl-16k.bin
0 2010-11-04 09:29 nand_spl/u-boot-spl.bin
13931 2010-11-04 09:29 nand_spl/u-boot-spl.map
/* After apply your new patch */
35636 2010-11-04 09:49 nand_spl/u-boot-spl
116912128 2010-11-04 09:49 nand_spl/u-boot-spl-16k.bin
4096 2010-11-04 09:49 nand_spl/u-boot-spl.bin
16381 2010-11-04 09:49 nand_spl/u-boot-spl.map
/* Remove your two patches(remove gc-section patch and this new patch */
34094 2010-11-04 09:51 nand_spl/u-boot-spl
116912128 2010-11-04 09:51 nand_spl/u-boot-spl-16k.bin
4096 2010-11-04 09:51 nand_spl/u-boot-spl.bin
14097 2010-11-04 09:51 nand_spl/u-boot-spl.map
2.the u-boot-spl.bin is 4096 bytes, and u-boot-spl-16.bin which should
be padded to 4K bytes is 116912128 bytes. You can take a look at
nand_spl/board/freescale/mpc8536ds/Makefile to see how
u-boot-spl.bin/u-boot-spl-16k.bin is generated. I don't know which
patch(not your gc-section for sure) cause this problem. I just reset my
git tree to 2010.06, the size is:
33512 2010-11-04 10:07 nand_spl/u-boot-spl
4096 2010-11-04 10:07 nand_spl/u-boot-spl-16k.bin
4096 2010-11-04 10:07 nand_spl/u-boot-spl.bin
14037 2010-11-04 10:07 nand_spl/u-boot-spl.map
So we need to find out the cause for the huge u-boot-spl-16k.bin.
Anyway, thanks for taking care of this.
Haiying
More information about the U-Boot
mailing list