From: Albert ARIBAUD <albert.aribaud@free.fr>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] ARMv7: Fix linker errors across toolchain versions
Date: Thu, 02 Dec 2010 08:51:09 +0100 [thread overview]
Message-ID: <4CF74FED.2030102@free.fr> (raw)
In-Reply-To: <20101202073437.8C64FEA6600@gemini.denx.de>
Hi Wolfgang,
Le 02/12/2010 08:34, Wolfgang Denk a ?crit :
> Dear Albert ARIBAUD,
>
> In message<4CF743E6.60706@free.fr> you wrote:
>>
>> Starting with the fact that the linker issue is only for one board,
>> omap3_evm, I looked up the board-specific code. First thing that I
>> noticed was
>>
>> static u8 omap3_evm_version;
>>
>> I changed this to
>>
>> static u8 omap3_evm_version = 1;
>>
>> so that the static was moved out of BSS and the linker warning
>> disappeared (reminder: v2010.12-rc2, omap3_evm, arm-2010q1).
>>
>> Now this is not the first static BSS variable we use in U-Boot, and the
>> others did not cause linker warnings (not *all* the others, at least),
>> so the real cause is yet unknown to me. But that's at least a lead we
>> can follow.
>
> Write access is only in omap3_evm_get_revision() which in turn only
> gets called in misc_init_r(), i. e. after relocation.
>
> Read access is only in get_omap3_evm_rev() [which is not called
> outside this file and thus should be made static!] which gets called
> only in omap3_evm_need_extvbus() which gets acalled only in
> musb_platform_init(), i. e. during USB init.
>
> This should be safe.
Alright.
> You could try out what happens if you make get_omap3_evm_rev() static...
No change: the warning remains, and so do the two segments.
Maybe I should subscribe the binutils list and ask there.
Meanwhile, this variable could be initialized to some safe value such as
OMAP3EVM_BOARD_UNKNOWN.
BTW... Why on Earth is it an uint8? Probably a space saving measure, but
one I think is not really fruitful, because of probable paddings and
alignments; making it an int would allow using smsc_id directly as
values for the OMAP3EVM_BOARD_GEN_1 and OMAP3EVM_BOARD_GEN_2...
... plus it removes the linker warning!
I thus suggest turning omap3_evm_version from uint8 to int and get on
with debugging the board.
> Best regards,
>
> Wolfgang Denk
Amicalement,
--
Albert.
next prev parent reply other threads:[~2010-12-02 7:51 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-01 15:17 [U-Boot] [PATCH] ARMv7: Fix linker errors across toolchain versions Sanjeev Premi
2010-12-01 15:58 ` Premi, Sanjeev
2010-12-01 19:55 ` Wolfgang Denk
2010-12-01 17:13 ` Albert ARIBAUD
2010-12-01 17:19 ` Premi, Sanjeev
2010-12-01 17:32 ` Albert ARIBAUD
2010-12-01 18:19 ` Premi, Sanjeev
2010-12-01 18:36 ` Albert ARIBAUD
2010-12-01 18:54 ` Premi, Sanjeev
2010-12-01 21:39 ` Albert ARIBAUD
2010-12-02 6:59 ` Albert ARIBAUD
2010-12-02 7:34 ` Wolfgang Denk
2010-12-02 7:51 ` Albert ARIBAUD [this message]
2010-12-02 8:13 ` Wolfgang Denk
2010-12-02 8:26 ` Albert ARIBAUD
2010-12-02 8:30 ` Premi, Sanjeev
2010-12-02 8:42 ` Albert ARIBAUD
2010-12-02 11:25 ` Premi, Sanjeev
2010-12-02 11:39 ` Wolfgang Denk
2010-12-02 12:45 ` Premi, Sanjeev
2010-12-02 14:00 ` Wolfgang Denk
2010-12-02 8:56 ` Wolfgang Denk
2010-12-02 8:14 ` Premi, Sanjeev
2010-12-02 8:18 ` Premi, Sanjeev
2010-12-01 20:08 ` Wolfgang Denk
2010-12-01 18:23 ` Premi, Sanjeev
2010-12-01 18:28 ` Albert ARIBAUD
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=4CF74FED.2030102@free.fr \
--to=albert.aribaud@free.fr \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.