BusyBox Bug and Patch Tracking
BusyBox
  

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  armeb-kernel-stat.h.patch [^] (4,801 bytes) 06-27-05 23:04

- Relationships

- Notes
(0000292)
vapier
07-15-05 21:14

should be all set now
 

- Issue History
Date Modified Username Field Change
06-27-05 23:04 jbowler New Issue
06-27-05 23:04 jbowler File Added: armeb-kernel-stat.h.patch
07-15-05 21:14 vapier Status assigned => resolved
07-15-05 21:14 vapier Resolution open => fixed
07-15-05 21:14 vapier Note Added: 0000292
08-02-05 20:13 andersen Status resolved => closed


Copyright © 2000 - 2006 Mantis Group
Powered by Mantis Bugtracker