> -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > On Behalf Of Jean-Christophe PLAGNIOL-VILLARD > Sent: den 26 juli 2008 16:03 > To: Grant Likely > Cc: u-boot-users@lists.sourceforge.net; Wolfgang Denk; vb; Jerry Van Baren; > Haavard Skinnemoen > Subject: Re: [U-Boot-Users] Changing u-boot relocation scheme > > On 01:57 Sat 26 Jul , Grant Likely wrote: > > On Fri, Jul 25, 2008 at 1:28 PM, kenneth johansson <[EMAIL PROTECTED]> > > wrote: > > > I was afraid that what was needed was more or less a complete linker but > > > it looks like if one generate the dynamic reloc table a much simpler > > > linker(relocation function) is needed. Still probably a lot more complex > > > than the GOT and fixup code that is just a loop over a table. We may > > > need a case also ;-) > > > > The GOT relocation works. It works really well. As long as gcc and > > ld put the correct GOT bits into the GOT table. It seems not all > > versions of gcc do it in the same way with the same flags. > > Why not set the code depending on the GCC version?
For fun I had a look into eabi.asm code at http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/eabi.asm?rev=1.13&content-type=text/x-cvsweb-markup and I noticed one difference: The __eabi_uconvert() function skips NULL ptrs. Perhaps this is the missing piece needed in start.S for PPC? __eabi_convert pasted below for convenience. Jocke FUNC_START(__eabi_convert) cmplw 1,3,4 /* any pointers to convert? */ subf 5,3,4 /* calculate number of words to convert */ bclr 4,4 /* return if no pointers */ srawi 5,5,2 addi 3,3,-4 /* start-4 for use with lwzu */ mtctr 5 .Lcvt: lwzu 6,4(3) /* pointer to convert */ cmpwi 0,6,0 beq- .Lcvt2 /* if pointer is null, don't convert */ add 6,6,12 /* convert pointer */ stw 6,0(3) .Lcvt2: bdnz+ .Lcvt blr ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users