From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7687 invoked by alias); 12 Jun 2011 17:06:21 -0000 Received: (qmail 7679 invoked by uid 22791); 12 Jun 2011 17:06:21 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST X-Spam-Check-By: sourceware.org Received: from mail-qw0-f47.google.com (HELO mail-qw0-f47.google.com) (209.85.216.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 12 Jun 2011 17:06:07 +0000 Received: by qwh5 with SMTP id 5so2161000qwh.20 for ; Sun, 12 Jun 2011 10:06:06 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.131.32 with SMTP id v32mr3136193qcs.35.1307898366264; Sun, 12 Jun 2011 10:06:06 -0700 (PDT) Received: by 10.229.47.78 with HTTP; Sun, 12 Jun 2011 10:06:06 -0700 (PDT) In-Reply-To: <20110612163302.GD19441@kam.mff.cuni.cz> References: <20110611125552.GA25068@kam.mff.cuni.cz> <20110612145443.GA7920@kam.mff.cuni.cz> <20110612163302.GD19441@kam.mff.cuni.cz> Date: Sun, 12 Jun 2011 17:46:00 -0000 Message-ID: Subject: Re: Cgraph alias reorg 15/14 (New infrastructure for same body aliases) From: "H.J. Lu" To: Jan Hubicka Cc: gcc-patches@gcc.gnu.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-06/txt/msg00952.txt.bz2 On Sun, Jun 12, 2011 at 9:33 AM, Jan Hubicka wrote: >> On Sun, Jun 12, 2011 at 7:54 AM, Jan Hubicka wrote: >> >> >> >> This also pretty much destroyed C++ for ia32: >> >> >> >> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D49378 >> >> http://gcc.gnu.org/ml/gcc-regression/2011-06/msg00159.html >> > >> > Hi, >> > It seems somewhat amazing that we hit kernel sensitive miscompilation = here. >> > The problem most probably is the fact that thunks and functions with t= hunks can become >> > local. This is correct since thunks are represented as direct calls no= w, but this >> > makes i386 to use local ABI when calling or compiling them. >> > >> >> For x86-64, we use the same ABI for local and global. But RAX seems >> used and uninitialized in thunk. > 000000000006d270 <_ZN12_GLOBAL__N_121system_error_categoryD0Ev>: > =A0 6d270: =A0 =A0 =A0 48 8d 05 79 d4 27 00 =A0 =A0lea =A0 =A00x27d479(%r= ip),%rax =A0 =A0 =A0 =A0# > 2ea6f0 <_ZTVN12_GLOBAL__N_121system_error_categoryE+0x10> > =A0 6d277: =A0 =A0 =A0 53 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0push= =A0 %rbx > =A0 6d278: =A0 =A0 =A0 48 89 fb =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0mov =A0 = =A0%rdi,%rbx > =A0 6d27b: =A0 =A0 =A0 48 89 07 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0mov =A0 = =A0%rax,(%rdi) > =A0 6d27e: =A0 =A0 =A0 e8 55 a0 fe ff =A0 =A0 =A0 =A0 =A0callq =A0572d8 > <_ZNSt14error_categoryD2Ev@plt> > =A0 6d283: =A0 =A0 =A0 48 89 df =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0mov =A0 = =A0%rbx,%rdi > =A0 6d286: =A0 =A0 =A0 5b =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0pop = =A0 =A0%rbx > =A0 6d287: =A0 =A0 =A0 e9 2c 9d fe ff =A0 =A0 =A0 =A0 =A0jmpq =A0 56fb8 <= _ZdlPv@plt> > =A0 6d28c: =A0 =A0 =A0 90 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0nop > =A0 6d28d: =A0 =A0 =A0 90 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0nop > =A0 6d28e: =A0 =A0 =A0 90 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0nop > =A0 6d28f: =A0 =A0 =A0 90 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0nop > > I don't see uinitialized RAX here. =A0It is set by the first LEA You are right. --=20 H.J.