From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18391 invoked by alias); 3 Mar 2010 09:05:12 -0000 Received: (qmail 18297 invoked by uid 22791); 3 Mar 2010 09:05:10 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=BAYES_00 X-Spam-Check-By: sourceware.org Received: from mx0.acri.fr (HELO mx0.acri.fr) (213.244.27.15) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 03 Mar 2010 09:05:04 +0000 Received: from [194.98.101.80] (pim106.acri.fr [194.98.101.80]) by mx0.acri.fr (8.13.6/8.13.6) with ESMTP id o2394qqE029412; Wed, 3 Mar 2010 10:04:52 +0100 (CET) Message-ID: <4B8E2612.8050202@acri-st.fr> Date: Wed, 03 Mar 2010 09:05:00 -0000 From: Cedric Roux User-Agent: Thunderbird 2.0.0.23 (X11/20090817) MIME-Version: 1.0 To: morrell@alumni.ucsd.edu CC: gcc-help@gcc.gnu.org Subject: Re: temp preprocessed filename References: <761579.83235.qm@web112612.mail.gq1.yahoo.com> In-Reply-To: <761579.83235.qm@web112612.mail.gq1.yahoo.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Synonym: Archived With Synonym to: mailcopy@dingo.acri.fr X-IsSubscribed: yes Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org X-SW-Source: 2010-03/txt/msg00034.txt.bz2 Michael Morrell wrote: > Luckily(?), this isn't a ccache issue. I was able to reproduce it with > g++. We're using an ARM cross-compiler from CodeSourcery (Sourcery G++ > 4.3-234). > > To reproduce what I'm seeing: > > % cat foo.cpp > #include > > void foo() {} > % g++ -g -E foo.cpp > foo.ii > % g++ -g -c foo.ii > % readelf -wl foo.o | grep foo > 1 0 0 0 foo.cpp > 6 0 0 0 foo.ii > > There is something in that is triggering this behavior, but I > don't know if it is a cstdlib bug or a compiler bug. > > I'll file a bug report with CodeSourcery, but was curious if anyone here > had any thoughts. I will also try to dig into and see if I > can isolate this further. > > Michael doing: % cat foo.cpp using namespace bar; does include foo.ii. When you do readelf -wlLiaprmfFsoR foo.o (let's be a bit barbarian) in the .debug_info you see that std is seen as being declared in foo.ii (DW_AT_decl_file : 2) (where 2 points to foo.ii) instead of foo.cpp. Don't know if it's expected behavior but maybe your problem is this one.