This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [COMMITTED PATCH] NaCl: Fix glob.c build after getlogin_r -> __getlogin_r.


On 29 Jun 2015 22:38, Tolga Dalman wrote:
> On 06/25/2015 12:30 AM, Roland McGrath wrote:
> > -#include <unistd.h>			/* Declares getlogin_r.  */
> > +#include <unistd.h>			/* Declares __getlogin_r.  */
> 
> The change itself is good, though I wonder why the include is needed at all.
> Would you help me understand ?

because this file does:
#define __getlogin_r(name, len)     (ENOSYS)
#include <sysdeps/wordsize-64/glob.c>

if the later glob.c files include unistd.h, then the preprocessor will produce 
invalid code.  the prototype will go from something like:
extern int __getlogin_r (char *__name, size_t __name_len) __nonnull ((1));

to:
extern int (ENOSYS) __nonnull ((1));

note: i didn't load up the exact source to see what line(s) would fail, but if 
you're interested, you should be able to reproduce :)
-mike

Attachment: signature.asc
Description: Digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]