* write.h (LOCAL_LABEL): Only define if not BFD_ASSEMBLER.
(S_LOCAL_NAME): Likewise. (FAKE_LABEL_NAME): Define unconditionally. * symbols.c (colon): Call bfd_is_local_label, not LOCAL_LABEL, if BFD_ASSEMBLER. (S_IS_LOCAL): Call bfd_is_local_label_name, not LOCAL_LABEL. * config/tc-*.h: Only define LOCAL_LABEL if not BFD_ASSEMBLER. Don't define FAKE_LABEL_NAME. * config/te-ic960.h: Likewise. * config/tc-mips.h (tc_frob_file_before_adjust): Define. (mips_frob_file_before_adjust): Declare. * config/tc-mips.c (mips_frob_file_before_adjust): New function. (mips_local_label): Remove.
This commit is contained in:
parent
e691320ea4
commit
2360492176
5 changed files with 58 additions and 41 deletions
|
@ -1,3 +1,21 @@
|
|||
Fri Feb 28 14:40:00 1997 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* write.h (LOCAL_LABEL): Only define if not BFD_ASSEMBLER.
|
||||
(S_LOCAL_NAME): Likewise.
|
||||
(FAKE_LABEL_NAME): Define unconditionally.
|
||||
* symbols.c (colon): Call bfd_is_local_label, not LOCAL_LABEL, if
|
||||
BFD_ASSEMBLER.
|
||||
(S_IS_LOCAL): Call bfd_is_local_label_name, not LOCAL_LABEL.
|
||||
* config/tc-*.h: Only define LOCAL_LABEL if not BFD_ASSEMBLER.
|
||||
Don't define FAKE_LABEL_NAME.
|
||||
* config/te-ic960.h: Likewise.
|
||||
* config/tc-mips.h (tc_frob_file_before_adjust): Define.
|
||||
(mips_frob_file_before_adjust): Declare.
|
||||
* config/tc-mips.c (mips_frob_file_before_adjust): New function.
|
||||
(mips_local_label): Remove.
|
||||
|
||||
* config/te-sco386.h: Remove; not used.
|
||||
|
||||
start-sanitize-tic80
|
||||
Thu Feb 27 15:39:16 1997 Fred Fish <fnf@cygnus.com>
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
/* This file is tc-arm.h
|
||||
Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
|
||||
Modified by David Taylor (dtaylor@armltd.co.uk)
|
||||
|
||||
Copyright (C) 1994, 1995 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GAS, the GNU Assembler.
|
||||
|
||||
GAS is free software; you can redistribute it and/or modify
|
||||
|
@ -17,11 +16,16 @@
|
|||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
along with GAS; see the file COPYING. If not, write to the Free
|
||||
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
|
||||
#define TC_ARM 1
|
||||
|
||||
#ifndef TARGET_BYTES_BIG_ENDIAN
|
||||
#define TARGET_BYTES_BIG_ENDIAN 0
|
||||
#endif
|
||||
|
||||
#define COFF_MAGIC ARMMAGIC
|
||||
#define TARGET_ARCH bfd_arch_arm
|
||||
|
||||
|
@ -32,10 +36,6 @@
|
|||
#define LITTLE_ENDIAN 1234
|
||||
#define BIG_ENDIAN 4321
|
||||
|
||||
#ifndef TARGET_BYTES_BIG_ENDIAN
|
||||
#define TARGET_BYTES_BIG_ENDIAN 0
|
||||
#endif
|
||||
|
||||
#ifdef OBJ_AOUT
|
||||
#ifdef TE_RISCIX
|
||||
#define TARGET_FORMAT "a.out-riscix"
|
||||
|
@ -111,9 +111,10 @@ char *arm_canonicalize_symbol_name PARAMS ((char *));
|
|||
#define LOCAL_LABELS_FB 1
|
||||
|
||||
/* Use defaults for OBJ_AOUT. */
|
||||
#ifndef BFD_ASSEMBLER
|
||||
#ifndef OBJ_AOUT
|
||||
#define LOCAL_LABEL(name) ((name)[0] == '.' && (name)[1] == 'L')
|
||||
#define FAKE_LABEL_NAME ".L0\001"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* end of tc-arm.h */
|
||||
|
|
|
@ -62,9 +62,12 @@ struct reloc_info_m88k
|
|||
|
||||
/* The m88k uses '@' to start local labels. */
|
||||
#define LEX_AT (LEX_BEGIN_NAME | LEX_NAME)
|
||||
|
||||
#ifndef BFD_ASSEMBLER
|
||||
#define LOCAL_LABEL(name) \
|
||||
((name[0] =='@' && (name [1] == 'L' || name [1] == '.')) \
|
||||
|| (name[0] == 'L' && name[1] == '0' && name[2] == '\001'))
|
||||
#endif
|
||||
|
||||
/* The m88k uses pseudo-ops with no leading period. */
|
||||
#define NO_PSEUDO_DOT
|
||||
|
|
|
@ -8516,6 +8516,24 @@ cons_fix_new_mips (frag, where, nbytes, exp)
|
|||
: (nbytes == 4 ? BFD_RELOC_32 : BFD_RELOC_64)));
|
||||
}
|
||||
|
||||
/* This is called before the symbol table is processed. In order to
|
||||
work with gcc when using mips-tfile, we must keep all local labels.
|
||||
However, in other cases, we want to discard them. If we were
|
||||
called with -g, but we didn't see any debugging information, it may
|
||||
mean that gcc is smuggling debugging information through to
|
||||
mips-tfile, in which case we must generate all local labels. */
|
||||
|
||||
void
|
||||
mips_frob_file_before_adjust ()
|
||||
{
|
||||
#ifndef NO_ECOFF_DEBUGGING
|
||||
if (ECOFF_DEBUGGING
|
||||
&& mips_debug != 0
|
||||
&& ! ecoff_debugging_seen)
|
||||
flag_keep_locals = 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Sort any unmatched HI16_S relocs so that they immediately precede
|
||||
the corresponding LO reloc. This is called before md_apply_fix and
|
||||
tc_gen_reloc. Unmatched HI16_S relocs can only be generated by
|
||||
|
@ -10354,33 +10372,6 @@ mips_define_label (sym)
|
|||
l->next = insn_labels;
|
||||
insn_labels = l;
|
||||
}
|
||||
|
||||
/* Decide whether a label is local. This is called by LOCAL_LABEL.
|
||||
In order to work with gcc when using mips-tfile, we must keep all
|
||||
local labels. However, in other cases, we want to discard them,
|
||||
since they are useless. */
|
||||
|
||||
int
|
||||
mips_local_label (name)
|
||||
const char *name;
|
||||
{
|
||||
#ifndef NO_ECOFF_DEBUGGING
|
||||
if (ECOFF_DEBUGGING
|
||||
&& mips_debug != 0
|
||||
&& ! ecoff_debugging_seen)
|
||||
{
|
||||
/* We were called with -g, but we didn't see any debugging
|
||||
information. That may mean that gcc is smuggling debugging
|
||||
information through to mips-tfile, in which case we must
|
||||
generate all local labels. */
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Here it's OK to discard local labels. */
|
||||
|
||||
return name[0] == '$';
|
||||
}
|
||||
|
||||
#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
/* This file is twe-ic960.h
|
||||
|
||||
Copyright (C) 1987-1992 Free Software Foundation, Inc.
|
||||
/* This file is te-ic960.h
|
||||
Copyright (C) 1987-1992, 94, 95, 1997 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GAS, the GNU Assembler.
|
||||
|
||||
|
@ -15,8 +14,9 @@
|
|||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
along with GAS; see the file COPYING. If not, write to the Free
|
||||
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
|
||||
/*
|
||||
* This file is te-ic960.h and is intended to define ic960 environment
|
||||
|
@ -24,11 +24,15 @@
|
|||
*/
|
||||
|
||||
#define OBJ_COFF_OMIT_OPTIONAL_HEADER
|
||||
|
||||
#ifndef BFD_ASSEMBLER
|
||||
#define LOCAL_LABEL(name) ((name[0] =='L') \
|
||||
|| (name[0] =='.' \
|
||||
&& (name[1]=='C' \
|
||||
|| name[1]=='I' \
|
||||
|| name[1]=='.')))
|
||||
#endif
|
||||
|
||||
#include "obj-format.h"
|
||||
|
||||
/* end of te-ic960.h */
|
||||
|
|
Loading…
Reference in a new issue