From: Scott Wood <scottwood@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [U-Boot, v2] env: don't generate callback list entries for SPL
Date: Fri, 8 Mar 2013 18:35:04 -0600 [thread overview]
Message-ID: <1362789304.29198.9@snotra> (raw)
In-Reply-To: <513A5143.5030609@ti.com> (from trini@ti.com on Fri Mar 8 14:59:47 2013)
On 03/08/2013 02:59:47 PM, Tom Rini wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 03/08/2013 03:34 PM, Scott Wood wrote:
> > On 03/08/2013 02:27:48 PM, Tom Rini wrote:
> >> On Thu, Dec 20, 2012 at 11:51:05AM -0000, Scott Wood wrote:
> >>
> >>> SPL doesn't write to the environment. These list entries
> >>> prevent the functions from being garbage-collected, even
> >>> though nothing will
> >> look at
> >>> the list. This caused several SPL builds (e.g.
> >>> P2020RDB-PC_NAND) to break due to size limitations and/or
> >>> unresolved symbols.
> >>>
> >>> A static inline function is used to provide a context in which
> >>> we can consume the callback, and thus avoid unused function
> >>> warnings.
> >>>
> >>> Signed-off-by: Scott Wood <scottwood@freescale.com> Acked-by:
> >>> Joe Hershberger <joe.hershberger@gmail.com> Acked-by: Kim
> >>> Phillips <kim.phillips@freescale.com>
> >>
> >> OK, this isn't quite right. On am335x_evm where SPL does use the
> >> "full" version of the environment, rather than the restricted
> >> version that say a3m071 we need these these callbacks to be
> >> generated. We usually build successfully since in these cases
> >> our #include of <u-boot.lst> picks up the one in include that the
> >> main SPL generates. But with enough cores we build SPL before
> >> we build this list for non-SPL, and the build fails. I shall
> >> submit a patch shortly for this.
> >
> > What does am335x_evm do in the SPL that requires modifying the
> > environment, and how does omitting the callbacks cause a build
> > break?
>
> It requires the full network stack which in turn means we can't just
> discard most of the environment related functions. And some parts of
> the callback infrastructure aren't opt-in'able.
I still don't follow -- the only effect of this patch should be that
the callbacks don't get called, which is only relevant when writing to
the environment. We're not ripping out anything, just declining to
reference the callback functions. If something else still references
them, they'll be retained.
> > The u-boot.lst issue sounds unrelated to this patch.
>
> The problem is undefined references at link time to
> _u_boot_env_clbk__start/__end from common/env_callbacks.c where it
> tries to look at our empty list of callbacks (we are able to discard
> all of those).
Why would eliminating all individual callbacks cause start/end to go
away? If that's the way the list mechanism works, the mechanism needs
fixing.
> And part of the issue is that we're always using the
> wrong u-boot.lst file for SPL. It's just that in most cases the wrong
> one (the main U-Boot one) is also fine enough for SPL since it's just
> a few extra symbols and we aren't so constrained for space that we've
> noticed.
That sounds familiar: a6d0f62a0ccac7669b1efe320e28c276b1b8084b
:-)
-Scott
next prev parent reply other threads:[~2013-03-09 0:35 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-20 21:51 [U-Boot] [PATCH v2] env: don't generate callback list entries for SPL Scott Wood
2012-12-20 22:49 ` Kim Phillips
2012-12-22 15:19 ` Tom Rini
2013-03-08 20:27 ` [U-Boot] [U-Boot, " Tom Rini
2013-03-08 20:34 ` Scott Wood
2013-03-08 20:59 ` Tom Rini
2013-03-09 0:35 ` Scott Wood [this message]
2013-03-12 15:30 ` Tom Rini
2013-03-12 16:55 ` Scott Wood
2013-03-12 17:02 ` Tom Rini
2013-03-12 17:06 ` Scott Wood
2013-03-12 17:19 ` Albert ARIBAUD
2013-03-12 17:47 ` Tom Rini
2013-03-12 22:07 ` Albert ARIBAUD
2013-03-13 18:40 ` Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1362789304.29198.9@snotra \
--to=scottwood@freescale.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox