From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24729 invoked by alias); 4 Sep 2002 16:20:18 -0000 Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org Received: (qmail 24722 invoked from network); 4 Sep 2002 16:20:15 -0000 Received: from unknown (HELO kanat.pair.com) (209.68.1.142) by sources.redhat.com with SMTP; 4 Sep 2002 16:20:15 -0000 Received: (qmail 32167 invoked by uid 3112); 4 Sep 2002 16:20:12 -0000 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 4 Sep 2002 16:20:12 -0000 Date: Wed, 04 Sep 2002 09:20:00 -0000 From: Rupert Wood To: Claudio Bley cc: GRE Spam Mail , , Subject: Re: undefined reference to `__errno_location(void)' In-Reply-To: <15734.11629.151771.241596@wh2-19.st.uni-magdeburg.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2002-09/txt/msg00035.txt.bz2 Claudio Bley wrote: > GRE> extern int errno; > ^^^^^^^^^^^^^^^^^ > > Remove this line from your source. You get the error because errno is > defined as a macro and the line is expanded to > > extern int (*__errno_location ()); Which, in that scope, is defined as a C++ symbol. Which is why it didn't match the C __errno_location in libpthread. The "d'oh" here is that the clue was in the title: it wouldn't have said "(void)" if it was trying to match a C symbol because it wouldn't have that information. Oh well, we learn. (And good spot, Claudio!) Rup.