--- osprey/cygnus/bfd/ipa_ld.c.orig 2008-11-30 17:00:00.000000000 +0100 +++ osprey/cygnus/bfd/ipa_ld.c 2009-01-18 05:46:54.000000000 +0100 @@ -41,7 +41,13 @@ #include /* for chmod(2) */ #include /* for mmap(2) */ #include /* for open(2) */ +#if defined(__FreeBSD__) || defined(__sun) +#include /* for opendir(2), readdir, closedir */ +#include /* for opendir(2), readdir, closedir */ +#define _DIRENT_HAVE_D_NAMLEN +#else #include /* for opendir(2), readdir, closedir */ +#endif #include /* for waitpid(2) */ #include /* for alloca(3) */ #include /* for kill(2) */ @@ -451,7 +457,11 @@ if ( errno == EEXIST && fixedname ) { /* We have an old instance of this directory -- clear it out: */ DIR *dirp; +#if defined(__FreeBSD__) || defined(__sun) + struct dirent *entryp; +#else struct direct *entryp; +#endif char *prefix; dirp = opendir ( tmpdir );