From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12189 invoked by alias); 15 Nov 2004 23:39:52 -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 12178 invoked from network); 15 Nov 2004 23:39:49 -0000 Received: from unknown (HELO mail.codesourcery.com) (65.74.133.9) by sourceware.org with SMTP; 15 Nov 2004 23:39:49 -0000 Received: (qmail 13016 invoked from network); 15 Nov 2004 23:39:48 -0000 Received: from taltos.codesourcery.com (zack@66.92.218.83) by mail.codesourcery.com with DES-CBC3-SHA encrypted SMTP; 15 Nov 2004 23:39:48 -0000 Received: by taltos.codesourcery.com (sSMTP sendmail emulation); Mon, 15 Nov 2004 15:39:47 -0800 To: Geoffrey Keating Cc: gcc@gcc.gnu.org Subject: Re: Darwin assert.h / shared libgcc mess References: <87oehyq1km.fsf@codesourcery.com> From: Zack Weinberg Date: Tue, 16 Nov 2004 03:49:00 -0000 In-Reply-To: (Geoffrey Keating's message of "15 Nov 2004 14:24:51 -0800") Message-ID: <87fz3aptq4.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/msg00501.txt.bz2 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. >> 5) Determine for certain whether or not Darwin ld supports symbol >> versioning. Correct t-slibgcc-darwin to use the appropriate mkmap >> file and to actually apply the map to the generated libgcc.dylib. > > The Darwin ld does not support symbol versioning. You can safely delete > any versioning files for Darwin (so long as it doesn't break the makefiles). Okay, so t-slibgcc-darwin ought to be using mkmap-flat.awk and -exported_symbols_list. Thanks for the clarification. >> i) Nudzh the Darwin developers to put __assert in libSystem and >> provide a correct /usr/include/assert.h (y'all can just copy it >> from FreeBSD! Only with attribute noreturn, please). > > In Tiger, /usr/include/assert.h will be provided by Libc, not the > compiler, and it will use __assert. Good. zw