Package: binutils-gold
Version: 2.23.1-1~exp3 
Severity: important
Tags: upstream

ehdr here is only 16-bit aligned (0x405a7536 % 4 == 2), which comes from 
#1  0x0008ce74 in Elf_file (file=0xbe89bfc8, this=0xbe89bf68)
    at ../../gold/../elfcpp/elfcpp_file.h:397
whch is using an offset into the open file.

encountered building chromium, but I was unable to build anything without 
turning on
unaligned fault fixup (echo 2 > /proc/cpu/alignment)
invocation:  gdb --args g++-4.6.real -pthread -Wl,-z,noexecstack -fPIC -Wl,-O1 
-Wl,--as-needed -Wl,--gc-sections  -o out/Release/mksnapshot -Wl,--start-group 
out/Release/obj.host/mksnapshot/v8/src/mksnapshot.o 
out/Release/obj.host/v8/tools/gyp/libv8_base.a 
out/Release/obj.host/v8/tools/gyp/libv8_nosnapshot.a -Wl,--end-group 
then: set follow-fork-mode child

Dump of assembler code for function elfcpp::Elf_file<32, false, 
gold::Sniff_file>::construct(gold::Sniff_file*, elfcpp::Ehdr<32, false> const&):
   0x0002f4a4 <+0>:     ldr     r3, [r2]
   0x0002f4a8 <+4>:     push    {r4, r5, r6, r7, r8, lr}
   0x0002f4ac <+8>:     ldrh    r7, [r3, #40]   ; 0x28
=> 0x0002f4b0 <+12>:    ldr     r6, [r3, #32]
   0x0002f4b4 <+16>:    ldrh    r12, [r3, #48]  ; 0x30
   0x0002f4b8 <+20>:    mov     r4, r2
   0x0002f4bc <+24>:    ldrh    r2, [r3, #50]   ; 0x32
   0x0002f4c0 <+28>:    mov     r8, #0
   0x0002f4c4 <+32>:    cmp     r7, #52 ; 0x34
   0x0002f4c8 <+36>:    mov     r5, r1
   0x0002f4cc <+40>:    str     r1, [r0]
   0x0002f4d0 <+44>:    str     r6, [r0, #8]
   0x0002f4d4 <+48>:    str     r8, [r0, #12]
   0x0002f4d8 <+52>:    str     r12, [r0, #16]
   0x0002f4dc <+56>:    str     r2, [r0, #20]
   0x0002f4e0 <+60>:    str     r8, [r0, #24]

(gdb) info registers
r0             0xbe89bf70       3196698480
r1             0xbe89bfd0       3196698576
r2             0xbe89bff8       3196698616
r3             0x405a7536       1079670070
r4             0x536    1334
r5             0x0      0
r6             0x20     32
r7             0x34     52
r8             0x27d0dc 2609372
r9             0x0      0
r10            0x536    1334
r11            0x0      0
r12            0x0      0
sp             0xbe89bf20       0xbe89bf20
lr             0x8ce74  577140
pc             0x2f4b0  0x2f4b0 <elfcpp::Elf_file<32, false, 
gold::Sniff_file>::construct(gold::Sniff_file*, elfcpp::Ehdr<32, false> 
const&)+12>
cpsr           0x60000010       1610612752

(gdb) bt full
#0  elfcpp::Elf_file<32, false, gold::Sniff_file>::construct (this=0xbe89bf70, 
file=0xbe89bfd0, 
    ehdr=...) at ../../gold/../elfcpp/elfcpp_file.h:378
No locals.
#1  0x0008ce74 in Elf_file (file=0xbe89bfc8, this=0xbe89bf68)
    at ../../gold/../elfcpp/elfcpp_file.h:397
No locals.
#2  do_recognize_nacl_file<32, false> (offset=1334, input_file=<optimized out>, 
this=0x27d0dc)
    at ../../gold/nacl.h:198
        file = {file_ = @0xd14a30, offset_ = 1334}
        elf_file = {static ehdr_size = <optimized out>, static phdr_size = 
<optimized out>, 
          static shdr_size = <optimized out>, static sym_size = <optimized 
out>, 
          static rel_size = <optimized out>, static rela_size = <optimized 
out>, file_ = 0x0, 
          shoff_ = 3845902709115484, shnum_ = 13716016, shstrndx_ = 13712800, 
          large_shndx_offset_ = 13716016}
        shnum = <optimized out>
#3  recognize_nacl_file (offset=1334, input_file=<optimized out>, this=0x27d0dc)
    at ../../gold/nacl.h:182
No locals.
#4  gold::Target_selector_nacl<{anonymous}::Target_selector_arm<false>, 
{anonymous}::Target_arm_nacl<false> >::do_recognize(gold::Input_file *, off_t, 
int, int, int) (this=0x27d0dc, 
    file=<optimized out>, offset=<optimized out>, machine=40, osabi=0, 
abiversion=0)
    at ../../gold/nacl.h:116
No locals.
#5  0x001e9470 in recognize (abiversion=0, osabi=32, machine=2622660, 
offset=1334, 
    input_file=0xd14a28, this=0x27d0dc) at ../../gold/target-select.h:83
No locals.
#6  gold::select_target (input_file=0xd14a28, offset=<optimized out>, 
machine=40, size=32, 
    is_big_endian=false, osabi=0, abiversion=0) at 
../../gold/target-select.cc:114
        ret = <optimized out>


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to