------- Additional Comments From fxcoudert at gcc dot gnu dot org 2005-06-18
08:44 -------
The problem is in the different behavior of ftruncate on /dev/null:
$ cat a.c
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
int main (void)
{
int fd = open ("/dev/null", O_RDWR);
ftruncate (fd, 0);
printf ("%d\n", errno);
close (fd);
return 0;
}
On linux, this code outputs 22 (EINVAL), while on freebsd it outputs 0. I
suppose the reason of the failure is similar for other platforms.
I'm sure what to do, but I don't think I'll take too much time thinking about
it, since this a low-priority bug really.
While we wait for this to be solved, I think we should make sure the testcase
only runs on linux and solaris (for which this is known to work).
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |minor
Last reconfirmed|2005-05-17 08:04:28 |2005-06-18 08:44:51
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21593