Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 160721 Details for
Bug 222275
stat64 needs biarch support
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Fix.
strace-stat64.patch (text/plain), 2.23 KB, created by
Jan Kratochvil
on 2007-08-05 22:27:43 UTC
(
hide
)
Description:
Fix.
Filename:
MIME Type:
Creator:
Jan Kratochvil
Created:
2007-08-05 22:27:43 UTC
Size:
2.23 KB
patch
obsolete
>2007-08-05 Jan Kratochvil <jan.kratochvil@redhat.com> > > * file.c: New #include <assert.h>. > (HAVE_STAT64, stat64) [LINUX && X86_64 && __GNUC__]: New definitions. > (printstat64) [HAVE_STAT64]: Assert the I386 `struct stat64' size. > (printstat64) [!HAVE_LONG_LONG]: Support the ST_SIZE printing. > Fixes RH#222275. > >--- file.c 24 Jul 2007 01:57:11 -0000 1.84 >+++ file.c 5 Aug 2007 21:41:33 -0000 >@@ -34,6 +34,7 @@ > #include "defs.h" > > #include <dirent.h> >+#include <assert.h> > #ifdef LINUX > #define dirent kernel_dirent > #define dirent64 kernel_dirent64 >@@ -193,6 +194,47 @@ struct stat_sparc64 { > #define sys_ftruncate64 sys_ftruncate > #endif > >+/* >+ * Linux x86_64 has unified `struct stat' but its i386 biarch needs >+ * `struct stat64'. Its <asm-i386/stat.h> definition expects 32-bit `long'. >+ * <linux/include/asm-x86_64/ia32.h> is not in the public includes set. >+ * __GNUC__ is needed for the required __attribute__ below. >+ */ >+#if defined LINUX && defined X86_64 && defined __GNUC__ >+#define HAVE_STAT64 1 /* Ugly hack */ >+struct stat64 { >+ unsigned long st_dev; >+ unsigned char __pad0[4]; >+ >+ unsigned int __st_ino; >+ >+ unsigned int st_mode; >+ unsigned int st_nlink; >+ >+ unsigned int st_uid; >+ unsigned int st_gid; >+ >+ unsigned long st_rdev; >+ unsigned char __pad3[4]; >+ >+ long st_size; >+ unsigned int st_blksize; >+ >+ unsigned long st_blocks; /* Number 512-byte blocks allocated. */ >+ >+ unsigned int st_atime; >+ unsigned int st_atime_nsec; >+ >+ unsigned int st_mtime; >+ unsigned int st_mtime_nsec; >+ >+ unsigned int st_ctime; >+ unsigned int st_ctime_nsec; >+ >+ unsigned long st_ino; >+} __attribute__((__packed__)); >+#endif >+ > #ifdef MAJOR_IN_SYSMACROS > #include <sys/sysmacros.h> > #endif >@@ -990,6 +1032,10 @@ struct tcb *tcp; > long addr; > { > struct stat64 statbuf; >+ >+#if defined LINUX && (defined X86_64 || defined I386) >+ assert (sizeof (statbuf) == 96); >+#endif > > #ifdef LINUXSPARC > if (current_personality == 1) { >@@ -1058,7 +1104,11 @@ long addr; > #endif /* !HAVE_STRUCT_STAT_ST_RDEV */ > break; > default: >- tprintf("st_size=%llu, ", statbuf.st_size); >+#ifdef HAVE_LONG_LONG >+ tprintf("st_size=%llu, ", (unsigned long long) statbuf.st_size); >+#else >+ tprintf("st_size=%lu, ", (unsigned long) statbuf.st_size); >+#endif > break; > } > if (!abbrev(tcp)) {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 222275
: 160721