From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Warren Date: Wed, 26 Nov 2008 11:42:12 -0800 Subject: [U-Boot] weak functions not being over-ridden (location dependent) In-Reply-To: <492DA460.9070404@gmail.com> References: <492D3AD5.3080400@gmail.com> <3efb10970811260501h6dcf87b9idf3d80981ceee07b@mail.gmail.com> <20081126151236.F0298834B020@gemini.denx.de> <492DA460.9070404@gmail.com> Message-ID: <492DA694.2050606@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 Graeme, Graeme Russ wrote: > Wolfgang Denk wrote: > >> Dear Remy, >> >> In message <3efb10970811260501h6dcf87b9idf3d80981ceee07b@mail.gmail.com> you wrote: >> >>>> I have a very strange problem - I am trying to define a weak function, but >>>> whether or not the function is overridden depends on where I put the >>>> overriding function. Case in point: >>>> >>> You are not the only one, I have seen this also with the LED interface >>> in U-boot. >>> >> I think this has been answered before: it doesn't work when the >> functions are in libraries. It only works when the respective >> functions are in explicitely linked object files. >> >> >> > This doesn't seem right - reset_cpu () will be in a library no matter where > I put it (either libsc520.a or libeNET.a) > Is the overriding function the only one in the source file (and thus the object file)? I've found that overriding functions will link only if there's other code in the source file that is strongly-linked. regards, Ben