[RFC PATCH u-boot 00/12] U-Boot LTO (Sandbox + ARM Nokia RX-51)

Pali Rohár pali at kernel.org
Sat Mar 6 22:38:52 CET 2021


On Saturday 06 March 2021 22:19:22 Marek Behun wrote:
> On Sat, 6 Mar 2021 22:00:45 +0100
> Pali Rohár <pali at kernel.org> wrote:
> 
> > On Saturday 06 March 2021 21:54:00 Marek Behun wrote:
> > > On Sat, 6 Mar 2021 21:41:14 +0100
> > > Pali Rohár <pali at kernel.org> wrote:
> > >   
> > > > On Saturday 06 March 2021 15:08:13 Tom Rini wrote:  
> > > > > Perhaps we'll default to yes on some SoCs.  The omap3 thing is a bit
> > > > > odd, but we'll see what happens on real N900 hardware.    
> > > > 
> > > > Hello!
> > > > 
> > > > Could you send me a link to git repo / branch and tell me from which
> > > > commit should I do tests on real N900 hardware? I will test it and let
> > > > you know results.
> > > > 
> > > > Adding maemo ML to the loop as on the maemo list are more people with
> > > > N900 HW and U-Boot.  
> > > 
> > > https://github.com/elkablo/u-boot branch lto  
> > 
> > Sorry, compilation is failing :-(
> > 
> > $ git clone https://github.com/elkablo/u-boot -b lto --depth=100
> > Cloning into 'u-boot'...
> > remote: Enumerating objects: 33644, done.
> > remote: Counting objects: 100% (33644/33644), done.
> > remote: Compressing objects: 100% (20116/20116), done.
> > remote: Total 33644 (delta 15838), reused 19947 (delta 13018), pack-reused 0
> > Receiving objects: 100% (33644/33644), 26.28 MiB | 10.21 MiB/s, done.
> > Resolving deltas: 100% (15838/15838), done.
> > 
> > $ cd u-boot
> > 
> > $ make CROSS_COMPILE=arm-linux-gnueabi- nokia_rx51_config
> >   HOSTCC  scripts/basic/fixdep
> >   HOSTCC  scripts/kconfig/conf.o
> >   YACC    scripts/kconfig/zconf.tab.c
> >   LEX     scripts/kconfig/zconf.lex.c
> >   HOSTCC  scripts/kconfig/zconf.tab.o
> >   HOSTLD  scripts/kconfig/conf
> > #
> > # configuration written to .config
> > #
> > 
> > $ make CROSS_COMPILE=arm-linux-gnueabi- u-boot.bin
> > ...
> >   LTO     u-boot
> > /usr/lib/gcc-cross/arm-linux-gnueabi/8/../../../../arm-linux-gnueabi/bin/ld: /usr/lib/gcc-cross/arm-linux-gnueabi/8/../../../../arm-linux-gnueabi/bin/ld: DWARF error: offset (1258291444) greater than or equal to .debug_str size (676)
> > /usr/lib/gcc-cross/arm-linux-gnueabi/8/../../../../arm-linux-gnueabi/bin/ld: DWARF error: offset (1459618036) greater than or equal to .debug_str size (676)
> > /usr/lib/gcc-cross/arm-linux-gnueabi/8/../../../../arm-linux-gnueabi/bin/ld: DWARF error: could not find abbrev number 48028
> > /tmp/cc8l0QSQ.ltrans3.ltrans.o: in function `omap3_set_aux_cr_secure':
> > <artificial>:(.text+0x6eb8): undefined reference to `do_omap3_emu_romcode_call'
> > collect2: error: ld returned 1 exit status
> > make: *** [Makefile:1808: u-boot] Error 1
> > 
> > 
> > I'm using arm-linux-gnueabi-gcc version 8.3.0 which is available in
> > current Debian stable (Debian 10 Buster).
> 
> Fixed and force-pushed, it seems ar needs the P flag that Bin Meng
> questioned.

Problem is fixed, now compilation succeeded. u-boot.bin has size 243788
bytes.

And seems that compiled U-Boot is working fine!

Nokia RX-51 # version
U-Boot 2021.04-rc3-00338-g88d0a5042c97 (Mar 06 2021 - 22:19:08 +0100)

arm-linux-gnueabi-gcc (Debian 8.3.0-2) 8.3.0
GNU ld (GNU Binutils for Debian) 2.31.1

I can send binary files via usbtty and 'loadb' command. I can boot linux
kernel via 'bootm'. I can chainload to another U-Boot binary (loaded by
'loadb') via 'go' command. Also 'ext4ls' and 'fatls' commands are
working. Also 'onenand dump bootloader' is working.

Do you need something more to test?

If not you can add my 'Tested-by: Pali Rohár <pali at kernel.org>' line for
all patches which are up to the commit 88d0a5042c97.

Good job!


More information about the U-Boot mailing list