On 10/18/2012 02:36 PM, Albert ARIBAUD wrote: > Hi Stephen, > > On Wed, 17 Oct 2012 21:17:45 -0600, Stephen Warren > <swar...@wwwdotorg.org> wrote: > >> On 10/17/2012 05:58 PM, Simon Glass wrote: >>> Hi Stephen, >>> >>> On Tue, Oct 16, 2012 at 2:50 PM, Stephen Warren <swar...@wwwdotorg.org> >>> wrote: >>>> From: Stephen Warren <swar...@nvidia.com> >>>> >>>> When -ffunction-sections or -fdata-section are used, symbols are placed >>>> into sections such as .data.eserial1_device and .bss.serial_current. >>>> Update the linker script to explicitly include these. Without this >>>> change (at least with my gcc-4.5.3 built using crosstool-ng), I see that >>>> the sections do end up being included, but __bss_end__ gets set to the >>>> same value as __bss_start. >>>> >>>> Signed-off-by: Stephen Warren <swar...@nvidia.com> >>>> --- >>>> This series fixes an SPL size overflow problem on Tegra. Tom Warren is >>>> out on vacation until Oct 25th, so he certainly won't be able to review >>>> this. Perhaps it could be applied directly to the ARM tree if enough >>>> Tegra people ack the series? >>>> >>>> Note that this series is not enough to make Tegra support work; either >>>> you must hack ./arch/arm/cpu/arm720t/tegra-common/spl.c to call >>>> serial_initialize() right before serial_init() in preloader_console_init() >>>> or wait for Allen Martin to rework Tegra's SPL support using the common >>>> SPL code. >>> >>> Are you going to submit a patch to enable function-sections, or is >>> that a separate discussion? >> >> For the SPL on Tegra, those flags were already on; this patch fixes a >> bug rather than prepares for new functionality. >> >>>> diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds >> >>>> - .u_boot_cmd : { *(.u_boot_cmd) } >>>> + .u_boot_cmd : { *(.u_boot_cmd*) } >>> >>> I don't think this line is needed? >>> >> ... >>>> - *(.dynsym) >>>> + *(.dynsym*) >>> >>> Nor this one? >> >> Possibly. I changed all the section names to be future-proof. Perhaps a >> more targeted patch is warranted. > > Has this been (at least build-)tested on all boards which have > -ffunction-sections or -fdata-sections?
Yes; those flags both appear to be turned on when building the SPL for Tegra (although strangely, not when building the main U-Boot): xxx-gcc -M -g -Os -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -ffunction-sections -fdata-sections -DCONFIG_SYS_TEXT_BASE=0x0010c000 -DCONFIG_SPL_TEXT_BASE=0x00108000 -DCONFIG_SPL_BUILD -I/home/swarren/shared/git_wa/u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem xxx -pipe -DCONFIG_ARM -D__ARM__ -marm -mno-thumb-interwork -mabi=aapcs-linux -march=armv4 -mtune=arm7tdmi -MQ xxx/spl/arch/arm/cpu/arm720t/interrupts.o interrupts.c > xxx/spl/arch/arm/cpu/arm720t/.depend.interrupts _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot