[U-Boot] CFG_64BIT_xxx and friends
Jerry Van Baren
gvb.uboot at gmail.com
Tue Sep 9 03:58:40 CEST 2008
Haavard Skinnemoen wrote:
> Haavard Skinnemoen <haavard.skinnemoen at atmel.com> wrote:
>> That's a bit more than expected. Is this with or without --gc-sections?
>> Linking with --gc-sections should make simple_strtoull() go away unless
>> it's actually used.
>
> That's assuming the fdt and image code doesn't interpret
> CFG_64BIT_VSPRINTF as CFG_BLOAT_ME_HARDER, which it does. So enabling
> CFG_64BIT_VSPRINTF does increase the code size even with --gc-sections.
>
> I think fdt and common/image.c should stop abusing CFG_64BIT_VSPRINTF
> and get its own symbol instead, e.g. CFG_64BIT_PHYS_ADDR, and perhaps a
> nice str_to_addr() wrapper which selects between strtoul and strtoull
> based on this symbol.
Hi Haavard,
fdt and common.image.c don't use CFG_64BIT_VSPRINTF:
$ find . -name "*.c" | xargs grep CFG_64BIT_VSPRINTF
./disk/part.c:#if defined(CFG_64BIT_LBA) && defined(CFG_64BIT_VSPRINTF)
./common/cmd_ide.c:#if defined(CFG_64BIT_LBA) && defined(CFG_64BIT_VSPRINTF)
./common/cmd_ide.c:#if defined(CFG_64BIT_LBA) && defined(CFG_64BIT_VSPRINTF)
./lib_generic/vsprintf.c:#ifdef CFG_64BIT_VSPRINTF
./lib_generic/vsprintf.c:#ifdef CFG_64BIT_VSPRINTF
./lib_generic/vsprintf.c:#ifdef CFG_64BIT_VSPRINTF
./lib_generic/vsprintf.c:#ifdef CFG_64BIT_VSPRINTF
...they use CFG_64BIT_STRTOUL. If a config defines CFG_64BIT_STRTOUL,
it is reasonable that the code uses it. I don't see any disadvantage of
this vs. creating a new CFG_64BIT_PHYS_ADDR (although I would not object
to that being created).
Only a select set of PowerPC targets actually define CFG_64BIT_STRTOUL:
$ find . -name "*.[ch]" | xargs grep CFG_64BIT_STRTOUL
./cpu/mpc85xx/mp.c:#ifdef CFG_64BIT_STRTOUL
./include/configs/MPC8540ADS.h:#define CFG_64BIT_STRTOUL 1
./include/configs/MPC8572DS.h:#define CFG_64BIT_STRTOUL 1
./include/configs/MPC8536DS.h:#define CFG_64BIT_STRTOUL 1
./include/configs/MPC8548CDS.h:#define CFG_64BIT_STRTOUL 1
./include/configs/MPC8568MDS.h:#define CFG_64BIT_STRTOUL 1
./include/configs/MPC8541CDS.h:#define CFG_64BIT_STRTOUL 1
./include/configs/MPC8610HPCD.h:#define CFG_64BIT_STRTOUL 1
./include/configs/MPC8641HPCN.h:#define CFG_64BIT_STRTOUL 1
./include/configs/sbc8641d.h:#define CFG_64BIT_STRTOUL 1
./include/configs/MPC8555CDS.h:#define CFG_64BIT_STRTOUL 1
./include/configs/MPC8560ADS.h:#define CFG_64BIT_STRTOUL 1
./include/configs/MPC8544DS.h:#define CFG_64BIT_STRTOUL 1
./include/ppc4xx.h:#define CFG_64BIT_STRTOUL
./common/cmd_fdt.c:#ifdef CFG_64BIT_STRTOUL
./common/cmd_fdt.c:#ifdef CFG_64BIT_STRTOUL
./common/image.c:#ifdef CFG_64BIT_STRTOUL
./lib_generic/vsprintf.c:#ifdef CFG_64BIT_STRTOUL
./lib_generic/vsprintf.c:#endif /* CFG_64BIT_STRTOUL */
[snip]
Best regards,
gvb
More information about the U-Boot
mailing list