X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f Date: Sat, 01 Jan 2005 12:57:25 +0200 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: djgpp-workers AT delorie DOT com Message-ID: <01c4eff0$Blat.v2.2.2$d6643f20@zahav.net.il> Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=ISO-8859-1 X-Mailer: emacs 21.3.50 (via feedmail 8 I) and Blat ver 2.2.2 In-reply-to: (message from Brian Inglis on Fri, 31 Dec 2004 23:01:02 -0700) Subject: Re: More complaints from tests/libclink/check References: <200501010313 DOT j013Do4F018246 AT speedy DOT ludd DOT ltu DOT se> Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > Date: Fri, 31 Dec 2004 23:01:02 -0700 > From: Brian Inglis > > >You just define your (POSIX) functions that does the real work, adding > >them as stubs to and letting the C (89 or 99) call them > >as necessary. > > I am not sure what you mean by stubs here? See src/libc/stubs/mkstubs.c. This program is invoked during the library build; it scans the libc/stubs.h header and for each stub there produces a stubNN.S file that defines a function which simply jmp's to its alias. Thus, e.g., localtime_r will simply jmp to localtime. The resulting stubNN.S files are then assembled and linked into libc.a. > If the POSIX functions are not declared by including the appropriate > header, or by calling them with a local declaration in scope, or if > compiler options specify -ansi, we should not pollute the ISO Standard > C namespace. The stub method solves this problem, as you only get localtime_r linked in if you reference it in your program. The question is, as I wrote elsewhere in this thread, do we want the *_r functions as simple aliases for the non-*_r functions, or do we really want reentrancy.