X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gas%2Fconfig%2Ftc-d10v.h;h=2f244a3b29abd3a9e86a82a56decf8300e8fd9c5;hb=d0352a18a504a4e7b761f6b3264cf11347d8d056;hp=3f50eef79aaf6dde0f0a7aa89d497742da659588;hpb=0ef325594af012f7bc3b56143fc1f26caf66069a;p=binutils-gdb.git diff --git a/gas/config/tc-d10v.h b/gas/config/tc-d10v.h index 3f50eef79aa..2f244a3b29a 100644 --- a/gas/config/tc-d10v.h +++ b/gas/config/tc-d10v.h @@ -1,5 +1,5 @@ /* tc-d10v.h -- Header file for tc-d10v.c. - Copyright (C) 1996 Free Software Foundation, Inc. + Copyright (C) 1996, 1997 Free Software Foundation, Inc. Written by Martin Hunt, Cygnus Support. This file is part of GAS, the GNU Assembler. @@ -15,11 +15,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. */ + +#include "write.h" /* For the definition of fixS. */ #define TC_D10V +#define TARGET_BYTES_BIG_ENDIAN 0 + #ifndef BFD_ASSEMBLER #error D10V support requires BFD_ASSEMBLER #endif @@ -30,17 +35,14 @@ #define TARGET_FORMAT "elf32-d10v" #define MD_APPLY_FIX3 -#define md_operand(x) /* call md_pcrel_from_section, not md_pcrel_from */ #define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from_section(FIXP, SEC) +long md_pcrel_from_section PARAMS ((fixS *, segT)); /* Permit temporary numeric labels. */ #define LOCAL_LABELS_FB 1 -#define LOCAL_LABEL(name) (name[0] == '.' \ - && (name[1] == 'L' || name[1] == '.')) -#define FAKE_LABEL_NAME ".L0\001" #define DIFF_EXPR_OK /* .-foo gets turned into PC relative relocs */ /* We don't need to handle .word strangely. */ @@ -50,6 +52,16 @@ int d10v_cleanup PARAMS ((void)); #define md_after_pass_hook() d10v_cleanup() -#define TC_START_LABEL(ch, ptr) (ch == ':' && d10v_cleanup()) - - +#define md_cleanup() d10v_cleanup() +#define md_do_align(a,b,c,d,e) d10v_cleanup() +#define tc_frob_label(sym) do {\ + d10v_cleanup(); \ + S_SET_VALUE (sym, (valueT) frag_now_fix ()); \ +} while (0) + +#define obj_fix_adjustable(fixP) d10v_fix_adjustable(fixP) +boolean d10v_fix_adjustable PARAMS ((fixS *)); +#define TC_FORCE_RELOCATION(fixp) d10v_force_relocation(fixp) +extern int d10v_force_relocation PARAMS ((fixS *)); + +#define md_flush_pending_output d10v_cleanup