Add error checking to lto_section_read

gcc/lto/:

2011-10-09  Andi Kleen  <ak@linux.intel.com>

	* lto.c (lto_section_read): Call fatal_error on IO or mmap errors.

From-SVN: r180065
This commit is contained in:
Andi Kleen 2011-10-16 23:22:32 +00:00 committed by Andi Kleen
parent b74bdc6145
commit 5958009b73
2 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2011-10-09 Andi Kleen <ak@linux.intel.com>
* lto.c (lto_section_read): Call fatal_error on IO or mmap errors.
2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
* lto-lang.c (def_builtin_1): Delete old interface with two

View File

@ -1237,7 +1237,10 @@ lto_read_section_data (struct lto_file_decl_data *file_data,
{
fd = open (file_data->file_name, O_RDONLY|O_BINARY);
if (fd == -1)
return NULL;
{
fatal_error ("Cannot open %s", file_data->file_name);
return NULL;
}
fd_name = xstrdup (file_data->file_name);
}
@ -1255,7 +1258,10 @@ lto_read_section_data (struct lto_file_decl_data *file_data,
result = (char *) mmap (NULL, computed_len, PROT_READ, MAP_PRIVATE,
fd, computed_offset);
if (result == MAP_FAILED)
return NULL;
{
fatal_error ("Cannot map %s", file_data->file_name);
return NULL;
}
return result + diff;
#else
@ -1264,6 +1270,7 @@ lto_read_section_data (struct lto_file_decl_data *file_data,
|| read (fd, result, len) != (ssize_t) len)
{
free (result);
fatal_error ("Cannot read %s", file_data->file_name);
result = NULL;
}
#ifdef __MINGW32__