Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 15 Apr 2014 15:03:54 -0400
From: "" <>
Subject: Re: fopen64 and friends as aliases

On 04/15/2014 10:21 AM, Rich Felker wrote:
> On Tue, Apr 15, 2014 at 06:59:46AM -0700, wrote:
>>     Greetings,
>>     I could not find in the archives any discussion of the above topic, and
>>     was therefore wondering: would it be possible to have fopen64 and friends
>>     (fseeko64, ftello64, tmpfile64) as aliases of the non-prefixed functions,
>>     rather than having them #define'd as synonyms?  This will make most of the
>>     musl-llvm patch unnecessary, and could probably help with other packages
>>     as well.
>>     Kind regards,
>>     zg
> For some of them like stat64, the #define is necessary anyway since
> there is a struct that also needs to be mapped. So it's not so simple.
> In any case, the aliases already exist for binary compatibility, but
> some of them would be masked by these defines even if we declared them
> in the public headers.
> Really what you're asking for is just a workaround of a nonsensical
> bug in llvm, which should just be fixed. There is no excuse for the
> hack they're doing with namespaces; instead the names should just be
> properly prefixed to avoid clashing.

I understand.  In that case, and for those functions that do not require an extra structure mapping, what is the advantage of

	#define fopen64 fopen


	FILE *fopen64 (const char *__restrict, const char *__restrict);

If the weak alias is already there anyway, then using the latter should only "penalize" (by adding a reference to the extra symbol) those apps/libs that use fopen64 in the first place.  Is that correct?

> Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.