This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/11214] New: invalid opcode in ld.so


On Intel Core i7, I saw

/var/log/messages-20100110:Jan  8 14:39:35 gnu-6 klogd: gdbserver[20988] trap
invalid opcode ip:3df7414959 sp:7fffc77d9808 error:0 in
ld-2.11.1.so[3df7400000+1e000]

when I did "make check" in gdb. The corresponding code is

_dl_x86_64_restore_sse:
# ifdef HAVE_AVX_SUPPORT
        cmpl    $0, L(have_avx)(%rip)
        js      L(no_avx6)

        vmovdqa %fs:RTLD_SAVESPACE_SSE+0*YMM_SIZE, %ymm0
        vmovdqa %fs:RTLD_SAVESPACE_SSE+1*YMM_SIZE, %ymm1
        vmovdqa %fs:RTLD_SAVESPACE_SSE+2*YMM_SIZE, %ymm2
        vmovdqa %fs:RTLD_SAVESPACE_SSE+3*YMM_SIZE, %ymm3
        vmovdqa %fs:RTLD_SAVESPACE_SSE+4*YMM_SIZE, %ymm4
        vmovdqa %fs:RTLD_SAVESPACE_SSE+5*YMM_SIZE, %ymm5
        vmovdqa %fs:RTLD_SAVESPACE_SSE+6*YMM_SIZE, %ymm6
        vmovdqa %fs:RTLD_SAVESPACE_SSE+7*YMM_SIZE, %ymm7
        ret

in sysdeps/x86_64/dl-trampoline.S. It seems like L(have_avx)
is 0, instead of -1, I don't see how it can happen. Maybe
gdbserver is a special case.

-- 
           Summary: invalid opcode in ld.so
           Product: glibc
           Version: 2.11
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
        AssignedTo: drepper at redhat dot com
        ReportedBy: hjl dot tools at gmail dot com
                CC: glibc-bugs at sources dot redhat dot com
GCC target triplet: x86_64-pc-linux-gnu


http://sourceware.org/bugzilla/show_bug.cgi?id=11214

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]