[adding bug-gnulib] On 03/29/2010 02:12 PM, Christian Weisgerber wrote: > 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.
Yep, tar borrows this from gnulib. It shouldn't be too hard to address in gnulib, at which point, the next tar release to use a new gnulib will automatically be fixed. -- Eric Blake ebl...@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature