From mboxrd@z Thu Jan 1 00:00:00 1970 From: Albert ARIBAUD Date: Sun, 9 Mar 2014 21:34:16 +0100 Subject: [U-Boot] [PATCH] arm: Handle .gnu.hash section in ldscripts In-Reply-To: <531CCD8A.5070005@suse.de> References: <1390798091-24747-1-git-send-email-afaerber@suse.de> <20140127142403.8C31E38033A@gemini.denx.de> <52E6A96B.1080002@suse.de> <20140213123907.6b97040e@lilith> <20140222142753.6f0768b8@lilith> <531370FA.5090207@suse.de> <20140302191552.BF553D48072@smtp5-g21.free.fr> <53139B3E.7010907@suse.de> <5313A9F3.7020907@suse.de> <531CCD8A.5070005@suse.de> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Andreas, On Sun, 09 Mar 2014 21:22:34 +0100, Andreas F?rber wrote: > Am 09.03.2014 21:05, schrieb Albert ARIBAUD: > > On Mon, 3 Mar 2014 08:00:52 +0100, Albert ARIBAUD > > wrote: > > > >> Hi Andreas, > >> > >> (seems an answer from me yesterday didn't make it out of the NSA > >> interceptors...) > >> > >> On Sun, 02 Mar 2014 23:00:19 +0100, Andreas F?rber > >> wrote: > >> > >>> Am 02.03.2014 21:57, schrieb Andreas F?rber: > >>>> Hi Albert, > >>>> > >>>> Am 02.03.2014 20:15, schrieb Albert ARIBAUD: > >>>>> Hi Andreas, > >>>>> > >>>>> On Sun, 02 Mar 2014 18:57:14 +0100, Andreas F?rber > >>>>> wrote: > >>>>> > >>>>>> Hi Albert, > >>>>>> > >>>>>> Am 22.02.2014 14:27, schrieb Albert ARIBAUD: > >>>>>>> On Thu, 13 Feb 2014 12:39:07 +0100, Albert ARIBAUD > >>>>>>> wrote: > >>>>>>> > >>>>>>>> Can you point me to the toolchain you are using, and if you are not > >>>>>>>> building mainline code, can you make this code available to me somehow? > >>>> [...] > >>>>>> Our latest GCC 4.8.2 can be found here: > >>>>>> https://build.opensuse.org/package/show/openSUSE:Factory:ARM/gcc48 > >>>>>> > >>>>>> Matching binutils 2.24 are here: > >>>>>> https://build.opensuse.org/package/show/openSUSE:Factory:ARM/binutils > >>>>>> > >>>>>> Our latest U-Boot tarball and patches: > >>>>>> https://build.opensuse.org/package/show/Base:System/u-boot > >>>>>> Build logs can be found in the u-boot-* packages in the same project, > >>>>>> with underscores stripped, e.g.: > >>>>>> https://build.opensuse.org/package/show/Base:System/u-boot-am335xevm > >>>>> > >>>>> Thanks for your reply. Apparently, the problem does not appear for the > >>>>> boards in mainline U-Boot which I listed above with the source code > >>>>> from our v2014.01 tag and using gcc 4.8.1 from Linaro. I can install > >>>>> 4.8.2, but meanwhile, can you try to build v2014.01 for these boards > >>>>> with your setup? > >>>>> > >>>>> am335x_evm colibri_t20_iris highbank mx53loco omap3_beagle > >>>>> omap4_panda paz00 rpi_b > >>>> > >>>> I have commented out the patch in: > >>>> https://build.opensuse.org/project/show/home:a_faerber:branches:Base:System > >>>> > >>>> While there are apparently frequent rebuilds scheduled ATM, it seemed > >>>> like the colibri_t20_iris config intermittently built OK without it. > >>>> Maybe some gcc 4.8 stable branch update [1] resolved it ... will keep an > >>>> eye on the build status to confirm. If everything builds, I'm happy. > >>> > >>> Nah, still fails without the patch: > >>> > >>> [ 178s] gcc -E -g -Os -ffunction-sections -fdata-sections > >>> -fno-common -ffixed-r9 -msoft-float -D__KERNEL__ > >>> -DCONFIG_SYS_TEXT_BASE=0x0010E000 > >>> -I/home/abuild/rpmbuild/BUILD/u-boot-2014.01/include > >>> -I/home/abuild/rpmbuild/BUILD/u-boot-2014.01/arch/arm/include > >>> -fno-builtin -ffreestanding -nostdinc -isystem > >>> /usr/lib/gcc/armv7hl-suse-linux-gnueabi/4.8/include -pipe -DCONFIG_ARM > >>> -D__ARM__ -marm -mno-thumb-interwork -mabi=aapcs-linux > >>> -mword-relocations -march=armv7-a -include > >>> /home/abuild/rpmbuild/BUILD/u-boot-2014.01/include/u-boot/u-boot.lds.h > >>> -DCPUDIR=arch/arm/cpu/armv7 -ansi -D__ASSEMBLY__ -P - > >>> >>>> u-boot.lds > >>> [ 178s] cd /home/abuild/rpmbuild/BUILD/u-boot-2014.01 && ld.bfd -pie > >>> -T u-boot.lds --gc-sections -Bstatic -Ttext 0x0010E000 > >>> arch/arm/cpu/armv7/start.o --start-group arch/arm/cpu/armv7/built-in.o > >>> arch/arm/cpu/armv7/tegra20/built-in.o arch/arm/cpu/built-in.o > >>> arch/arm/lib/built-in.o board/toradex/colibri_t20_iris/built-in.o > >>> common/built-in.o disk/built-in.o drivers/built-in.o > >>> drivers/dma/built-in.o drivers/gpio/built-in.o drivers/i2c/built-in.o > >>> drivers/input/built-in.o drivers/mmc/built-in.o drivers/mtd/built-in.o > >>> drivers/mtd/nand/built-in.o drivers/mtd/onenand/built-in.o > >>> drivers/mtd/spi/built-in.o drivers/net/built-in.o > >>> drivers/net/phy/built-in.o drivers/pci/built-in.o > >>> drivers/power/battery/built-in.o drivers/power/built-in.o > >>> drivers/power/fuel_gauge/built-in.o drivers/power/mfd/built-in.o > >>> drivers/power/pmic/built-in.o drivers/serial/built-in.o > >>> drivers/spi/built-in.o drivers/usb/eth/built-in.o > >>> drivers/usb/gadget/built-in.o drivers/usb/host/built-in.o > >>> drivers/usb/musb-new/built-in.o drivers/usb/musb/built-in.o > >>> drivers/usb/phy/built-in.o drivers/usb/ulpi/built-in.o fs/built-in.o > >>> lib/built-in.o lib/libfdt/built-in.o net/built-in.o test/built-in.o > >>> --end-group > >>> /home/abuild/rpmbuild/BUILD/u-boot-2014.01/arch/arm/lib/eabi_compat.o > >>> -L /usr/lib/gcc/armv7hl-suse-linux-gnueabi/4.8 -lgcc -Map u-boot.map -o > >>> u-boot > >>> [ 178s] ld.bfd: u-boot: could not find output section .gnu.hash > >>> [ 178s] ld.bfd: final link failed: Nonrepresentable section on output > >>> [ 178s] Makefile:556: recipe for target 'u-boot' failed > >>> [ 178s] make: *** [u-boot] Error 1 > >> > >> You are trying this with your codebase, right? If so, can you try and > >> build vanilla v2014.01 with the exact same build environment? > > Commented out all our patches at: > https://build.opensuse.org/project/show/home:a_faerber:branches:Base:System > > Failure of any sunxi-added targets is to be expected, of course. Not sure I'm getting this: if you build vanilla v2014.01, there shouldn't be any sunxi target built at all, should it? > > If it > >> builds fine, then can you tell me which changes your patch(es) made to > >> linker scripts in your tree wrt 2014.01? > > > > Ping. > > I had previously pointed to our patches and explained that they do not > touch on any existing linker scripts. They merely change CONFIG_ > options, tweak environment settings and add the sunxi targets. I am not asking about changing linker scripts; I am asking about trying your build environment on the pristine v2014.01 codebase, e.g. build all mainline ARM targets with your toolchains. > As for the other open question, OBS does not package build > intermediaries of failed builds, so I'll need to reproduce it locally. > ATM I'm lacking time because QEMU is about to enter Hard Freeze for 2.0. Could you just run this in a git clone of U-Boot with v2014.01 checked out? ARCH=arm CROSS_COMPILE=your-toolchain-prefix- ./MAKEALL -a arm It would build all targets unattended using your toolchain (assuming it is in your PATH of course). > Amicalement, > Andreas Amicalement, -- Albert.