From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerry Van Baren Date: Fri, 25 Jul 2008 13:02:33 -0400 Subject: [U-Boot-Users] Changing u-boot relocation scheme In-Reply-To: <1217003489.7972.33.camel@duo> References: <20080724185734.6d79c419@hskinnemo-gx745.norway.atmel.com> <20080725042816.4F8B1248A5@gemini.denx.de> <20080725111041.4c0b925a@siona.local> <1216986958.17719.13.camel@duo> <20080725141909.4a635af0@siona.local> <1216996436.7972.14.camel@duo> <20080725172334.13ee6301@siona.local> <1217003489.7972.33.camel@duo> Message-ID: <488A0729.1070306@ge.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de kenneth johansson wrote: > On Fri, 2008-07-25 at 17:23 +0200, Haavard Skinnemoen wrote: [snip] >> There will obviously be a fair amount of arch-specific code required to >> make the actual relocation work though. > > So the gain of using dynamic relocation is that we have fever relocation > types to implement and objcopy is not going to strip away the relocation > section as it do for non dynamic relocs. > > still the code to actually do the relocation is architecture dependent > and non existing. At least for powerpc we have a much easier option of > having gcc generate a fixup table. EVERYTHING *already* exists, we just aren't using it right. That is what the elf loader does in a "normal" system. Grant did it on the PowerPC architecture - look at the archives, he didn't write new code for this, it's already in there. Here is the reversion back to the old way: If you un-revert it (re-revert it?), you will have what Grant did. For some set of PowerPC platforms, it Just Works[tm]. For other architectures and platforms, start from this and make it work. Note the list of changed files - no source file changes in it: board/cogent/u-boot.lds | 1 + board/hymod/u-boot.lds | 1 + board/mousse/u-boot.lds | 1 + board/rsdproto/u-boot.lds | 1 + cpu/mpc512x/config.mk | 2 +- cpu/mpc5xx/config.mk | 2 +- cpu/mpc5xx/u-boot.lds | 1 + cpu/mpc5xxx/config.mk | 2 +- cpu/mpc5xxx/u-boot-customlayout.lds | 1 + cpu/mpc5xxx/u-boot.lds | 1 + cpu/mpc8220/config.mk | 2 +- cpu/mpc8220/u-boot.lds | 1 + cpu/mpc824x/config.mk | 2 +- cpu/mpc824x/u-boot.lds | 1 + cpu/mpc8260/config.mk | 2 +- cpu/mpc8260/u-boot.lds | 1 + cpu/mpc83xx/config.mk | 2 +- cpu/mpc83xx/u-boot.lds | 1 + include/common.h | 8 -------- 19 files changed, 18 insertions(+), 15 deletions(-) Best regards, gvb