[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 64bits & df



On Wed, Nov 12, 2003 at 01:46:20PM -0500, Ben Collins wrote:
> On Tue, Nov 11, 2003 at 07:40:34PM -0600, Otto Solares wrote:
> > Hi!
> > 
> > i am trying to compile an app with 64bits on a ultrasparc,
> > so i installed lib6-dev-sparc64 package, kernel 2.6.0-test9-bk16:
> > 
> > solca@netra1:~$ gcc -o hello hello.c
> > solca@netra1:~$ file hello
> > hello: ELF 64-bit MSB executable, SPARC V9, version 1 (SYSV), for GNU/Linux 2.4.18, dynamically linked (uses shared libs), not stripped
> > solca@netra1:~$ ./hello
> > ./hello: error while loading shared libraries: /lib64/libc.so.6: unexpected reloc type 0x08
> 
> Something is currently broken with glibc for 64-bit. I'm not sure what
> or why, but I have to look at it this week.

i was trying to compile glibc to figure out something but is too big to my poor sparcs :(

> > and this 'df' problem:
> > 
> > solca@netra1:~$ df -h
> > Filesystem            Size  Used Avail Use% Mounted on
> > df: `/': Invalid argument
> > df: `/proc': Invalid argument
> > df: `/dev/pts': Invalid argument
> > df: `/sys': Invalid argument
> 
> df is working fine for me. Is something broken in your /etc/fstab?

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>               <dump>  <pass>
/dev/md0        /               ext3    errors=remount-ro,noatime 0     1
/dev/md1        none            swap    sw                      0       0
/dev/cdrom      /cdrom          iso9660 ro,user,noauto          0       0
proc            /proc           proc    defaults                0       0
sys             /sys            sysfs   defaults                0       0

strace on x86 sid show that df uses statfs:

statfs64("/", 84, {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=984313, f_bfree=686620, f_bavail=636618, f_files=500960, f_ffree=418223, f_fsid={0, 0}, f_namelen=255, f_frsize=4096}) = 0
write(1, "/dev/hda2             3.8G  1.2G"..., 46) = 46
statfs64("/proc", 84, {f_type="PROC_SUPER_MAGIC", f_bsize=4096, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={0, 0}, f_namelen=255, f_frsize=4096}) = 0
statfs64("/dev/pts", 84, {f_type="DEVPTS_SUPER_MAGIC", f_bsize=4096, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={0, 0}, f_namelen=255, f_frsize=4096}) = 0
statfs64("/var/spool/squid", 84, {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=4810951, f_bfree=789964, f_bavail=545575, f_files=2448000, f_ffree=1509469, f_fsid={0, 0}, f_namelen=255, f_frsize=4096}) = 0
write(1, "/dev/hdc1              19G   16G"..., 61) = 61
statfs64("/sys", 84, {f_type=0x62656572, f_bsize=4096, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={0, 0}, f_namelen=255, f_frsize=4096}) = 0

strace on sparc sid uses nis_syscall:

---
> nis_syscall(0x29240, 0x58)              = -1 EINVAL (Invalid argument)
> write(2, "df: ", 4)                     = 4
> write(2, "`/\'", 3)                     = 3
> write(2, ": Invalid argument", 18)      = 18
> write(2, "\n", 1)                       = 1
> nis_syscall(0x29298, 0x58)              = -1 EINVAL (Invalid argument)
> write(2, "df: ", 4)                     = 4
> write(2, "`/proc\'", 7)                 = 7
> write(2, ": Invalid argument", 18)      = 18
> write(2, "\n", 1)                       = 1
> nis_syscall(0x292f0, 0x58)              = -1 EINVAL (Invalid argument)
> write(2, "df: ", 4)                     = 4
> write(2, "`/dev/pts\'", 10)             = 10
> write(2, ": Invalid argument", 18)      = 18
> write(2, "\n", 1)                       = 1
> nis_syscall(0x29348, 0x58)              = -1 EINVAL (Invalid argument)
> write(2, "df: ", 4)                     = 4
> write(2, "`/sys\'", 6)                  = 6
> write(2, ": Invalid argument", 18)      = 18
> write(2, "\n", 1)                       = 1

i can confirm this behavior on 3 differents sparcs with sid, woody uses statfs.

-solca



Reply to: