From: Mike Frysinger <vapier@gentoo.org>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] [Patch] Disable icache before call the first line of kernel in do_bootelf().
Date: Mon, 28 Jan 2008 21:14:13 -0500 [thread overview]
Message-ID: <200801282114.14393.vapier@gentoo.org> (raw)
In-Reply-To: <20070813155047.C419424041@gemini.denx.de>
On Monday 13 August 2007, Wolfgang Denk wrote:
> in message <200708131052.44472.vapier@gentoo.org> you wrote:
> > so using weak hooks is OK now ? i think it'd be good to migrate all of
> > the
>
> It always has been OK - just nobody bothered to use it. [And I didn't
> even know about it when I started working on PPCBoot.]
>
> > ugly boote/bootm/etc... cruft to external weaks and let arches define
> > their own
>
> Yes, a few #ifdef's can be eliminated that way.
unfortunately, using weak symbols and overriding elsewhere doesnt look like
it's possible currently due to the way ld searches archives. for example, if
i do something like:
common/cmd_elf.c:
__attribute__((weak)) do_bootelf_setup() { ... current code ... }
do_bootelf() {
...
do_bootelf_setup();
...
and then i want to override this with a Blackfin version:
lib_blackfin/bootelf_setup.c:
do_bootelf_setup() { ... }
but since the linking process looks like:
ld ... --start-group ... \
... lib_blackfin/libblackfin.a ... \
... common/libcommon.a ... \
--end-group ...
ld will pick the weak symbol provided by libcommon.a even though a strong
symbol is also available in libblackfin.a :(
so our only realistic options are:
- create another static archive in common/ for weak symbols and specify it
just before libcommon.a
- live with #ifdef's, but minimize the crappy situation by splitting out just
the relevant code so the main bootelf function stays clean
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20080128/a3885df1/attachment.pgp
next prev parent reply other threads:[~2008-01-29 2:14 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-08 5:50 [U-Boot-Users] [Patch] Disable icache before call the first line of kernel in do_bootelf() Sonic Zhang
2007-08-08 6:50 ` Wolfgang Denk
2007-08-08 7:21 ` Michal Simek
2007-08-08 15:47 ` [U-Boot-Users] [Patch] Disable icache before call the firstline " Robin Getz
2007-08-08 15:54 ` Wolfgang Denk
2007-08-08 18:19 ` Stefan Roese
2007-08-08 7:33 ` [U-Boot-Users] [Patch] Disable icache before call the first line " Sonic Zhang
2007-08-08 15:41 ` Wolfgang Denk
2007-08-13 14:52 ` Mike Frysinger
2007-08-13 15:50 ` Wolfgang Denk
2007-08-13 16:21 ` Mike Frysinger
2008-01-29 2:14 ` Mike Frysinger [this message]
2008-01-29 22:35 ` Wolfgang Denk
2008-01-30 0:12 ` Mike Frysinger
2008-01-30 15:36 ` Johannes Stezenbach
2008-02-01 15:42 ` Mike Frysinger
2008-02-01 15:44 ` [U-Boot-Users] [patch] allow ports to override bootelf behavior Mike Frysinger
2008-04-13 22:01 ` Wolfgang Denk
2008-02-01 15:58 ` [U-Boot-Users] [patch] allow ports to override go behavior Mike Frysinger
2008-02-01 16:36 ` Mike Frysinger
2008-04-13 22:01 ` Wolfgang Denk
2008-04-13 22:01 ` Wolfgang Denk
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=200801282114.14393.vapier@gentoo.org \
--to=vapier@gentoo.org \
--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.