This is the mail archive of the
libc-alpha@sourceware.cygnus.com
mailing list for the glibc project.
Re: sparc32 still broken with 2.1.2pre3 in lxstat64 (was: glibc 2.1.2pre3)
- To: Ben Collins <bcollins@debian.org>
- Subject: Re: sparc32 still broken with 2.1.2pre3 in lxstat64 (was: glibc 2.1.2pre3)
- From: Ulrich Drepper <drepper@cygnus.com>
- Date: 25 Aug 1999 20:43:39 -0700
- Cc: GNU libc testers <libc-alpha@sourceware.cygnus.com>
- References: <m34shnpla7.fsf@localhost.localnet> <19990825215605.A5241@lappy.visi.net>
- Reply-To: drepper@cygnus.com (Ulrich Drepper)
Ben Collins <bcollins@debian.org> writes:
> I still have the same sparc32 problem. I've narrowed it down to
> something screwy in lxstat64(), but haven't been able to get any further
> than that with it.
Please try the appended patch.
--
---------------. drepper at gnu.org ,-. 1325 Chesapeake Terrace
Ulrich Drepper \ ,-------------------' \ Sunnyvale, CA 94089 USA
Cygnus Solutions `--' drepper at cygnus.com `------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1999-07-25 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/unix/sysv/linux/sparc/bits/types.h: Define always
__qaddr_t.
__ino64_t should be 32bit unsigned type on sparc32.
Define __off64_t to __quad_t instead of __int64_t.
Make __pic_pid_t unsigned on sparc32.
--- ./sysdeps/unix/sysv/linux/sparc/bits/types.h.jj Fri Jul 23 20:00:24 1999
+++ ./sysdeps/unix/sysv/linux/sparc/bits/types.h Sun Jul 25 18:02:58 1999
@@ -61,23 +61,23 @@ typedef unsigned int __uint32_t;
#if __WORDSIZE == 64
typedef signed long int __int64_t;
typedef unsigned long int __uint64_t;
-typedef __quad_t *__qaddr_t;
#else
# ifdef __GNUC__
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
# endif
#endif
+typedef __quad_t *__qaddr_t;
typedef __u_quad_t __dev_t; /* Type of device numbers. */
typedef __u_int __uid_t; /* Type of user identifications. */
typedef __u_int __gid_t; /* Type of group identifications. */
typedef __u_long __ino_t; /* Type of file serial numbers. */
-typedef __uint64_t __ino64_t; /* Type of file serial numbers. */
+typedef __u_long __ino64_t; /* Type of file serial numbers. */
typedef __u_int __mode_t; /* Type of file attribute bitmasks. */
typedef __u_int __nlink_t; /* Type of file link counts. */
typedef long int __off_t; /* Type of file sizes and offsets. */
-typedef __int64_t __off64_t; /* "" (LFS) */
+typedef __quad_t __off64_t; /* "" (LFS) */
typedef __quad_t __loff_t; /* Type of file sizes and offsets. */
typedef int __pid_t; /* Type of process identifications. */
#if __WORDSIZE == 64
@@ -138,9 +138,9 @@ typedef int __key_t;
/* Used in `struct shmid_ds'. */
#if __WORDSIZE == 64
-typedef int __ipc_pid_t;
+typedef int __ipc_pid_t;
#else
-typedef short int __ipc_pid_t;
+typedef unsigned short int __ipc_pid_t;
#endif