Date: Tue, 5 Jan 1999 15:37:51 -0500 Message-Id: <199901052037.PAA15120@envy.delorie.com> From: DJ Delorie To: djgpp-workers AT delorie DOT com CC: djgpp-workers AT delorie DOT com In-reply-to: <199901052034.VAA22741@father.ludd.luth.se> (message from Martin Str|mberg on Tue, 5 Jan 1999 21:34:48 +0100 (MET)) Subject: Re: stubs? References: <199901052034 DOT VAA22741 AT father DOT ludd DOT luth DOT se> Reply-To: djgpp-workers AT delorie DOT com > > stubs are only needed when a non-ansi/posix function is called from > > one of libc's ansi/posix functions. Other functions do not pollute > > the ansi/posix namespaces, so do not need stubs. > > Like my proposed functions _get_fs_type() and _get_fat_size()? Right. They don't need stubs. The leading underscores are a different issue completely. Note that stubs aren't needed when the called function doesn't violate the namespace; for example, your functions have underscores, which make them "ansi-safe", so no stubs would be needed even if some ansi function called them. Stubs are usually needed for cases where ansi functions call posix functions, like fopen() calling open(), where the names of both functions are defined by specs, but there are still namespace pollution problems. In those cases, we stub the posix function, have the ansi one call the real function (__open()), and the stub (open()) also calls the real function (__open()). That way, the ansi function never actually calls the function with the polluting name (which would be the stub), it always calls a namespace-safe function (the real one, which now has underscores).