aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/avr/driver-avr.c13
2 files changed, 19 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e3bf58e..36e027a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-04-09 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/65296
+ * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
+ device specs file if "device-specs%s" didn't resolve to a path.
+
2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
PR target/65676
diff --git a/gcc/config/avr/driver-avr.c b/gcc/config/avr/driver-avr.c
index 4890a39..75d7e6f 100644
--- a/gcc/config/avr/driver-avr.c
+++ b/gcc/config/avr/driver-avr.c
@@ -80,6 +80,19 @@ avr_devicespecs_file (int argc, const char **argv)
return X_NODEVLIB;
case 1:
+ if (0 == strcmp ("device-specs", argv[0]))
+ {
+ /* FIXME: This means "device-specs%s" from avr.h:DRIVER_SELF_SPECS
+ has not been resolved to a path. That case can occur when the
+ c++ testsuite is run from the build directory. DejaGNU's
+ libgloss.exp:get_multilibs runs $compiler without -B, i.e.runs
+ xgcc without specifying a prefix. Without any prefix, there is
+ no means to find out where the specs files might be located.
+ get_multilibs runs xgcc --print-multi-lib, hence we don't actually
+ need information form a specs file and may skip it here. */
+ return X_NODEVLIB;
+ }
+
mmcu = AVR_MMCU_DEFAULT;
break;