Movatterモバイル変換
[0]ホーム
This is the mail archive of thebinutils@sources.redhat.commailing list for thebinutils project.
Committed, gas: Change defaults for cris-*-linux-gnu*.
- From: Hans-Peter Nilsson <hp at bitrange dot com>
- To: binutils at sources dot redhat dot com
- Date: Sun, 15 Jun 2003 20:39:16 -0400 (EDT)
- Subject: Committed, gas: Change defaults for cris-*-linux-gnu*.
This change makes gas for cris-*-linux-gnu* default to notrequire special options like "--no-underscore" for normalprogram assembly, by making use of a cute gas config header-filewith seemingly no other practical use that defines a macro thattc-cris.c can look at and then decide what to make its defaults.I would have liked to also cut out the multi-object-formatsupport for cris-*-linux-gnu*, but that'd cause gas to emit anerror: "Fatal error: emulations not handled in thisconfiguration" for the option "--em=criself" which GCC passes,and which is the default for recent binutils. You might thinkthat's overridable in md_longopts, but it isn't: adding a matchfor e.g. "em=criself" causes getopt_long to error out with anambiguous-options message. Maybe we can get the "emulations nothandled" message under control of a target macro? Still, nohurry; it'd cut down on the binutils executable sizes a bit butrequire me to make a few more tweaks to the binutils testsuites.gas:* configure.in: Add specific case for cris-*-linux-gnu* withem=linux.* configure: Regenerate.* config/tc-cris.c (DEFAULT_CRIS_AXIS_LINUX_GNU): New macro, TRUEif TE_LINUX defined, else FALSE.(bfd_boolean demand_register_prefix): Set default fromDEFAULT_CRIS_AXIS_LINUX_GNU.(symbols_have_leading_underscore): Similar.* config/tc-cris.h (LOCAL_LABELS_DOLLAR): Define to 1.Index: configure.in===================================================================RCS file: /cvs/src/src/gas/configure.in,vretrieving revision 1.133diff -p -c -r1.133 configure.in*** configure.in13 Jun 2003 13:17:57 -00001.133--- configure.in15 Jun 2003 22:44:47 -0000*************** changequote([,])dnl*** 208,213 ****--- 208,214 ---- avr-*-*)fmt=elf ;;+ cris-*-linux-gnu*)fmt=multi bfd_gas=yes em=linux ;; cris-*-*)fmt=multi bfd_gas=yes ;; d10v-*-*)fmt=elf ;;Index: config/tc-cris.c===================================================================RCS file: /cvs/src/src/gas/config/tc-cris.c,vretrieving revision 1.26diff -p -c -r1.26 tc-cris.c*** config/tc-cris.c23 Jan 2003 12:51:04 -00001.26--- config/tc-cris.c15 Jun 2003 22:49:56 -0000*************** static char *cris_insn_first_word_frag P*** 157,167 **** /* Handle to the opcode hash table. */ static struct hash_control *op_hash = NULL; /* Whether we demand that registers have a `$' prefix. Default here. */! static bfd_boolean demand_register_prefix = FALSE; /* Whether global user symbols have a leading underscore. Default here. */! static bfd_boolean symbols_have_leading_underscore = TRUE; /* Whether or not we allow PIC, and expand to PIC-friendly constructs. */ static bfd_boolean pic = FALSE;--- 157,177 ---- /* Handle to the opcode hash table. */ static struct hash_control *op_hash = NULL;+ /* If we target cris-axis-linux-gnu (as opposed to generic cris-axis-elf),+ we default to no underscore and required register-prefixes. The+ difference is in the default values. */+ #ifdef TE_LINUX+ #define DEFAULT_CRIS_AXIS_LINUX_GNU TRUE+ #else+ #define DEFAULT_CRIS_AXIS_LINUX_GNU FALSE+ #endif+ /* Whether we demand that registers have a `$' prefix. Default here. */! static bfd_boolean demand_register_prefix = DEFAULT_CRIS_AXIS_LINUX_GNU; /* Whether global user symbols have a leading underscore. Default here. */! static bfd_boolean symbols_have_leading_underscore! = !DEFAULT_CRIS_AXIS_LINUX_GNU; /* Whether or not we allow PIC, and expand to PIC-friendly constructs. */ static bfd_boolean pic = FALSE;Index: config/tc-cris.h===================================================================RCS file: /cvs/src/src/gas/config/tc-cris.h,vretrieving revision 1.8diff -p -c -r1.8 tc-cris.h*** config/tc-cris.h22 Oct 2002 23:45:40 -00001.8--- config/tc-cris.h15 Jun 2003 22:44:48 -0000*************** extern void tc_cris_check_adjusted_broke*** 158,163 ****--- 158,166 ---- of two bytes long. */ #define DWARF2_LINE_MIN_INSN_LENGTH 2+ /* Make port immune to unwanted difference in te-generic.h vs. te-linux.h. */+ #define LOCAL_LABELS_DOLLAR 1+ #endif /* TC_CRIS */ /* * Local variables:brgds, H-P
[8]ページ先頭