On Thu, Mar 21, 2013 at 11:34 PM, Stuart Henderson <[email protected]> wrote:
> On 2013/03/21 21:54, Miod Vallat wrote:
>> > - www/chromium - OSError: [Errno 8] Exec format error
>>
>> Please make the binary available to me offlist, as well as its linking
>> command (or build log, whatever suits you).
>
> Well this is very strange because if I run the program which generates
> the error message under ktrace -i, there is no ENOEXEC...
>
> python ../tools/protoc_wrapper/protoc_wrapper.py --include "" --protobuf 
> "/usr/obj/chromium-25.0.1364.173/chromium-25.0.1364.173/out/Release/obj/gen/protoc_out/chrome/common/metrics/proto/chrome_experiments.pb.h"
>  --proto-in-dir common/metrics/proto --proto-in-file 
> "chrome_experiments.proto" "--use-system-protobuf=0" -- 
> "/usr/obj/chromium-25.0.1364.173/chromium-25.0.1364.173/out/Release/protoc" 
> --cpp_out 
> "/usr/obj/chromium-25.0.1364.173/chromium-25.0.1364.173/out/Release/obj/gen/protoc_out/chrome/common/metrics/proto"
>  --python_out 
> "/usr/obj/chromium-25.0.1364.173/chromium-25.0.1364.173/out/Release/pyproto/chrome/common/metrics/proto"

I think this is related to a binutils bug with "-Wl,--gc-sections".

This BZ may be related: http://sourceware.org/bugzilla/show_bug.cgi?id=13195

With binutils-2.15, you have:

$ g++ test.C -ffunction-sections -Wl,--gc-sections
/usr/bin/ld: Warning: gc-sections option ignored

And the resulting binary seems sane.

With 2.17 instead:

$ g++ test.C -ffunction-sections -Wl,--gc-sections
$

But the resulting binary is crap:

$ ldd a.out
a.out:
a.out: Exec format error
a.out: exit status 1
$

$ ./a.out[1]:  ELF    : not found
./a.out[7]: cannot open
ÑuõH ZþL dÐøHƒûÿt ff ff Hƒë I‹ ƒì ÿÐHƒûÿuì[AÉÃfff ff UH‰åSHƒì H‹ ˆ 0H…Àt H  :
No such file or directory
./a.out[7]:  : not found
./a.out: syntax error: `)' unexpected
./a.out[7]:  0fff ÿÐH‹C HƒÃ H…ÀuñHƒÄ [ÉÃfff ff ff U‹ Í @H‰å…Àt ÉÃÇ º @
Éë£ff U‹ © @H‰å…Òt ÉÃH 5¹ @H =z  Ç ˆ @ è ÿÿÿHƒ=[ :
not found
./a.out[7]: ÿïÿX Œÿïÿx Îÿïÿ˜   zR x       $ ÈüïÿâA  † C
 DŒ   Dƒ  D ýïÿ A  † C
  d€ýïÿYA  † K
 Cƒ Œ  „Àýïÿ6A  † C
 Eƒ  ¤àýïÿ A  † I
  Äàýïÿ_A  † I
   zPLR x  ›} 0       $þïÿ+ A  † C
  DþïÿA GA  † C
  d.þïÿ: not found
./a.out[7]: 7     ° @ Ø   ø  8  À: not found
./a.out[7]: T: not found
./a.out[8]:  : not found
./a.out[9]: syntax error: `&' unexpected


cheers,
David

Reply via email to