From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15157 invoked by alias); 1 Nov 2012 22:30:33 -0000 Received: (qmail 15055 invoked by uid 48); 1 Nov 2012 22:30:17 -0000 From: "hjl.tools at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/55142] [4.8 Regression] internal compiler error: in plus_constant, at explow.c:88 Date: Thu, 01 Nov 2012 22:30:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: hjl.tools at gmail dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: ebotcazou at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.0 X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2012-11/txt/msg00085.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55142 --- Comment #15 from H.J. Lu 2012-11-01 22:30:16 UTC --- All binaries die before main: Starting program: /export/build/gnu/glibc-x32-long/build-x86_64-linux/libio/bug-fclose1 Program received signal SIGSEGV, Segmentation fault. 0xf7dddc8d in elf_get_dynamic_info (temp=0x0, l=0xf7ffdc18) at get-dynamic-info.h:61 61 + DT_VERSIONTAGNUM + DT_EXTRANUM + DT_VALNUM] = dyn; (gdb) disass $pc -19, +30 Dump of assembler code from 0xf7dddc7a to 0xf7dddc98: 0xf7dddc7a : mov %r8d,%esi 0xf7dddc7d : sub %eax,%esi 0xf7dddc7f : cmp $0xa,%esi 0xf7dddc82 : ja 0xf7ddd431 0xf7dddc88 : neg %eax 0xf7dddc8a : lea (%rcx,%rax,4),%eax => 0xf7dddc8d : mov %edx,-0x40000300(%rax) 0xf7dddc93 : jmpq 0xf7ddd431 End of assembler dump. (gdb) p/x $rcx $1 = 0xf7ffdc38 (gdb) p/x $rax $2 = 0x37ffe064 (gdb) list 56 else if ((d_tag_utype) DT_VALTAGIDX (dyn->d_tag) < DT_VALNUM) 57 info[DT_VALTAGIDX (dyn->d_tag) + DT_NUM + DT_THISPROCNUM 58 + DT_VERSIONTAGNUM + DT_EXTRANUM] = dyn; 59 else if ((d_tag_utype) DT_ADDRTAGIDX (dyn->d_tag) < DT_ADDRNUM) 60 info[DT_ADDRTAGIDX (dyn->d_tag) + DT_NUM + DT_THISPROCNUM 61 + DT_VERSIONTAGNUM + DT_EXTRANUM + DT_VALNUM] = dyn; 62 ++dyn; 63 } 64 65 #define DL_RO_DYN_TEMP_CNT 8 (gdb) p info $3 = (Elf32_Dyn **) 0xf7ffdc38 (gdb) bt #0 0xf7dddc8d in elf_get_dynamic_info (temp=0x0, l=0xf7ffdc18) at get-dynamic-info.h:61 #1 dl_main (phdr=, phnum=9, user_entry=, auxv=) at rtld.c:1311 #2 0xf7df12c0 in _dl_sysdep_start ( start_argptr=start_argptr@entry=0xffffd100, dl_main=) at ../elf/dl-sysdep.c:241 #3 0xf7ddfaa8 in _dl_start_final (arg=0xffffd100) at rtld.c:331 #4 _dl_start (arg=) at rtld.c:557 #5 0xf7ddc057 in _start () from /export/build/gnu/glibc-x32-long/build-x86_64-linux/elf/ld.so #6 0x00000001 in ?? () #7 0x00000000 in ?? () (gdb)