Commit 3cdea2b4 by Andy Hutchinson

lto.c (O_BINARY): Define.


2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>

   * lto.c (O_BINARY): Define.
   (lto_read_section_data): Open file in binary mode.
   * lto-elf.c (O_BINARY): Define.
   (lto_elf_file_open): Open file in binary mode.

From-SVN: r155820
parent 2685baa1
2010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
* lto.c (O_BINARY): Define.
(lto_read_section_data): Open file in binary mode.
* lto-elf.c (O_BINARY): Define.
(lto_elf_file_open): Open file in binary mode.
2010-01-08 Richard Guenther <rguenther@suse.de>
PR lto/42528
......
......@@ -29,6 +29,13 @@ along with GCC; see the file COPYING3. If not see
#include "ggc.h"
#include "lto-streamer.h"
/* Handle opening elf files on hosts, such as Windows, that may use
text file handling that will break binary access. */
#ifndef O_BINARY
# define O_BINARY 0
#endif
/* Initialize FILE, an LTO file object for FILENAME. */
static void
......@@ -580,7 +587,8 @@ lto_elf_file_open (const char *filename, bool writable)
elf_file->fd = -1;
/* Open the file. */
elf_file->fd = open (fname, writable ? O_WRONLY|O_CREAT : O_RDONLY, 0666);
elf_file->fd = open (fname, writable ? O_WRONLY|O_CREAT|O_BINARY
: O_RDONLY|O_BINARY, 0666);
if (elf_file->fd == -1)
{
error ("could not open file %s", fname);
......
......@@ -50,6 +50,14 @@ along with GCC; see the file COPYING3. If not see
#include <sys/mman.h>
#endif
/* Handle opening elf files on hosts, such as Windows, that may use
text file handling that will break binary access. */
#ifndef O_BINARY
# define O_BINARY 0
#endif
DEF_VEC_P(bitmap);
DEF_VEC_ALLOC_P(bitmap,heap);
......@@ -421,7 +429,7 @@ lto_read_section_data (struct lto_file_decl_data *file_data,
if (fd == -1)
{
fd_name = xstrdup (file_data->file_name);
fd = open (file_data->file_name, O_RDONLY);
fd = open (file_data->file_name, O_RDONLY|O_BINARY);
if (fd == -1)
return NULL;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment