From: Ian Abbott <abbotti@mev.co.uk>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] Problem building barebox_mlo for socfpga with ptxdist-2017.07.0 and OSELAS.Toolchain-2014.12.2
Date: Wed, 2 Aug 2017 14:09:13 +0100 [thread overview]
Message-ID: <b11fc4da-630f-2f1c-538d-f5346c54301c@mev.co.uk> (raw)
In-Reply-To: <86fbea4e-8699-43c3-a28a-e5a2a3f54ecd@mev.co.uk>
On 01/08/17 20:41, Ian Abbott wrote:
> Hi folks,
>
> I encountered a build error when using ptxdist-2017.07.0 with
> OSELAS.Toolchain-2014.12.2 (specifically, the
> "oselas.toolchain-2014.12.2-arm-v7a-linux-gnueabihf-gcc-4.9.2-glibc-2.20-binutils-2.24-kernel-3.16-sanitized"
> Debian package) to build barebox_mlo for an Altera SoCFPGA target.
>
>
> Here are the last few lines of the build output:
>
> LD barebox
> SYSMAP System.map
> OBJCOPY barebox.bin
> LDS images/pbl.lds
> LZO images/barebox.z
> LD images/start_socfpga_socrates_xload.pbl
> OBJCOPYB images/start_socfpga_socrates_xload.pblb
> PBLX images/start_socfpga_socrates_xload.pblx
> invalid magic
> /mnt/lindata/work/abbotti/ptxdist/projects/testproject/platform-EBV-Socrates/build-target/barebox_mlo-2017.08.0/images/Makefile:77:
> recipe for target 'images/start_socfpga_socrates_xload.pblx' failed
> make[2]: *** [images/start_socfpga_socrates_xload.pblx] Error 1
> Makefile:501: recipe for target 'images' failed
> make[1]: *** [images] Error 2
> make[1]: Leaving directory
> '/mnt/lindata/work/abbotti/ptxdist/projects/testproject/platform-EBV-Socrates/build-target/barebox_mlo-2017.08.0'
>
> /mnt/lindata/work/abbotti/ptxdist/ptxdist/releases/ptxdist-2017.07.0/rules/post/ptxd_make_world_compile.make:21:
> recipe for target
> '/home/abbotti/work/ptxdist/projects/testproject/platform-EBV-Socrates/state/barebox_mlo.compile'
> failed
> make: ***
> [/home/abbotti/work/ptxdist/projects/testproject/platform-EBV-Socrates/state/barebox_mlo.compile]
> Error 2
>
>
> The "invalid magic" message comes from the "fix_size" program executed
> by "images/Makefile". It seems to be caused by the presence of a
> ".note.gnu-build-id" section before the the ".text" section in the
> "start_socfpga_socrates_xload.pbl" file, as shown by
> "arm-v7a-linux-gnueabihf-objdump -h start_socfpga_socrates_xload.pbl":
>
> start_socfpga_socrates_xload.pbl: file format elf32-littlearm
>
> Sections:
> Idx Name Size VMA LMA File off Algn
> 0 .note.gnu.build-id 000001f8 00000000 00000000 00008000 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 1 .text 0000322c 000001f8 000001f8 000081f8 2**2
> CONTENTS, ALLOC, LOAD, READONLY, CODE
> 2 .rodata 00000d31 00003424 00003424 0000b424 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 3 .interp 00000011 00004155 00004155 0000c155 2**0
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 4 .dynamic 00000080 00004670 00004670 0000c670 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 5 .dynsym 00000150 000048cc 000048cc 0000c8cc 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 6 .dynstr 000000f4 00004166 00004166 0000c166 2**0
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 7 .gnu.hash 00000050 0000425c 0000425c 0000c25c 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 8 .data 000003c4 000042ac 000042ac 0000c2ac 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 9 .got.plt 0000000c 000046f0 000046f0 0000c6f0 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 10 .rel.dyn 000001d0 000046fc 000046fc 0000c6fc 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 11 .bss 00000020 00004a1c 00004a1c 0000ca1c 2**2
> ALLOC
> 12 .image_end 00000004 00004a3c 00004a3c 0000ca3c 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 13 .comment 00000028 00000000 00000000 0000ca40 2**0
> CONTENTS, READONLY
> 14 .ARM.attributes 0000002f 00000000 00000000 0000ca68 2**0
> CONTENTS, READONLY
>
>
> (In a working build, the ".text" section starts at offset 00008000 and
> there is no ".note.gnu.build-id" section.)
For comparison, here are the section headers for ptxdist-2017.07.0 with
OSELAS.Toolchain-2016.06.1. Notice that the ".note.gnu.build-id"
section is in a different place. Also the initial file offset has
changed from 00008000 to 00010000:
start_socfpga_socrates_xload.pbl: file format elf32-littlearm
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000031f4 00000000 00000000 00010000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .rodata 00000d31 000031f4 000031f4 000131f4 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .dynamic 00000088 0000444c 0000444c 0001444c 2**2
CONTENTS, ALLOC, LOAD, DATA
3 .dynsym 00000150 000046a8 000046a8 000146a8 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
4 .dynstr 000000f4 00003f25 00003f25 00013f25 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
5 .gnu.hash 0000006c 0000401c 0000401c 0001401c 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
6 .data 000003c4 00004088 00004088 00014088 2**2
CONTENTS, ALLOC, LOAD, DATA
7 .got.plt 0000000c 000044d4 000044d4 000144d4 2**2
CONTENTS, ALLOC, LOAD, DATA
8 .rel.dyn 000001c8 000044e0 000044e0 000144e0 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
9 .note.gnu.build-id 00000120 000047f8 000047f8 000147f8 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
10 .bss 00000020 00004918 00004918 00014918 2**2
ALLOC
11 .image_end 00000004 00004938 00004938 00014938 2**2
CONTENTS, ALLOC, LOAD, DATA
12 .comment 00000028 00000000 00000000 0001493c 2**0
CONTENTS, READONLY
13 .ARM.attributes 0000002f 00000000 00000000 00014964 2**0
CONTENTS, READONLY
The contents of the ".note.gnu.build-id" section from the .pbl file gets
copied into the .pblb file, then into the .pblx file, the
.pblx.socfpgaimg file, and finally into the .img file.
Anyway, I think I know the cause of the problem. Commit 56b1e28fdbf78
("Debugging: add support for 'build-id's") added general support for
build-ids, but blacklisted build-ids for "kernel" and "barebox". (A
subsequent commit blacklisted build-ids for "grub".) So the solution is
to blacklist build-ids for the "barebox_mlo" package.
--
-=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@mev.co.uk> )=-
-=( Web: http://www.mev.co.uk/ )=-
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
prev parent reply other threads:[~2017-08-02 13:09 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-01 19:41 Ian Abbott
2017-08-02 13:09 ` Ian Abbott [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b11fc4da-630f-2f1c-538d-f5346c54301c@mev.co.uk \
--to=abbotti@mev.co.uk \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox