[U-Boot-Users] GCC3.4.0 Coldfire 52xx Build problems

Teun Grinwis teun at adesys.nl
Fri Aug 5 10:10:10 CEST 2005


Thanks for your time Murray,

but ... it didn't workout successful.

but, the reason for my problems is the gcc version.
I now compiled with version 2.95.3 from:
http://www.uclinux.org/pub/uClinux/m68k-elf-tools/m68k-elf-tools-20030314.sh

I have some minor compile problem
( var declaration in middle of compound statement)

I am able to build u-boot.srec with use of patch below.

Here is patch:
--- common/cmd_flash.c.orig     2005-08-05 09:56:58.659430808 +0200
+++ common/cmd_flash.c  2005-08-05 09:55:34.344248664 +0200
@@ -117,11 +117,11 @@
 addr_spec(char *arg1, char *arg2, ulong *addr_first, ulong *addr_last)
 {
        char *ep;
+       char len_used = 0; /* indicates if the "start +length" form used */
        *addr_first = simple_strtoul(arg1, &ep, 16);
        if (ep == arg1 || *ep != '\0')
                return -1;

-       char len_used = 0; /* indicates if the "start +length" form used */
        if (arg2 && *arg2 == '+'){
                len_used = 1;
                ++arg2;
@@ -132,6 +132,8 @@
                return -1;

        if (len_used){
+               char found = 0;
+               ulong bank;
                /*
                 * *addr_last has the length, compute correct *addr_last
                 * XXX watch out for the integer overflow! Right now it is
@@ -146,8 +148,6 @@
                 */

                /* find the end addr of the sector where the *addr_last is
*/
-               char found = 0;
-               ulong bank;
                for (bank = 0; bank < CFG_MAX_FLASH_BANKS && !found;
++bank){
                        int i;
                        flash_info_t *info = &flash_info[bank];



On Thu, 04 Aug 2005 12:31:27 +0200, Wolfgang Denk writes:
>In message <OKECIIPCKHCPJAOEEJNMMEONCAAA.teun at adesys.nl> you wrote:
>> Is then main reason for this problems that I use GCC3.4.0 toolchain ??
>Probably.

I use GCC-3.4.3 to build U-Boot for our MPC8560 based board. I had an
internal linker error which I traced to the following in my linker script:

  . = + SIZEOF_HEADERS;

I changed this to:

  . = + 1024;

and it prevented the core dump in the linker.

Best Regards,

Teun Grinwis





More information about the U-Boot mailing list