PATCH: Fix struct stat [__USE_FILE_OFFSET64] in sysdeps/unix/sysv/linux/bits/stat.h

Uwe Reimann libc-alpha@pulsar.homelinux.net
Wed Jun 4 11:11:00 GMT 2003


Hi,

Hans-Peter Nilsson wrote:
> Hi.
>
 >
> This bug is visible for programs compiled with
> -D_FILE_OFFSET_BITS=64 on platforms where the ABI says there is
> no alignment-padding between structure elements.  AFAIK only
> cris-axis-linux-gnu matches that description.  The bug causes
> struct stat and struct stat64 to have different layout.  To
> repeat, compile GNU awk (3.1.1 specifically) on a
> cris-axis-linux-gnu platform.  Boom; "gawk: fatal error:
> internal error" even with just "gawk --help".  Reportedly ls
> (from fileutils?) is also built with _FILE_OFFSET_BITS 64 by
> default; the bug "only" causes erroneous output there.
> User-level workaround: don't compile programs with
> -D_FILE_OFFSET_BITS=64 (usually translates to: configure
> programs with --disable-largefile).
> 

The patch fixed the problem with ls (which is from fileutils-4.1.11). 
Thanks for that.

However, I am still having a problem with bash-2.05b with glibc-2.3.1 on 
cris. When invoking configure for fileutils-4.1.11 I get the following 
error (this is done on cris):

./configure: line 1: Generated: command not found
./configure: line 399: syntax error near unexpected token `then'
./configure: line 399: `$ac_unique_file; then'

The first three lines from configure look like that:

#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.53b for GNU fileutils 4.1.11.

So, it looks like bash (or glibc) starts to read at column 2 in the 
third line.

This happens with both, the bash binary I was using until now, which is 
compiled against cris-dist-glibc-1.25, or a new binary compiled against 
a patched glibc-2.3.1 (no difference between a static or shared one).

This might not be glibc related. But as bash works with 
cris-dist-glibc-1.25, I think it is.

Any ideas?

Best regards, Uwe



More information about the Libc-alpha mailing list