From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12373 invoked by alias); 20 Apr 2014 19:09:07 -0000 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 Received: (qmail 12302 invoked by uid 48); 20 Apr 2014 19:09:03 -0000 From: "bernd.edlinger at hotmail dot de" To: gcc-bugs@gcc.gnu.org Subject: [Bug bootstrap/60830] [4.9 Regression] ICE on bootstrapping on cygwin Date: Sun, 20 Apr 2014 19:09:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: bootstrap X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: build X-Bugzilla-Severity: normal X-Bugzilla-Who: bernd.edlinger at hotmail dot de X-Bugzilla-Status: RESOLVED X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.9.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-04/txt/msg01410.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60830 --- Comment #29 from Bernd Edlinger --- Hmm, that is really strange. the crash happens in __gcc_deregister_frame. just break at this function and step. The first call is GetModuleHandle (LIBGCC_SONAME) which returns NULL, so the weak default __deregister_frame_info is used. BUT the address is wrong by 0x10. 00401170 <___gcc_deregister_frame>: 401170: 55 push %ebp 401171: 89 e5 mov %esp,%ebp 401173: 83 ec 18 sub $0x18,%esp 401176: c7 04 24 20 71 47 00 movl $0x477120,(%esp) 40117d: ff 15 50 b4 4c 00 call *0x4cb450 401183: 83 ec 04 sub $0x4,%esp 401186: 85 c0 test %eax,%eax 401188: ba 10 25 47 00 mov $0x472510,%edx 40118d: 74 16 je 4011a5 <___gcc_deregister_frame+0x35> 40118f: c7 44 24 04 67 71 47 movl $0x477167,0x4(%esp) 401196: 00 401197: 89 04 24 mov %eax,(%esp) 40119a: ff 15 54 b4 4c 00 call *0x4cb454 4011a0: 83 ec 08 sub $0x8,%esp 4011a3: 89 c2 mov %eax,%edx 4011a5: 85 d2 test %edx,%edx 4011a7: 74 09 je 4011b2 <___gcc_deregister_frame+0x42> 4011a9: c7 04 24 38 b0 4b 00 movl $0x4bb038,(%esp) 4011b0: ff d2 call *%edx => this call goes to 0x472510 instead of 0x472520. .... 4724ff: e8 fc 01 00 00 call 472700 <_free> 472504: 8b 44 24 1c mov 0x1c(%esp),%eax 472508: 83 c4 28 add $0x28,%esp 47250b: 5b pop %ebx 47250c: c3 ret 47250d: 89 d0 mov %edx,%eax 47250f: ba e4 ac 4c 00 mov $0x4cace4,%edx 472514: eb a6 jmp 4724bc <___deregister_frame_info_bases+0x6c> 472516: 8d 76 00 lea 0x0(%esi),%esi 472519: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi 00472520 <___deregister_frame_info>: 472520: e9 2b ff ff ff jmp 472450 <___deregister_frame_info_bases> 472525: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi 472529: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi