From a65988d01557606296f420968e921ef58fd193b2 Mon Sep 17 00:00:00 2001
From: marxin <mliska@suse.cz>
Date: Thu, 19 May 2016 14:17:03 +0200
Subject: [PATCH] LTO: display file name if LTO version check fails
gcc/ChangeLog:
2016-05-19 Martin Liska <mliska@suse.cz>
* lto-section-in.c (lto_get_section_data): Call
lto_check_version with additional argument.
* lto-streamer.c (lto_check_version): Add new argument.
* lto-streamer.h (lto_check_version): Likewise.
---
gcc/lto-section-in.c | 3 ++-
gcc/lto-streamer.c | 7 ++++---
gcc/lto-streamer.h | 2 +-
3 files changed, 7 insertions(+), 5 deletions(-)
@@ -168,7 +168,8 @@ lto_get_section_data (struct lto_file_decl_data *file_data,
}
lto_check_version (((const lto_header *)data)->major_version,
- ((const lto_header *)data)->minor_version);
+ ((const lto_header *)data)->minor_version,
+ file_data->file_name);
return data;
}
@@ -376,12 +376,13 @@ lto_orig_address_remove (tree t)
/* Check that the version MAJOR.MINOR is the correct version number. */
void
-lto_check_version (int major, int minor)
+lto_check_version (int major, int minor, const char *file_name)
{
if (major != LTO_major_version || minor != LTO_minor_version)
fatal_error (input_location,
- "bytecode stream generated with LTO version %d.%d instead "
- "of the expected %d.%d",
+ "bytecode stream in file '%s' generated with LTO version "
+ "%d.%d instead of the expected %d.%d",
+ file_name,
major, minor,
LTO_major_version, LTO_minor_version);
}
@@ -844,7 +844,7 @@ extern void lto_orig_address_map (tree, intptr_t);
extern intptr_t lto_orig_address_get (tree);
extern void lto_orig_address_remove (tree);
#endif
-extern void lto_check_version (int, int);
+extern void lto_check_version (int, int, const char *);
extern void lto_streamer_hooks_init (void);
/* In lto-streamer-in.c */
--
2.8.2