From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Warren Date: Wed, 01 Oct 2008 23:07:43 -0700 Subject: [U-Boot] [PATCH v2] net: ne2000: Divided a function of NE2000 driver In-Reply-To: <48E1C10D.6050903@renesas.com> References: <48E1C10D.6050903@renesas.com> Message-ID: <48E4652F.7010005@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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... regards, Ben