From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] arm: Don't use printf() in SPL builds
Date: Thu, 15 Mar 2012 06:13:34 +0100 [thread overview]
Message-ID: <4F617A7E.9020802@denx.de> (raw)
In-Reply-To: <CAPnjgZ2zEN9+NFU88QtUVcaq-A=b3k4H=EJWfw95tLojK8Lqag@mail.gmail.com>
Hello Simon,
Simon Glass wrote:
> Hi Sughosh,
>
> On Sat, Mar 10, 2012 at 12:33 AM, Sughosh Ganu <urwithsughosh@gmail.com> wrote:
>> hi Simon,
>>
>> On Sat Mar 03, 2012 at 12:33:15PM -0800, Simon Glass wrote:
>>> raise() likes to call printf() if it is available, but in SPL builds it
>>> either is not available, or adds a large chunk to the resulting image
>>> size.
>>>
>>> So don't call it even if it is available.
>>>
>>> This change reduces SPL size from 10KB to 6.3KB on hawkboard, for
>>> example, using generic relocation.
>>>
>>> Signed-off-by: Simon Glass <sjg@chromium.org>
>>> ---
>>> arch/arm/lib/eabi_compat.c | 3 ++-
>>> 1 files changed, 2 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/arch/arm/lib/eabi_compat.c b/arch/arm/lib/eabi_compat.c
>>> index 2028dbd..44eebe0 100644
>>> --- a/arch/arm/lib/eabi_compat.c
>>> +++ b/arch/arm/lib/eabi_compat.c
>>> @@ -13,7 +13,8 @@
>>>
>>> int raise (int signum)
>>> {
>>> -#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT)
>>> + /* Even if printf() is available, it's large. Punt it for SPL builds */
>>> +#if !defined(CONFIG_SPL_BUILD)
>>> printf("raise: Signal # %d caught\n", signum);
>>> #endif
>> I tested with this change on hawkboard, and after applying this
>> change, the spl size increase is 412 bytes against the 4k increase
>> that we get with libcommon changes introduced. So this patch works
>> fine.
>
> OK good.
>
>> Can you please check if libcommon support is needed for the
>> cam_enc_4xx board -- your relocation patch series did not add
>> CONFIG_SPL_LIBCOMMON_SUPPORT to this board. This will affect my
>> patch to initialise gd and bd objects for hawkboard. Please let me
>> know, and i will spin a patch accordingly.
>
> Yes I think this board needs both of these:
>
> #define CONFIG_SPL_LIBCOMMON_SUPPORT
> #define CONFIG_SPL_LIBGENERIC_SUPPORT
I posted a patch, which adds CONFIG_SPL_LIBGENERIC_SUPPORT, see
http://patchwork.ozlabs.org/patch/145280/
for this board. Build/works fine without CONFIG_SPL_LIBCOMMON_SUPPORT
maybe I miss something?
Builded with ELDK-4.2 and ELDK-5.1 based on commit:
commit e37ae40e9dec9af417c19de72f76becebf160730
Author: Stephen Warren <swarren@nvidia.com>
Date: Tue Nov 1 06:28:21 2011 +0000
image: Support FDTs already loaded at their load address
bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
next prev parent reply other threads:[~2012-03-15 5:13 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-03 20:33 [U-Boot] [PATCH] arm: Don't use printf() in SPL builds Simon Glass
2012-03-05 8:21 ` Stefan Roese
2012-03-10 8:33 ` Sughosh Ganu
2012-03-15 3:47 ` Simon Glass
2012-03-15 5:13 ` Heiko Schocher [this message]
2012-03-15 5:23 ` Simon Glass
2012-03-15 5:29 ` Heiko Schocher
2012-03-15 7:37 ` Christian Riesch
2012-03-15 16:23 ` Simon Glass
2012-03-16 18:20 ` Sughosh Ganu
2012-05-07 12:28 ` Stefan Roese
2012-05-07 22:51 ` 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=4F617A7E.9020802@denx.de \
--to=hs@denx.de \
--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