From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kenneth Johansson Date: Wed, 09 Apr 2008 16:46:53 +0200 Subject: [U-Boot-Users] Fixup entries In-Reply-To: <1207740219.5826.71.camel@gentoo-jocke.transmode.se> References: <1207733537.6954.32.camel@localhost.localdomain> <1207740219.5826.71.camel@gentoo-jocke.transmode.se> Message-ID: <1207752413.6954.52.camel@localhost.localdomain> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Wed, 2008-04-09 at 13:23 +0200, Joakim Tjernlund wrote: > On Wed, 2008-04-09 at 11:32 +0200, Kenneth Johansson wrote: > > What is the fixup section used for ? > > > > of the 274 cards that build on my MAKEALL not one has any entries into > > this section. > > These are needed for relocation of function pointers(and possible some > think more). There was an attempt by Grant Likely to enable this > functionalty, but some toolchains had problems with so the function > was disabled. If you undo commit > 1c3dd43338a077165e7e0309cb3994e65d2bdbf8 you will enable it again for > powerpc. > > Jocke aaahhaa so that is how it's working. I remember having problem understanding this when I did the command section and ended up doing a manual relocation of the command table. But compiling with -mrelocatable and going over the .fixup section instead I can now remove that extra code and it works fine. It's not easy to understand the ABI. I removed the -fPIC and only used -mrelocatable and that works too. Wonder if there is something else in u-boot that use function pointers and work by accident due to the fact that the old address in flash is still valid. --- `-mrelocatable' `-mno-relocatable' On embedded PowerPC systems generate code that allows (does not allow) the program to be relocated to a different address at runtime. If you use `-mrelocatable' on any module, all objects linked together must be compiled with `-mrelocatable' or `-mrelocatable-lib'.