From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18360 invoked by alias); 4 Aug 2009 15:33:09 -0000 Received: (qmail 18351 invoked by uid 22791); 4 Aug 2009 15:33:08 -0000 X-SWARE-Spam-Status: No, hits=-1.3 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_13 X-Spam-Check-By: sourceware.org Received: from mail.redpinesignals.com (HELO mail.redpinesignals.com) (203.196.161.92) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 04 Aug 2009 15:33:01 +0000 Received: from [192.168.40.84] ([192.168.40.84]) (authenticated user sumanth.gundapneni@redpinesignals.com) by mail.redpinesignals.com; Tue, 4 Aug 2009 20:53:58 +0530 Message-ID: <4A785089.40000@redpinesignals.com> Date: Tue, 04 Aug 2009 15:35:00 -0000 From: sumanth User-Agent: Thunderbird 2.0.0.16 (X11/20080707) MIME-Version: 1.0 To: Jim Wilson CC: gcc@gcc.gnu.org Subject: Re: extern variable References: <4A71B07A.1030600@redpinesignals.com> <4A75EA44.8050201@codesourcery.com> <4A76641A.1010503@redpinesignals.com> <1249315349.2559.12.camel@localhost> <4A772E41.6090302@redpinesignals.com> <1249330097.2561.4.camel@localhost> In-Reply-To: <1249330097.2561.4.camel@localhost> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2009-08/txt/msg00070.txt.bz2 Hi jim , forgot to mention , I am accessing variable a as extern in file2.c I am going through the solutions pointed by you but not able to figure out one . Thanks , Sumanth G Jim Wilson wrote: > On Tue, 2009-08-04 at 00:06 +0530, sumanth wrote: > >> > mycompiler-gcc -g file1.c file2.c >> > mycompiler-gdb a.out >> >> when i print "a" in file1.c , i am able to see value 10; >> >> when i print "a" int file2.c, it prints , no symbol defined. >> Instead I can access it with " print _a" >> > > This sounds odd, as there is no variable a or _a in file2.c, and if you > can see a variable in one file you should be able to see if with the > same name in another file. > > Anyways, I think I already answered this with my first message when I > pointed you at ASM_OUTPUT_* and ASM_GENERATE_INTERNAL_LABEL etc. If you > compile with -g -S, and look at the assembly language, you will see that > "_a" is being used in the debug info someplace for the variable name > where "a" should be used instead. "_a" is correct for the variable > address, but not the variable name. So you will have to step through > your gcc port to figure out why the "_a" is incorrectly printed, and > most likely it is a bug in one of the macros I have mentioned. Take a > look at a port that handles this correctly to see what they do > differently to make this work. > > Jim > > > > >