[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