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

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


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: BZ #2450 fix breaks 64-bit builds


On Wed, Apr 05, 2006 at 03:50:39PM +0930, Alan Modra wrote:
> On Wed, Apr 05, 2006 at 03:39:58PM +0930, Alan Modra wrote:
> > ../posix/bits/unistd.h:95: error: conflicting types for âreadlinkâ
> > ../posix/unistd.h:775: error: previous declaration of âreadlinkâ was here
> > 
> > 
> > 2006-04-05  Alan Modra  <amodra@bigpond.net.au>
> > 
> > 	* posix/bits/unistd.h (readlink): Update.
> 
> Oops.  Hit send too quickly.  Obviously, __readlink_chk and
> __readlink_alias need updating too.

Yeah, here is what I have tested.  debug/readlink_chk.c surprisingly
was already using ssize_t return type.

2006-04-05  Alan Modra  <amodra@bigpond.net.au>
	    Jakub Jelinek  <jakub@redhat.com>

	* posix/bits/unistd.h (readlink, __readlink_chk, __readlink_alias):
	Change return value to ssize_t.

--- libc/posix/bits/unistd.h.jj	2005-08-17 18:03:25.000000000 +0200
+++ libc/posix/bits/unistd.h	2006-04-05 13:09:36.000000000 +0200
@@ -1,5 +1,5 @@
 /* Checking macros for unistd functions.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -80,16 +80,16 @@ pread64 (int __fd, void *__buf, size_t _
 #endif
 
 #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K
-extern int __readlink_chk (__const char *__restrict __path,
-			   char *__restrict __buf, size_t __len,
-			   size_t __buflen)
+extern ssize_t __readlink_chk (__const char *__restrict __path,
+			       char *__restrict __buf, size_t __len,
+			       size_t __buflen)
      __THROW __nonnull ((1, 2)) __wur;
-extern int __REDIRECT_NTH (__readlink_alias,
-			   (__const char *__restrict __path,
-			    char *__restrict __buf, size_t __len), readlink)
+extern ssize_t __REDIRECT_NTH (__readlink_alias,
+			       (__const char *__restrict __path,
+				char *__restrict __buf, size_t __len), readlink)
      __nonnull ((1, 2)) __wur;
 
-extern __always_inline __nonnull ((1, 2)) __wur int
+extern __always_inline __nonnull ((1, 2)) __wur ssize_t
 __NTH (readlink (__const char *__restrict __path, char *__restrict __buf,
 		 size_t __len))
 {


	Jakub


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