+2004-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa-host.c (MAP_FAILED): Define if not defined.
+ (pa_gt_pch_use_address): Handle short reads.
+
2004-12-14 Richard Henderson <rth@redhat.com>
PR target/17990
#include "hosthooks.h"
#include "hosthooks-def.h"
+#ifndef MAP_FAILED
+#define MAP_FAILED (void *)-1L
+#endif
+
static void *pa_gt_pch_get_address (size_t, int);
static int pa_gt_pch_use_address (void *, size_t, int, size_t);
if (lseek (fd, offset, SEEK_SET) == (off_t)-1)
return -1;
- if (read (fd, base, size) == -1)
- return -1;
+ while (size)
+ {
+ ssize_t nbytes;
+
+ nbytes = read (fd, base, MIN (size, SSIZE_MAX));
+ if (nbytes <= 0)
+ return -1;
+ base = (char *) base + nbytes;
+ size -= nbytes;
+ }
return 1;
}