From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24248 invoked by alias); 22 Nov 2004 22:33:42 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 24216 invoked from network); 22 Nov 2004 22:33:36 -0000 Received: from unknown (HELO mail.codesourcery.com) (65.74.133.9) by sourceware.org with SMTP; 22 Nov 2004 22:33:36 -0000 Received: (qmail 27638 invoked from network); 22 Nov 2004 22:33:37 -0000 Received: from localhost (HELO taltos.codesourcery.com) (zack@127.0.0.1) by mail.codesourcery.com with SMTP; 22 Nov 2004 22:33:37 -0000 Received: by taltos.codesourcery.com (sSMTP sendmail emulation); Mon, 22 Nov 2004 14:33:35 -0800 To: Geoff Keating Cc: gcc@gcc.gnu.org Subject: Re: Darwin assert.h / shared libgcc mess References: <87oehyq1km.fsf@codesourcery.com> <87fz3aptq4.fsf@codesourcery.com> <97EC8AC0-3CD3-11D9-B3A6-000A95B1F520@geoffk.org> From: Zack Weinberg Date: Mon, 22 Nov 2004 23:57:00 -0000 In-Reply-To: <97EC8AC0-3CD3-11D9-B3A6-000A95B1F520@geoffk.org> (Geoff Keating's message of "Mon, 22 Nov 2004 14:12:26 -0800") Message-ID: <87oehp5xa8.fsf@codesourcery.com> User-Agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2004-11/txt/msg00766.txt.bz2 Geoff Keating writes: > On 15/11/2004, at 3:39 PM, Zack Weinberg wrote: > >> Geoffrey Keating writes: >> >>>> 2) Put __eprintf back into the shared libgcc, as an exported symbol, >>>> for all !inhibit_libc targets, so that fixincludes can rely on its >>>> being there. (If we instead use __assert, then __eprintf will >>>> remain a static-library-only backward compatibility symbol.) >>> >>> Is this really necessary? I'd rather have __eprintf linked into only >>> those apps that need it. >> >> Right now, any shared library that uses assert will fail to link. >> _Something_ has to be done. I'm open to alternative suggestions. > > What I would do is put __eprintf in the static libgcc.a, and mark it as > hidden visibility so that it's private to each shared library. Indeed, right now I am pursuing just such an idea. It's not done mainly because mklibgcc.in is very hard to modify. zw