[U-Boot-Users] [PATCH] MPC8641HPCN u-boot.lds problem with ELDK 4.0

Chris Fester cfester at iphase.com
Thu Nov 30 22:09:26 CET 2006


Hi all,

I recently have been attempting to get u-boot working on my MPC8641HPCN
evaulation board (AKA the Argo Navis platform).  I faced a problem
compiling the latest git source with the ELDK 4.0 and getting it to work
on the board.  The processor would run off into the weeds when doing the
command table relocation step in lib_ppc/board.c:633.  After debugging
with a BDI, some head scratching, and a few google searches, it came
down to an issue with the linker, which seems to have been a common
problem in the past for this mail list.  Please see the thread at:
http://sourceware.org/ml/binutils/2005-08/msg00412.html.

The information from that link is what I used to compose the patch
below.

(Synopsis of the above web link - the newer linker needs to be told more
specifically where to put the __u_boot_cmd_start symbol, otherwise it
decides to put other misc symbols between __u_boot_cmd_start and
__u_boot_cmd_end, causing all sorts of funk when iterating through the
command array.)

After I apply this patch the u-boot is hunky-dory and happy.

Happy holidays!  :)
Chris Fester

CHANGELOG
 
* Fix to linker script for mpc8641hpcn platform to enable a correct
    symbol table with ELDK 4.0 linker.


diff --git a/board/mpc8641hpcn/u-boot.lds b/board/mpc8641hpcn/u-boot.lds
index b34de8e..c2f6727 100644
--- a/board/mpc8641hpcn/u-boot.lds
+++ b/board/mpc8641hpcn/u-boot.lds
@@ -120,7 +120,7 @@ SECTIONS
   _edata  =  .;
   PROVIDE (edata = .);

-  __u_boot_cmd_start = .;
+  __u_boot_cmd_start = ADDR(.u_boot_cmd);
   .u_boot_cmd : { *(.u_boot_cmd) }
   __u_boot_cmd_end = .;





More information about the U-Boot mailing list