Enabling of all possible targets broke ARM cross toolchain
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
binutils (Ubuntu) |
Fix Released
|
Medium
|
Loïc Minier |
Bug Description
Binary package hint: binutils
Binutils 2.21.0.
10:44 hrw@home:tmp$ arm-linux-
10:45 hrw@home:tmp$ strip a.out
strip:a.out: File format is ambiguous
strip: Matching formats: elf32-littlearm elf32-littlearm
10:46 hrw@home:tmp$ file a.out
a.out: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped
Since then I am unable to upload fixed ARM cross toolchain into archive due to same break:
dh_strip -plibgcc1-
dh_strip debug symbol extraction: all non-arch-all packages for this build platform amd64: gcc-4.5-
dh_strip debug symbol extraction: not adding gnu debuglinks since --dbg-package is given
dh_strip debug symbol extraction: packages to act on:
dh_strip debug symbol extraction: ignored packages:
objcopy:
objcopy: Matching formats: elf32-littlearm elf32-littlearm
dh_strip.
Related branches
Changed in binutils (Ubuntu): | |
assignee: | nobody → Loïc Minier (lool) |
Changed in binutils (Ubuntu): | |
importance: | Undecided → Medium |
status: | New → In Progress |
tags: | added: multiarch-followup |
Thanks for the report
I think it's inconvenient that objcopy has this behavior, and it does probably make sense to change it to not list all ARM architectures. That said, it seems like the above build calls dh_strip on an armel-cross architecture all package, which is not too common, and also calls it as a regular build instead of a cross-build which means that the hosts' strip gets called instead of the cross-strip.
It's probably a good idea to call dh_strip here as armel-cross_all packages are a bit special, but probably this should be called with dpkg-architecture args set to a cross build.