summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthopre01 <thopre01@138bc75d-0d04-0410-961f-82ee72b054a4>2016-05-04 13:33:58 +0000
committerthopre01 <thopre01@138bc75d-0d04-0410-961f-82ee72b054a4>2016-05-04 13:33:58 +0000
commit33ac16c8cc870229a6a08cd7037275b01e7a0b9d (patch)
tree38ca3a58fccfa9ba35a9ae03e6fe6a4632ed451a
parent9213244550335bcb2b8590a0d7d58ac74c932361 (diff)
downloadgcc-33ac16c8cc870229a6a08cd7037275b01e7a0b9d.tar.gz
2016-05-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/ * config.gcc: Error out when conflicting multilib is detected. Do not loop over multilibs since no combination is legal. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235877 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config.gcc52
2 files changed, 32 insertions, 25 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 00440fc08c0..c99daeb457f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2016-05-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * config.gcc: Error out when conflicting multilib is detected. Do not
+ loop over multilibs since no combination is legal.
+
2016-05-04 Alan Modra <amodra@gmail.com>
* config/rs6000/rs6000.h (PIC_OFFSET_TABLE_REGNUM): Correct.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 4e98df76cfe..74e9f4e4e83 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -3765,38 +3765,40 @@ case "${target}" in
# Add extra multilibs
if test "x$with_multilib_list" != x; then
arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'`
- for arm_multilib in ${arm_multilibs}; do
- case ${arm_multilib} in
- aprofile)
+ case ${arm_multilibs} in
+ aprofile)
# Note that arm/t-aprofile is a
# stand-alone make file fragment to be
# used only with itself. We do not
# specifically use the
# TM_MULTILIB_OPTION framework because
# this shorthand is more
- # pragmatic. Additionally it is only
- # designed to work without any
- # with-cpu, with-arch with-mode
+ # pragmatic.
+ tmake_profile_file="arm/t-aprofile"
+ ;;
+ default)
+ ;;
+ *)
+ echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2
+ exit 1
+ ;;
+ esac
+
+ if test "x${tmake_profile_file}" != x ; then
+ # arm/t-aprofile is only designed to work
+ # without any with-cpu, with-arch, with-mode,
# with-fpu or with-float options.
- if test "x$with_arch" != x \
- || test "x$with_cpu" != x \
- || test "x$with_float" != x \
- || test "x$with_fpu" != x \
- || test "x$with_mode" != x ; then
- echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=aprofile" 1>&2
- exit 1
- fi
- tmake_file="${tmake_file} arm/t-aprofile"
- break
- ;;
- default)
- ;;
- *)
- echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2
- exit 1
- ;;
- esac
- done
+ if test "x$with_arch" != x \
+ || test "x$with_cpu" != x \
+ || test "x$with_float" != x \
+ || test "x$with_fpu" != x \
+ || test "x$with_mode" != x ; then
+ echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=${with_multilib_list}" 1>&2
+ exit 1
+ fi
+
+ tmake_file="${tmake_file} ${tmake_profile_file}"
+ fi
fi
;;