[U-Boot] MAKEALL ml507_flash return "Not enough room for programheaders" error

Benny Chen benny.chen at groundprobe.com
Wed Nov 5 06:10:00 CET 2008


Hi Ricardo,

Thanks for helping with this issue.  My real option is to do a long jump to the _start code.   However, I am not familiar with the PPC assembler hence, I am not able to get the longcall working.

_start is written in assembler in cpu/ppc_4xx/start.S therefore, I need to do a longcall from assembler which I am not sure how to do.  Could you please help advise on how I can do a longcall in assembler?

Further, investigation I found that the other option is to do a function pointer call to _start.  When written in C this should force the use of the CTR register which is 32-bit to hold the _start address.  But I don't know how to do this in assembler.  If you have any idea on this it would be much appreciated.


Thanks once again mate.

Regards,
Benny


-----Original Message-----
From: Ricardo [mailto:ricardo.ribalda at gmail.com]
Sent: Tue 04/11/2008 19:13
To: Benny Chen
Cc: u-boot at lists.denx.de
Subject: Re: [U-Boot] MAKEALL ml507_flash return "Not enough room for programheaders" error
 
Hello Benny

  Maybe if you move your _start to the booptg section you will solve
your problem.... or you can also modify the jump to be a long jump.


              Best regards

On Tue, Nov 4, 2008 at 06:11, Benny Chen <benny.chen at groundprobe.com> wrote:
> Hi Ricardo,
> Changing my tool chain to the ELDK 4.2 ppc-linux-x86 does build the
> default ml507_flash project.  However, because my hardware design does
> not map the FLASH chip to 0xFE000000 but to 0x86000000 the build failed
> with the following error.
>
> /******************************/
> cpu/ppc4xx/start.o: In function `rsttlb':
>
> /usr/local/groundprobe/src/Bootloader/u-boot/cpu/ppc4xx/start.S:493:
> relocation truncated to fit: R_PPC_REL24 against symbol `_start' defined
> in .text section in cpu/ppc4xx/start.o
> /*****************************/
>
> I think this issue maybe to do with the 24bit branch address limit with
> the PPC440x5 core. Here the _start_440 function calls a "b _start" and
> in this case the _start is mapped to flash in address 0x8600xxxx.
> Meaning we now need to branch from 0xFFFFFxxx to 0x8600xxxx.  I think
> this is why the linker failed at the last stage.
>
> Does anyone have any idea with this issue?
>
> Regards,
> Benny
>
> -----Original Message-----
> From: Ricardo [mailto:ricardo.ribalda at gmail.com]
> Sent: Monday, 3 November 2008 6:26 PM
> To: Benny Chen
> Cc: u-boot at lists.denx.de
> Subject: Re: [U-Boot] MAKEALL ml507_flash return "Not enough room for
> programheaders" error
>
> Hello Benny
>
>  I have just checkout the build of the ml507_flash and works ok for me
>
> ricardo at aragorn:~/curro/qtec/u-boot$ ./MAKEALL ml507_flash
> Configuring for ml507 board...
>   text    data     bss     dec     hex filename
>  202132   10476   30032  242640   3b3d0 ./u-boot
>
>
>  I remember that when I was using another toolchain the final link
> failed (but showing different error). Try with another toochain, I am
> using one produced by OpenEmbedded, but you will get the same results
> with the ELDK
>
>
>  Best regards
>
>
>
> On Mon, Nov 3, 2008 at 07:59, Benny Chen <benny.chen at groundprobe.com>
> wrote:
>> Hi there,
>>
>> I am trying to build a U-Boot image for the ML507 board running from
>> FLASH and got the "Not enough room for program headers" error.
>>
>>
>>
>> The main difference for my setup is the toolchain.  I am using the
>> powerpc-eabi-ld linker from Xilinx's EDK tool chain to build the
>> ml507_flash design for U-Boot.
>>
>>
>>
>> I have seen a patch on the linker script for the mpc8555cds board and
>> tried adding the patch to the Xilinx/ppc440-generic/u-boot-rom.lds but
>> got the "relocation truncated to fit R_PPC_REL24" error.
>>
>> Before going further with debugging this problem, I would like to
> check
>> if this problem is due to the powerpc-eabi tool chain from Xilinx?
>>
>>
>>
>> Thanks for your help.
>>
>>
>>
>> Regards,
>>
>> Benny
>>
>>
>>
>> $ ./MAKEALL ml507_flash
>>
>> Configuring for ml507 board...
>>
>> powerpc-eabi-ld: u-boot: Not enough room for program headers
> (allocated
>> 2, need 5)
>>
>> powerpc-eabi-ld: final link failed: Bad value
>>
>> make: *** [u-boot] Error 1
>>
>> size: './u-boot': No such file
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot
>>
>>
>
>
>
> --
> Ricardo Ribalda
> http://www.eps.uam.es/~rribalda/
>



-- 
Ricardo Ribalda
http://www.eps.uam.es/~rribalda/



More information about the U-Boot mailing list