[uClibc]e2fsck problem: (Bad address) while doing inode scan

Giulio Orsero giulioo at pobox.com
Mon Mar 31 17:54:05 UTC 2003


On Mon, 31 Mar 2003 09:23:25 -0700, Erik Andersen <andersen at codepoet.org>
wrote:

>> hda4 is about 9GB
>[--------snip----------]
>> _llseek(3, 4294967296, 0x9febfc00, SEEK_SET) = -1 EFAULT (Bad address)
>
>Ok.  So you have a 9 GB drive.  And you try to seek past 4 GB
>with a kernel that does not have large file support, and the
>kernel is responding by telling you it can't do that.
>This doesn't look like a uClibc problem to me,

Remember that is strace of
e2fsck ..device..

Are you saying that 2.0 and 2.2 kernels without LFS cannot support e2fsck
checking partitions larger that 2GB?

The e2fsck linked against libc5 or glibc-2.2 completes the check on the very
same partitions using the same runnig kernel. This is why I'm wondering what
I might have messed up with uclibc. Maybe e2fsprogs misdetects uclibc
headers and self-configure with wrong assumptions at compile time?

I set up environment this way before compiling:
export PATH=/usr/i386-linux22-uclibc/usr/bin:$PATH
export CC=/usr/i386-linux22-uclibc/usr/bin/gcc

This is what e2fsprogs set up
DEFS =  -DENABLE_HTREE=1 -DENABLE_SWAPFS=1 -DPACKAGE=\"e2fsprogs\"
-DVERSION=\"1.32\" -DSTDC_HEADERS=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1
-DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_LIMITS_H=1
-DHAVE_LOCALE_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_STRING_H=1
-DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_GETCWD=1 -DHAVE_MUNMAP=1
-DHAVE_PUTENV=1 -DHAVE_SETENV=1 -DHAVE_SETLOCALE=1 -DHAVE_STRCHR=1
-DHAVE_STRCASECMP=1 -DHAVE_STRDUP=1 -DHAVE_STPCPY=1 -DHAVE_STPCPY=1
-DHAVE_LC_MESSAGES=1 -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1
-DHAVE_ERRNO_H=1 -DHAVE_MALLOC_H=1 -DHAVE_MNTENT_H=1 -DHAVE_PATHS_H=1
-DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SETJMP_H=1 -DHAVE_SIGNAL_H=1
-DHAVE_TERMIOS_H=1 -DHAVE_LINUX_FD_H=1 -DHAVE_LINUX_MAJOR_H=1
-DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_MOUNT_H=1 -DHAVE_SYS_SYSMACROS_H=1
-DHAVE_SYS_TIME_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1
-DHAVE_NET_IF_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_VPRINTF=1 -DSIZEOF_SHORT=2
-DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8 -DHAVE_GETRUSAGE=1
-DHAVE_STRCASECMP=1 -DHAVE_SRANDOM=1 -DHAVE_FCHOWN=1 -DHAVE_FDATASYNC=1
-DHAVE_STRNLEN=1 -DHAVE_SYSCONF=1 -DHAVE_PATHCONF=1 -DHAVE_EXT2_IOCTLS=1
CFLAGS = -g -O2

Thanks

-- 
giulioo at pobox.com



More information about the uClibc mailing list