[U-Boot] [PATCH v2 04/11] net: tftpput: Add support for receiving ICMP packets

Simon Glass sjg at chromium.org
Thu Oct 27 16:48:30 CEST 2011


Hi Wolfgang,

On Wed, Oct 26, 2011 at 10:11 PM, Wolfgang Denk <wd at denx.de> wrote:
> Dear Simon Glass,
>
> In message <CAPnjgZ11LhBs9W8-GCYYEy2=A1CrCoe-17sz3RK1Q1fPhedL=g at mail.gmail.com> you wrote:
>>
>> > /work/wd/tmp-ppc/u-boot.lds:69 cannot move location counter backwards
>> > (from 4000815c to 40008000)
>>
>> I did see this in my testing, but it seemed to happen even without my
>> changes, so I assumed it was just broken. Are you sure it built
>> recently? If so please give me a commit hash so I can try it. The last
>> one I can find is a year ago 2ae1824. I tried about 6 other commits
>> since then and it doesn't always always fail with the same error.
>
> I ran git bisect to detect it.  f75dd58 was a known to be clean commit
> before adding your patches.

OK this was a toolchain problem. My 4.4.4 (from Mike) will not build
it (although with the patch series I am about to send it seems to be
only 4 bytes over):

toolchains/powerpc-linux/bin/powerpc-linux-gcc -v
Using built-in specs.
Target: powerpc-linux
Configured with: /home/tony/buildall/src/gcc/configure
--target=powerpc-linux --enable-targets=all
--prefix=/opt/cross/gcc-4.4.4-nolibc/powerpc-linux/
--enable-languages=c --with-newlib --without-headers
--enable-sjlj-exceptions --with-system-libunwind --disable-nls
--disable-threads --disable-shared --disable-libmudflap
--disable-libssp --disable-libgomp --disable-decimal-float
--enable-checking=release --with-mpfr=/home/tony/buildall/src/sys
--with-gmp=/home/tony/buildall/src/sys
Thread model: single
gcc version 4.4.4 (GCC)

but ELDK 4.2 does:

Reading specs from /opt/eldk-4.2/usr/bin/../lib/gcc/powerpc-linux/4.2.2/specs
Target: powerpc-linux
Configured with:
/opt/eldk/build/ppc-2008-04-01/work/usr/src/denx/BUILD/crosstool-0.43/build/gcc-4.2.2-glibc-20070515T2025-eldk/powerpc-linux/gcc-4.2.2/configure
--target=powerpc-linux --host=i686-host_pc-linux-gnu
--prefix=/var/tmp/eldk.UZpAG7/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/powerpc-linux
--disable-hosted-libstdcxx
--with-headers=/var/tmp/eldk.UZpAG7/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/powerpc-linux/powerpc-linux/include
--with-local-prefix=/var/tmp/eldk.UZpAG7/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/powerpc-linux/powerpc-linux
--disable-nls --enable-threads=posix --enable-symvers=gnu
--enable-__cxa_atexit --enable-languages=c,c++,java --enable-shared
--enable-c99 --enable-long-long --without-x
Thread model: posix
gcc version 4.2.2


>
>> The problem seems to be due to these lines in the .lds file for the board:
>>
>>     net/libnet.o                      (.text*)
>>     drivers/rtc/librtc.o              (.text*)
>>
>>     . = env_offset;
>>     common/env_embedded.o             (.text*)
>>
>> The env_offset is probably too small as the net code has increased in
>> size by about 600 bytes over the year.
>
> The question is - why does your patch increase the code size?  These
> boards do not enable the new tftpput feature, so they should not be
> affected.
>
>> There are other things that can be done in net to reduce code size.
>
> I'm not struggeling for each and every byte, but your patches here
> should not add code size to any boards that do not enable this new
> feature.

OK I have updated the series to be a bit more aggressive on the #ifdefs.

Regards,
Simon

>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> When all is said and done, more is said than done.
>


More information about the U-Boot mailing list