[U-Boot] [PATCH v2] net: ne2000: Divided a function of NE2000 driver

Nobuhiro Iwamatsu iwamatsu at nigauri.org
Fri Oct 3 06:39:29 CEST 2008


Hi, all

2008/10/3 Ben Warren <biggerbadderben at gmail.com>:
> Jean-Christophe PLAGNIOL-VILLARD wrote:
>> On 23:07 Wed 01 Oct     , Ben Warren wrote:
>>
>>> Hi Nobuhiro-san,
>>>
>>> Nobuhiro Iwamatsu wrote:
>>>
>>>> get_prom function was used __attriute__ , but it is not enable.
>>>> ax88796.o does not do link besides ne2000.o. When ld is carried
>>>> out, get_prom function of ax88796.c is ignored.
>>>> This problem is a thing by specifications of ld.
>>>> I checked and test this patch on SuperH and MIPS.
>>>>
>>>>
>>> You're seeing a common problem with weak functions - namely that they
>>> don't always get overridden. If there was a single function in ax88796.c
>>> that had strong static linkage there wouldn't be a problem. Using the
>>> weak attribute for get_prom() is an elegant solution that improves code
>>> re-use, so I'm wondering if there's a way it can be made to work.
>>>
>>> If nobody has any suggestions over the next couple of days, I'll pull in
>>> this patch.
>>>
>>> This get_prom() function was set as weak in commit
>>> 2ef7503a593c77a80c2a054011970227c4b62774, labeled " NE2000: Fix
>>> regresssion introduced by e710185aae90 on non AX88796" by
>>> Jean-Christophe PLAGNIOL-VILLARD. It's a shame that this was done
>>> without testing...
>>>
>> The NE2000 is tested every modification and Release on qemu_mips by myself
>>
>> And I've no problem on this board.
>>
> Sorry, I have a hard time believing that this works if you enable
> CONFIG_DRIVER_AX88796L.  Are you sure that the weak get_prom() is
> overridden?

Thank you for your check.

When I enabled CONFIG_DRIVER_AX88796L on SH and MIPS, and checked
ne2000.o by nm,
get_prom is set in WEAK. But get_prom is not linked, and __get_prom is
linked in u-boot.
With the current code, get_prom of AX88796L is not linked.

If need nm and objdump output , I can attach.

Best regards,
 Nobuhiro

-- 
Nobuhiro Iwamatsu


More information about the U-Boot mailing list