This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: gold alignment for 64-bit target in 32-bit binary
From: Ian Lance Taylor <iant@google.com>
Date: Sat, 19 Apr 2008 15:59:33 -0700
> I haven't forgotten about this, but without access to a strict
> alignment system I'm not sure how to track it down. Can you send me a
> backtrace from the bus error?
>
> There isn't supposed to be anything in gold which is based on the host
> alignment.
Sure thing. The problem seems to be ehdr_buf[] in
gold::Read_symbols::do_read_symbols()
Program received signal SIGBUS, Bus error.
0x00065f8c in elfcpp::Elf_file<64, true, gold::Object>::construct (this=0x1f6588, file=0x1f6548, ehdr=@0xff9e3a8c) at ../../src/gold/../elfcpp/elfcpp_file.h:205
(gdb) bt
#0 0x00065f8c in elfcpp::Elf_file<64, true, gold::Object>::construct (this=0x1f6588, file=0x1f6548, ehdr=@0xff9e3a8c) at ../../src/gold/../elfcpp/elfcpp_file.h:205
#1 0x0007c898 in Sized_relobj (this=0x1f6548, name=<value optimized out>, input_file=0x1f6488, offset=8837255988772864, ehdr=@0xff9e3a8c) at ../../src/gold/../elfcpp/elfcpp_file.h:91
#2 0x0007ca74 in (anonymous namespace)::make_elf_sized_object<64, true> (name=@0x1f6490, input_file=0x1f6488, offset=0, ehdr=@0xff9e3a8c) at ../../src/gold/object.cc:1571
#3 0x00063eb4 in gold::make_elf_object (name=@0x1f6490, input_file=0x1f6488, offset=0, p=0xff9e3b2c "\177ELF\002\002\001", bytes=64) at ../../src/gold/object.cc:1691
#4 0x000ce80c in gold::Read_symbols::do_read_symbols (this=0x1f2ee8, workqueue=0xff9e53b8) at ../../src/gold/readsyms.cc:175
#5 0x000ceac4 in gold::Read_symbols::run (this=0x1f2ee8, workqueue=0xff9e53b8) at ../../src/gold/readsyms.cc:122
#6 0x00115fcc in gold::Workqueue::find_and_run_task (this=0xff9e53b8, thread_number=0) at ../../src/gold/workqueue.cc:314
#7 0x00116240 in gold::Workqueue::process (this=0xff9e53b8, thread_number=0) at ../../src/gold/workqueue.cc:480
#8 0x00012c5c in main (argc=32, argv=0xff9e5504) at ../../src/gold/main.cc:204
(gdb)