Le 05/02/2012 21:40, Mike Frysinger a écrit :
On Sunday 05 February 2012 08:26:57 Albert ARIBAUD wrote:
Le 05/02/2012 04:38, Mike Frysinger a écrit :
On Saturday 04 February 2012 22:02:46 Troy Kisky wrote:
--- a/include/phy.h
+++ b/include/phy.h
+extern struct phy_driver __phy_entry_start, __phy_entry_end;
linker symbols should be declared like:
extern char __phy_entry_start[];
Why should they?
because that's what the GNU linker documentation says to, and that's how all
existing symbols have been handled. look at asm/sections.h in every Linux
arch.
Does it? What I read from
<http://sourceware.org/binutils/docs-2.22/ld/Source-Code-Reference.html#Source-Code-Reference>
never says that linker-defined symbols should be declared in source code
as char[]; actually, it gives examples where linker-defined symbols are
defined with types int and char, not char[].
What the section says, OTOH, is that one must remember that the linker
will not allocate space for a symbol unless explicitly instructed to, so
such symbols my not have meaningful values, only addresses, and the code
should access these symbols by address -- which is what is being done in
the code of the RFC patch IIUC.
-mike
Amicalement,
--
Albert.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot