[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-tar] 1.23: FreeBSD 7 bug affects GNU tar
From: |
Christian Weisgerber |
Subject: |
[Bug-tar] 1.23: FreeBSD 7 bug affects GNU tar |
Date: |
Mon, 29 Mar 2010 22:12:02 +0200 |
User-agent: |
Mutt/1.4.2.3i |
There is a stupid, stupid bug in FreeBSD 7 (up to and including the
7.3 release): The fdopendir() function is present in libc, but the
prototype is missing from <dirent.h>.
GNU tar's configure picks up fdopendir(), but since there is no
prototype, it ends up typed as
int fdopendir();
This is bad. fdopendir() returns a pointer, which is truncated
from 64 to 32 bits on LP64 platforms. Running GNU tar's "make
check" leaves a trail of coredumps behind...
The macro complex around m4/dirent*.m4 and m4/fdopendir.m4 needs
some sort of check if fdopendir() is declared, and if not, must
provide a prototype. These macros are probably used in other GNU
projects as well, and bug-tar may not be the right address, but I'm
throwing it out there in the hope that it will reach somebody who
knows how to deal with this properly.
--
Christian "naddy" Weisgerber address@hidden
- [Bug-tar] 1.23: FreeBSD 7 bug affects GNU tar,
Christian Weisgerber <=