From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/41 Path: news.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: Cleanup patches Date: Mon, 6 Jun 2011 14:58:00 -0400 Message-ID: <20110606185800.GE191@brightrain.aerifal.cx> References: <60BABB60-7D9B-4D66-8645-4CDFD07E1338@palsenberg.com> <20110606171317.GN6142@port70.net> <20110606173210.GD191@brightrain.aerifal.cx> <20110606183115.GA5512@port70.net> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1307387132 9557 80.91.229.12 (6 Jun 2011 19:05:32 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 6 Jun 2011 19:05:32 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-124-gllmg-musl=m.gmane.org@lists.openwall.com Mon Jun 06 21:05:29 2011 Return-path: Envelope-to: gllmg-musl@lo.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by lo.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1QTf76-0005Y2-RP for gllmg-musl@lo.gmane.org; Mon, 06 Jun 2011 21:05:24 +0200 Original-Received: (qmail 24191 invoked by uid 550); 6 Jun 2011 19:05:24 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 24182 invoked from network); 6 Jun 2011 19:05:24 -0000 Content-Disposition: inline In-Reply-To: <20110606183115.GA5512@port70.net> User-Agent: Mutt/1.5.21 (2010-09-15) Xref: news.gmane.org gmane.linux.lib.musl.general:41 Archived-At: On Mon, Jun 06, 2011 at 08:31:15PM +0200, Szabolcs Nagy wrote: > the c compiler may use different asm syntax than you do? > so $(AS) can be something that knows your .s syntax Except that inline asm is also used, so they must agree. > what's the difference between > static int f() { stuff(); } > int g() __attribute__((weak, alias("f"))); > and > int g() { stuff(); } The former provides a tentative definition of g which will avoid pulling in other .o files from an archive (.a) to satisfy references to g, but which allows another .o file which defines g to override the tentative definition. The latter provides a full definition of g which will result in link errors if g is defined elsewhere. Rich