diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2016-06-30 11:14:41 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2016-06-30 11:14:41 +0100 |
commit | 9004b6bd58b6203cb3d1de1ca8d6ce6fc140ae61 (patch) | |
tree | da644cf9f56a80d9480c1bf94c67f2017ee5cd97 | |
parent | 534dbe460e692a9befd9aca0eb0812db47459a30 (diff) | |
download | binutils-9004b6bd58b6203cb3d1de1ca8d6ce6fc140ae61.zip binutils-9004b6bd58b6203cb3d1de1ca8d6ce6fc140ae61.tar.gz binutils-9004b6bd58b6203cb3d1de1ca8d6ce6fc140ae61.tar.bz2 |
Allow ARC target to be configured with --with-cpu=<cpu-name>.
gas * config.in (TARGET_WITH_CPU): Undefine.
* configure.ac: Add --with-cpu support, and define in config.h.
* configure: Regenerate.
* config/tc-arc.c: Use TARGET_WITH_CPU to select default CPU.
* NEWS: Mention new configure option.
-rw-r--r-- | gas/NEWS | 3 | ||||
-rw-r--r-- | gas/as.c | 6 | ||||
-rw-r--r-- | gas/config.in | 3 | ||||
-rw-r--r-- | gas/config/tc-arc.c | 9 | ||||
-rwxr-xr-x | gas/configure | 18 | ||||
-rw-r--r-- | gas/configure.ac | 11 |
6 files changed, 46 insertions, 4 deletions
@@ -34,6 +34,9 @@ * Add assembly-time relaxation option for ARC cpus. +* Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + Changes in 2.26: * Add a configure option --enable-compressed-debug-sections={all,gas} to @@ -665,8 +665,14 @@ parse_args (int * pargc, char *** pargv) This program is free software; you may redistribute it under the terms of\n\ the GNU General Public License version 3 or later.\n\ This program has absolutely no warranty.\n")); +#ifdef TARGET_WITH_CPU + printf (_("This assembler was configured for a target of `%s' " + "and default,\ncpu type `%s'.\n"), + TARGET_ALIAS, TARGET_WITH_CPU); +#else printf (_("This assembler was configured for a target of `%s'.\n"), TARGET_ALIAS); +#endif exit (EXIT_SUCCESS); case OPTION_EMULATION: diff --git a/gas/config.in b/gas/config.in index e06f160..5129c28 100644 --- a/gas/config.in +++ b/gas/config.in @@ -318,6 +318,9 @@ /* Target vendor. */ #undef TARGET_VENDOR +/* Target specific CPU. */ +#undef TARGET_WITH_CPU + /* Use b modifier when opening binary files? */ #undef USE_BINARY_FOPEN diff --git a/gas/config/tc-arc.c b/gas/config/tc-arc.c index 155d991..2046604 100644 --- a/gas/config/tc-arc.c +++ b/gas/config/tc-arc.c @@ -51,6 +51,10 @@ /* Equal to MAX_PRECISION in atof-ieee.c. */ #define MAX_LITTLENUMS 6 +#ifndef TARGET_WITH_CPU +#define TARGET_WITH_CPU "arc700" +#endif /* TARGET_WITH_CPU */ + /* Enum used to enumerate the relaxable ins operands. */ enum rlx_operand_type { @@ -2466,7 +2470,7 @@ md_begin (void) const struct arc_opcode *opcode = arc_opcodes; if (!mach_type_specified_p) - arc_select_cpu ("arc700"); + arc_select_cpu (TARGET_WITH_CPU); /* The endianness can be chosen "at the factory". */ target_big_endian = byte_order == BIG_ENDIAN; @@ -3401,7 +3405,8 @@ md_show_usage (FILE *stream) { fprintf (stream, _("ARC-specific assembler options:\n")); - fprintf (stream, " -mcpu=<cpu name>\t assemble for CPU <cpu name>\n"); + fprintf (stream, " -mcpu=<cpu name>\t assemble for CPU <cpu name> " + "(default: %s)\n", TARGET_WITH_CPU); fprintf (stream, " -mcpu=nps400\t\t same as -mcpu=arc700 -mnps400\n"); fprintf (stream, " -mA6/-mARC600/-mARC601 same as -mcpu=arc600\n"); fprintf (stream, " -mA7/-mARC700\t\t same as -mcpu=arc700\n"); diff --git a/gas/configure b/gas/configure index b6298b5..b66f712 100755 --- a/gas/configure +++ b/gas/configure @@ -771,6 +771,7 @@ enable_x86_relax_relocations enable_elf_stt_common enable_werror enable_build_warnings +with_cpu enable_nls enable_maintainer_mode with_system_zlib @@ -1435,6 +1436,8 @@ Optional Packages: --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-cpu=CPU default cpu variant is CPU (currently only supported + on ARC) --with-system-zlib use installed libz Some influential environment variables: @@ -10982,7 +10985,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10985 "configure" +#line 10988 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11088,7 +11091,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11091 "configure" +#line 11094 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11828,6 +11831,17 @@ fi ac_config_headers="$ac_config_headers config.h:config.in" + +# Check whether --with-cpu was given. +if test "${with_cpu+set}" = set; then : + withval=$with_cpu; +cat >>confdefs.h <<_ACEOF +#define TARGET_WITH_CPU "${with_cpu}" +_ACEOF + +fi + + # PR 14072 diff --git a/gas/configure.ac b/gas/configure.ac index 8f71825..13f5107 100644 --- a/gas/configure.ac +++ b/gas/configure.ac @@ -106,6 +106,17 @@ AM_BINUTILS_WARNINGS # Generate a header file AC_CONFIG_HEADERS(config.h:config.in) +dnl Option --with-cpu=TYPE allows configure type control of the default +dnl cpu type within the assembler. Currently only the ARC target +dnl supports this feature, but others may be added in the future. +AC_ARG_WITH(cpu, + AS_HELP_STRING([--with-cpu=CPU], + [default cpu variant is CPU (currently only supported on ARC)]), + [AC_DEFINE_UNQUOTED(TARGET_WITH_CPU, + "${with_cpu}", + [Target specific CPU.])], + []) + # PR 14072 AH_VERBATIM([00_CONFIG_H_CHECK], [/* Check that config.h is #included before system headers |