[U-Boot] [PATCH] ARM: Fix __bss_start and __bss_end in linker scripts
Albert ARIBAUD
albert.u.boot at aribaud.net
Mon Apr 8 22:05:08 CEST 2013
Hi Tom,
On Mon, 8 Apr 2013 15:56:12 -0400, Tom Rini <trini at ti.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 04/08/2013 03:03 PM, Albert ARIBAUD wrote:
> > Hi Tom,
> >
> > On Fri, 5 Apr 2013 16:23:30 -0400, Tom Rini <trini at ti.com> wrote:
> >
> >> On Fri, Apr 05, 2013 at 10:04:02PM +0200, Albert ARIBAUD wrote:
> >>
> >>> The two general ideas of my proposal are:
> >>>
> >>> 1) to separate testing the image (text,data,rodata,lists) size
> >>> on the one hand and the image BSS size on the other hand, and
> >>>
> >>> 2) to consider that if a target defines an image max size and a
> >>> BSS max size, then the image max size does not include the BSS
> >>> size ; and if it defined an image max size but no BSS max size,
> >>> then the image max size includes the BSS.
> >>>
> >>> The first idea allows boards with disjoint image and BSS to
> >>> still check eahc part's size, a thing not feasible with the
> >>> current code; the second idea allows fewer changes, but if one
> >>> wants CONFIG_SPL_MAX_SIZE to have a strict meaning, we can drop
> >>> idea #2 and still keep idea #1.
> >>
> >> Make it so, thanks!
> >
> > Just a quick heads up: in the little time I could spare this
> > week-end, I analyzed the SPL image vs BSS max sizes issue, and the
> > following appeared:
> >
> >
> > 1. File arch/arm/cpu/u-boot.lds has an ASSERT() regarding SPL even
> > though it is never used for building SPL (tested by replacing the
> > ASSERT() condition by 0 and building all of ARM).
> >
> > 2. Several boards use arch/arm/cpu/u-boot-spl.lds, which has an
> > ASSERT() wrongly comparing image+BSS size to image-only
> > CONFIG_SPL_MAX_SIZE. Fixing the linker file will fix all tegra
> > boards as well as the exynos origen and smdkv310.
> >
> > Note: the tegra-common.h config file states a non-existent .lds
> > file for SPL.
>
> I was wondering about #1 and the tegra bit too, but thought there must
> be magic I'm missing.
The tegra ones got me triple-checking, but yes, the config-specified lds
file is ignored and the build defaults to the generic ARM lds file.
> > 3. Boards cam_enc_4xx, da850evm, smdk5250 and snow all define
> > maximum SPL size to include image and BSS. These must be split
> > arbitrarily; I have chosen values that fit sizes from current build
> > results.
>
> In all of the first two, it's limit on overall size
> (text/data/rodata/bss).
Not sure I understand you there. Anyway the patches are out, so best is
you comment directly on the changes.
Amicalement,
--
Albert.
More information about the U-Boot
mailing list