aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2009-10-01 15:32:01 +0000
committerRichard Guenther <rguenther@suse.de>2009-10-01 15:32:01 +0000
commit39bf68892ddfebeff7e7685e56315783de40c52e (patch)
tree6dab98fa9f1b50d99db611b7c4cb7bcd646cf872
parent9c3274ee04040a4fd82bfab6f2c2f22b5786527c (diff)
2009-10-01 Richard Guenther <rguenther@suse.de>
* lto.c (lto_read_section_data): Use plain lseek/read. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@152376 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/lto/ChangeLog4
-rw-r--r--gcc/lto/lto.c8
2 files changed, 6 insertions, 6 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index cee91d08f28..07901dd9b34 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,5 +1,9 @@
2009-10-01 Richard Guenther <rguenther@suse.de>
+ * lto.c (lto_read_section_data): Use plain lseek/read.
+
+2009-10-01 Richard Guenther <rguenther@suse.de>
+
* lto.c (LTO_MMAP_IO): Define if we can mmap files and
use sysconf to query the system page size.
(lto_file_read): Implement fallback using stdio.
diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c
index 999965f79fa..312cc979440 100644
--- a/gcc/lto/lto.c
+++ b/gcc/lto/lto.c
@@ -357,8 +357,6 @@ lto_read_section_data (struct lto_file_decl_data *file_data,
intptr_t computed_len;
intptr_t computed_offset;
intptr_t diff;
-#else
- FILE *file;
#endif
if (file_data->fd == -1)
@@ -394,10 +392,8 @@ lto_read_section_data (struct lto_file_decl_data *file_data,
close (file_data->fd);
return NULL;
}
- file = fdopen (file_data->fd, "r");
- if (file == NULL
- || fseek (file, offset, SEEK_SET) != 0
- || fread (result, 1, len, file) != len)
+ if (lseek (file_data->fd, offset, SEEK_SET) != offset
+ || read (file_data->fd, result, len) != (ssize_t) len)
{
free (result);
close (file_data->fd);