[U-Boot] [PATCH 2/2] RFC: Let linker create phy array
Troy Kisky
troy.kisky at boundarydevices.com
Mon Feb 6 19:48:13 CET 2012
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
More information about the U-Boot
mailing list