| Anonymous | Login | Signup for a new account | 11-10-2008 10:46 PST |
| Main | My View | View Issues | Change Log | Docs |
| Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
| ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
| 0000314 | [uClibc] Architecture Specific | major | always | 06-27-05 23:04 | 08-02-05 20:13 | ||||
| Reporter | jbowler | View Status | public | ||||||
| Assigned To | uClibc | ||||||||
| Priority | normal | Resolution | fixed | ||||||
| Status | closed | Product Version | 0.9.27 | ||||||
| Summary | 0000314: uclibc armeb kernel_stat.h stat64 does not match the 2.6 kernel stat.h | ||||||||
| Description |
linux-2.4.31/include/asm-arm/stat.h: struct stat64 { unsigned short st_dev; linux-2.6.11.11/include/asm-arm/stat.h: struct stat64 { unsigned long long st_dev; Both taken from the www.kernel.org source, no changes. No conditional compilation in either case (for this structure member). Therefore the two relevant (low order) bytes of st_dev are at offset_ofs of: armel 2.4 0 armeb 2.4 0 armel 2.6 0 armeb 2.6 6 Therefore there is an ABI change 2.4->2.6 ARMEB only. There is a similar problem in st_rdev and possibly other fields. |
||||||||
| Additional Information |
The attached patch fixes this without anything conditional in the uclibc header files. The only other fix I can see is to use the real kernel header files in the build (so use the correct header file for the particular kernel) rather than trying to make up one size to fit all. (Note that checks on kernel version are tricky because no appropriate symbol is defined in the scope of the header as it is at present.) |
||||||||
| Attached Files |
|
||||||||
|
|
|||||||||
| Copyright © 2000 - 2006 Mantis Group |