From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: From: Tim Sander Date: Mon, 29 Sep 2014 15:56:40 +0200 Message-ID: <3681672.LsfF9P6On8@dabox> In-Reply-To: <20140926064621.GK25622@pengutronix.de> References: <20140507080758.GA17823@pengutronix.de> <1961773.jAu9WTbTPG@dabox> <20140926064621.GK25622@pengutronix.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nextPart3534589.Nrt2366M5s" Content-Transfer-Encoding: 7Bit Subject: Re: [ptxdist] [ANNOUNCE] OSELAS.Toolchain() 2013.12.2 released Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: ptxdist@pengutronix.de Cc: Michael Olbrich This is a multi-part message in MIME format. --nextPart3534589.Nrt2366M5s Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Hi Michael Am Freitag, 26. September 2014, 08:46:21 schrieb Michael Olbrich: > On Wed, Sep 24, 2014 at 03:43:10PM +0200, Tim Sander wrote: > > > I'm happy to announce that I've just released > > > OSELAS.Toolchain-2013.12.2. > > > > > > This is a bugfix-only release. The relevant changes since 2013.12.1 are: > > > - The toolchains can now be built with make 4.0 > > > - Some toolchains did not optimize for the correct CPU. The code works > > > but > > > > > > might be slower. This is fixed now. > > > > > > - All security relevant fixes mentioned in the glibc 2.19 changelog > > > have > > > > > > been added for glibc 2.18 based toolchains. > > > > > > - All generated toolchain archives are now XZ comressed. > > > > While i have used this toolchain arm-v7a-linux-gnueabihf with an Xilinx > > Zynx compiling nearly the same Project with a different Kernelconfig /DTB > > for Altera SOC fails with this toolchain !?! The kernel boots but on > > mounting the rootfs it fails to execute any binary? > > Is the dynamic linker (whatever /lib/ld-linux-armhf.so.3 points to) > executable? Do you have a working system? Boot it and try to chroot into > your new system. You get better error messages that way. Ok i have now setup booted into the environment compiled with OSELAS.Toolchain-2012.12.1/arm-cortexa9-linux-gnueabihf, mounted the other system via nfs and tried to start any executable: /mnt/bin/busybox: line 1: syntax error: unexpected word (expecting ")") (thats with OSELAS.Toolchain-2013.12.2/arm-v7a-linux-gnueabihf on Altera SOC) I have taken a look at both busyboxes and have run them through "readelf -e" (attached). The only difference which sprung to my eye was the hardfloat support, which i don't understand as both toolchains should be hardfloat toolchains. Starting the binary with strace gives: execve("mnt/bin/busybox", ["mnt/bin/busybox"], [/* 11 vars */]) = -1 ENOEXEC (Exec format error) write(2, "strace: exec: Exec format error\n", 32strace: exec: Exec format error ) = 32 exit_group(1) = ? +++ exited with 1 +++ So i have an execution error and the shell error seems to be the shell fallback from the kernel. Another thing which caught my attention was the fact that: objdump -d bin/busybox |grep UNDEFINED |wc -l is 364 for the old and 13478 for the new toolchain. Best regards Tim --nextPart3534589.Nrt2366M5s Content-Description: OSELAS.Toolchain-2012.12.1/arm-cortexa9-linux-gnueabihf Content-Disposition: attachment; filename="gut" Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8"; name="cortexa9" ELF-Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00=20 Klasse: ELF32 Daten: 2er-Komplement, Little-Endian Version: 1 (current) OS/ABI: UNIX - System V ABI-Version: 0 Typ: EXEC (ausf=C3=BChrbare Datei) Maschine: ARM Version: 0x1 Einstiegspunktadresse: 0x10010 Beginn der Programm-Header: 52 (Bytes in Datei) Beginn der Sektions-header: 460812 (Bytes in Datei) Flags: 0x5000002, has entry point, Versio= n5 EABI Gr=C3=B6=C3=9Fe dieses Headers: 52 (Byte) Gr=C3=B6=C3=9Fe der Programm-Header: 32 (Byte) Number of program headers: 8 Gr=C3=B6=C3=9Fe der Sektions-Header: 40 (bytes) Anzahl der Sektions-Header: 28 Sektions-Header Stringtabellen-Index: 27 Sektions-Header: [Nr] Name Typ Adr Off Gr=C3=B6=C3=9F= e ES Flg Lk Inf Ar [ 0] NULL 00000000 000000 000000 00 = 0 0 0 [ 1] .interp PROGBITS 00008134 000134 000019 00 A = 0 0 1 [ 2] .note.ABI-tag NOTE 00008150 000150 000020 00 A = 0 0 4 [ 3] .hash HASH 00008170 000170 0008cc 04 A = 4 0 4 [ 4] .dynsym DYNSYM 00008a3c 000a3c 0012a0 10 A = 5 1 4 [ 5] .dynstr STRTAB 00009cdc 001cdc 00097c 00 A = 0 0 1 [ 6] .gnu.version VERSYM 0000a658 002658 000254 02 A = 4 0 2 [ 7] .gnu.version_r VERNEED 0000a8ac 0028ac 000020 00 A = 5 1 4 [ 8] .rel.dyn REL 0000a8cc 0028cc 000048 08 A = 4 0 4 [ 9] .rel.plt REL 0000a914 002914 0008e8 08 A = 4 11 4 [10] .init PROGBITS 0000b1fc 0031fc 00000c 00 AX = 0 0 4 [11] .plt PROGBITS 0000b208 003208 000d70 04 AX = 0 0 4 [12] .text PROGBITS 0000bf78 003f78 05c610 00 AX = 0 0 8 [13] .fini PROGBITS 00068588 060588 000008 00 AX = 0 0 4 [14] .rodata PROGBITS 00068590 060590 00f0f4 00 A = 0 0 4 [15] .ARM.extab PROGBITS 00077684 06f684 000030 00 A = 0 0 4 [16] .ARM.exidx ARM_EXIDX 000776b4 06f6b4 0000d8 00 AL = 12 0 4 [17] .eh_frame PROGBITS 0007778c 06f78c 000004 00 A = 0 0 4 [18] .init_array INIT_ARRAY 00078000 070000 000004 00 WA = 0 0 4 [19] .fini_array FINI_ARRAY 00078004 070004 000004 00 WA = 0 0 4 [20] .jcr PROGBITS 00078008 070008 000004 00 WA = 0 0 4 [21] .dynamic DYNAMIC 0007800c 07000c 0000e8 08 WA = 5 0 4 [22] .got PROGBITS 000780f4 0700f4 000498 04 WA = 0 0 4 [23] .data PROGBITS 0007858c 07058c 00013d 00 WA = 0 0 4 [24] .bss NOBITS 000786d0 0706c9 002234 00 WA = 0 0 8 [25] .ARM.attributes ARM_ATTRIBUTES 00000000 0706c9 000043 00 = 0 0 1 [26] .gnu_debuglink PROGBITS 00000000 07070c 00000c 00 = 0 0 1 [27] .shstrtab STRTAB 00000000 070718 0000f4 00 = 0 0 1 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings) I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown= ) O (extra OS processing required) o (OS specific), p (processor specif= ic) Programm-Header: Typ Offset VirtAdr PhysAdr DateiGr SpeiGr Flg Aus= r. EXIDX 0x06f6b4 0x000776b4 0x000776b4 0x000d8 0x000d8 R 0x4= PHDR 0x000034 0x00008034 0x00008034 0x00100 0x00100 R E 0x4= INTERP 0x000134 0x00008134 0x00008134 0x00019 0x00019 R 0x1= [Programminterpreter anfordern: /lib/ld-linux-armhf.so.3] LOAD 0x000000 0x00008000 0x00008000 0x6f790 0x6f790 R E 0x8= 000 LOAD 0x070000 0x00078000 0x00078000 0x006c9 0x02904 RW 0x8= 000 DYNAMIC 0x07000c 0x0007800c 0x0007800c 0x000e8 0x000e8 RW 0x4= NOTE 0x000150 0x00008150 0x00008150 0x00020 0x00020 R 0x4= GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4= Abbildung von Sektion nach Segment: Segmentsektionen... 00 .ARM.exidx=20 01 =20 02 .interp=20 03 .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version .gnu= .version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .ARM.extab = .ARM.exidx .eh_frame=20 04 .init_array .fini_array .jcr .dynamic .got .data .bss=20 05 .dynamic=20 06 .note.ABI-tag=20 07 --nextPart3534589.Nrt2366M5s Content-Description: OSELAS.Toolchain-2013.12.2/arm-v7a-linux-gnueabihf Content-Disposition: attachment; filename="schlecht" Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8"; name="v7a" ELF-Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00=20 Klasse: ELF32 Daten: 2er-Komplement, Little-Endian Version: 1 (current) OS/ABI: UNIX - System V ABI-Version: 0 Typ: EXEC (ausf=C3=BChrbare Datei) Maschine: ARM Version: 0x1 Einstiegspunktadresse: 0xe789 Beginn der Programm-Header: 52 (Bytes in Datei) Beginn der Sektions-header: 321624 (Bytes in Datei) Flags: 0x5000402, has entry point, Versio= n5 EABI, hard-float ABI Gr=C3=B6=C3=9Fe dieses Headers: 52 (Byte) Gr=C3=B6=C3=9Fe der Programm-Header: 32 (Byte) Number of program headers: 8 Gr=C3=B6=C3=9Fe der Sektions-Header: 40 (bytes) Anzahl der Sektions-Header: 27 Sektions-Header Stringtabellen-Index: 26 Sektions-Header: [Nr] Name Typ Adr Off Gr=C3=B6=C3=9F= e ES Flg Lk Inf Ar [ 0] NULL 00000000 000000 000000 00 = 0 0 0 [ 1] .interp PROGBITS 00008134 000134 000019 00 A = 0 0 1 [ 2] .note.ABI-tag NOTE 00008150 000150 000020 00 A = 0 0 4 [ 3] .hash HASH 00008170 000170 0008ac 04 A = 4 0 4 [ 4] .dynsym DYNSYM 00008a1c 000a1c 001220 10 A = 5 1 4 [ 5] .dynstr STRTAB 00009c3c 001c3c 00090e 00 A = 0 0 1 [ 6] .gnu.version VERSYM 0000a54a 00254a 000244 02 A = 4 0 2 [ 7] .gnu.version_r VERNEED 0000a790 002790 000020 00 A = 5 1 4 [ 8] .rel.dyn REL 0000a7b0 0027b0 000038 08 A = 4 0 4 [ 9] .rel.plt REL 0000a7e8 0027e8 0008d0 08 A = 4 11 4 [10] .init PROGBITS 0000b0b8 0030b8 00000c 00 AX = 0 0 4 [11] .plt PROGBITS 0000b0c4 0030c4 000ddc 04 AX = 0 0 4 [12] .text PROGBITS 0000bea0 003ea0 03b116 00 AX = 0 0 8 [13] .fini PROGBITS 00046fb8 03efb8 000008 00 AX = 0 0 4 [14] .rodata PROGBITS 00046fc0 03efc0 00f0af 00 A = 0 0 4 [15] .ARM.exidx ARM_EXIDX 00056070 04e070 000008 00 AL = 12 0 4 [16] .eh_frame PROGBITS 00056078 04e078 000004 00 A = 0 0 4 [17] .init_array INIT_ARRAY 0005e07c 04e07c 000004 00 WA = 0 0 4 [18] .fini_array FINI_ARRAY 0005e080 04e080 000004 00 WA = 0 0 4 [19] .jcr PROGBITS 0005e084 04e084 000004 00 WA = 0 0 4 [20] .dynamic DYNAMIC 0005e088 04e088 0000e8 08 WA = 5 0 4 [21] .got PROGBITS 0005e170 04e170 00047c 04 WA = 0 0 4 [22] .data PROGBITS 0005e5ec 04e5ec 00013d 00 WA = 0 0 4 [23] .bss NOBITS 0005e730 04e729 00223c 00 WA = 0 0 8 [24] .ARM.attributes ARM_ATTRIBUTES 00000000 04e729 000037 00 = 0 0 1 [25] .gnu_debuglink PROGBITS 00000000 04e760 00000c 00 = 0 0 1 [26] .shstrtab STRTAB 00000000 04e76c 0000e9 00 = 0 0 1 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings) I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown= ) O (extra OS processing required) o (OS specific), p (processor specif= ic) Programm-Header: Typ Offset VirtAdr PhysAdr DateiGr SpeiGr Flg Aus= r. EXIDX 0x04e070 0x00056070 0x00056070 0x00008 0x00008 R 0x4= PHDR 0x000034 0x00008034 0x00008034 0x00100 0x00100 R E 0x4= INTERP 0x000134 0x00008134 0x00008134 0x00019 0x00019 R 0x1= [Programminterpreter anfordern: /lib/ld-linux-armhf.so.3] LOAD 0x000000 0x00008000 0x00008000 0x4e07c 0x4e07c R E 0x8= 000 LOAD 0x04e07c 0x0005e07c 0x0005e07c 0x006ad 0x028f0 RW 0x8= 000 DYNAMIC 0x04e088 0x0005e088 0x0005e088 0x000e8 0x000e8 RW 0x4= NOTE 0x000150 0x00008150 0x00008150 0x00020 0x00020 R 0x4= GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x1= 0 Abbildung von Sektion nach Segment: Segmentsektionen... 00 .ARM.exidx=20 01 =20 02 .interp=20 03 .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version .gnu= .version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .ARM.exidx = .eh_frame=20 04 .init_array .fini_array .jcr .dynamic .got .data .bss=20 05 .dynamic=20 06 .note.ABI-tag=20 07 --nextPart3534589.Nrt2366M5s Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline -- ptxdist mailing list ptxdist@pengutronix.de --nextPart3534589.Nrt2366M5s--