
On 2/4/2012 8:38 PM, Mike Frysinger wrote:
On Saturday 04 February 2012 22:02:46 Troy Kisky wrote:
--- a/drivers/net/phy/broadcom.c +++ b/drivers/net/phy/broadcom.c
-static struct phy_driver BCM5461S_driver = { +struct phy_driver BCM5461S_driver __phy_entry = {
why do you have to remove the static ? that shouldn't affect the section name that it gets placed into.
I had static to start. But the compiler ate all of the code. No references to any of the static symbols.
--- 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 char ?
- . = ALIGN(4);
- __phy_entry_start = .;
- .phy_entry : {
KEEP(*(.phy_entry))
- }
- __phy_entry_end = .;
might have to introduce a helper macro like Linux's VMLINUX_SYMBOL() since some targets have a symbol prefix (like an underscore) -mike
Hmmm. Your right, grep ___u_boot_cmd_start 0001-RFC-create-u-boot-common.lds.patch
finds that arch/blackfin/cpu/u-boot.lds has an extra "_"
Thanks for pointing it out.
Troy