OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [binutils-2.20.1/] [gas/] [config/] [tc-m68hc11.h] - Diff between revs 816 and 818

Only display areas with differences | Details | Blame | View Log

Rev 816 Rev 818
/* tc-m68hc11.h -- Header file for tc-m68hc11.c.
/* tc-m68hc11.h -- Header file for tc-m68hc11.c.
   Copyright 1999, 2000, 2001, 2002, 2003, 2005, 2007
   Copyright 1999, 2000, 2001, 2002, 2003, 2005, 2007
   Free Software Foundation, Inc.
   Free Software Foundation, Inc.
 
 
   This file is part of GAS, the GNU Assembler.
   This file is part of GAS, the GNU Assembler.
 
 
   GAS is free software; you can redistribute it and/or modify
   GAS is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3, or (at your option)
   the Free Software Foundation; either version 3, or (at your option)
   any later version.
   any later version.
 
 
   GAS is distributed in the hope that it will be useful,
   GAS is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   GNU General Public License for more details.
 
 
   You should have received a copy of the GNU General Public License
   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
   along with GAS; see the file COPYING.  If not, write to the Free
   Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
   Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
   02110-1301, USA.  */
   02110-1301, USA.  */
 
 
#define TC_M68HC11
#define TC_M68HC11
#define TC_M68HC12
#define TC_M68HC12
 
 
struct fix;
struct fix;
 
 
/* Define TC_M68K so that we can use the MRI mode.  */
/* Define TC_M68K so that we can use the MRI mode.  */
#define TC_M68K
#define TC_M68K
 
 
#define TARGET_BYTES_BIG_ENDIAN 1
#define TARGET_BYTES_BIG_ENDIAN 1
 
 
/* Motorola assembler specs does not require '.' before pseudo-ops.  */
/* Motorola assembler specs does not require '.' before pseudo-ops.  */
#define NO_PSEUDO_DOT 1
#define NO_PSEUDO_DOT 1
 
 
/* The target BFD architecture.  */
/* The target BFD architecture.  */
#define TARGET_ARCH (m68hc11_arch ())
#define TARGET_ARCH (m68hc11_arch ())
extern enum bfd_architecture m68hc11_arch (void);
extern enum bfd_architecture m68hc11_arch (void);
 
 
#define TARGET_MACH (m68hc11_mach ())
#define TARGET_MACH (m68hc11_mach ())
extern int m68hc11_mach (void);
extern int m68hc11_mach (void);
 
 
#define TARGET_FORMAT (m68hc11_arch_format ())
#define TARGET_FORMAT (m68hc11_arch_format ())
extern const char *m68hc11_arch_format (void);
extern const char *m68hc11_arch_format (void);
 
 
#define LISTING_WORD_SIZE 1     /* A word is 1 bytes */
#define LISTING_WORD_SIZE 1     /* A word is 1 bytes */
#define LISTING_LHS_WIDTH 4     /* One word on the first line */
#define LISTING_LHS_WIDTH 4     /* One word on the first line */
#define LISTING_LHS_WIDTH_SECOND 4      /* One word on the second line */
#define LISTING_LHS_WIDTH_SECOND 4      /* One word on the second line */
#define LISTING_LHS_CONT_LINES 4        /* And 4 lines max */
#define LISTING_LHS_CONT_LINES 4        /* And 4 lines max */
#define LISTING_HEADER m68hc11_listing_header ()
#define LISTING_HEADER m68hc11_listing_header ()
extern const char *m68hc11_listing_header (void);
extern const char *m68hc11_listing_header (void);
 
 
/* Permit temporary numeric labels.  */
/* Permit temporary numeric labels.  */
#define LOCAL_LABELS_FB 1
#define LOCAL_LABELS_FB 1
 
 
#define tc_init_after_args m68hc11_init_after_args
#define tc_init_after_args m68hc11_init_after_args
extern void m68hc11_init_after_args (void);
extern void m68hc11_init_after_args (void);
 
 
#define md_parse_long_option m68hc11_parse_long_option
#define md_parse_long_option m68hc11_parse_long_option
extern int m68hc11_parse_long_option (char *);
extern int m68hc11_parse_long_option (char *);
 
 
#define DWARF2_LINE_MIN_INSN_LENGTH 1
#define DWARF2_LINE_MIN_INSN_LENGTH 1
 
 
/* Use 32-bit address to represent a symbol address so that we can
/* Use 32-bit address to represent a symbol address so that we can
   represent them with their page number.  */
   represent them with their page number.  */
#define DWARF2_ADDR_SIZE(bfd) 4
#define DWARF2_ADDR_SIZE(bfd) 4
 
 
/* We don't need to handle .word strangely.  */
/* We don't need to handle .word strangely.  */
#define WORKING_DOT_WORD
#define WORKING_DOT_WORD
 
 
#define md_number_to_chars           number_to_chars_bigendian
#define md_number_to_chars           number_to_chars_bigendian
 
 
/* Relax table to translate short relative branches (-128..127) into
/* Relax table to translate short relative branches (-128..127) into
   absolute branches.  */
   absolute branches.  */
#define TC_GENERIC_RELAX_TABLE md_relax_table
#define TC_GENERIC_RELAX_TABLE md_relax_table
extern struct relax_type md_relax_table[];
extern struct relax_type md_relax_table[];
 
 
/* GAS only handles relaxations for pc-relative data targeting addresses
/* GAS only handles relaxations for pc-relative data targeting addresses
   in the same segment, so we have to handle the rest on our own.  */
   in the same segment, so we have to handle the rest on our own.  */
#define md_relax_frag(SEG, FRAGP, STRETCH)              \
#define md_relax_frag(SEG, FRAGP, STRETCH)              \
 ((FRAGP)->fr_symbol != NULL                            \
 ((FRAGP)->fr_symbol != NULL                            \
  && S_GET_SEGMENT ((FRAGP)->fr_symbol) == (SEG)        \
  && S_GET_SEGMENT ((FRAGP)->fr_symbol) == (SEG)        \
  ? relax_frag (SEG, FRAGP, STRETCH)                    \
  ? relax_frag (SEG, FRAGP, STRETCH)                    \
  : m68hc11_relax_frag (SEG, FRAGP, STRETCH))
  : m68hc11_relax_frag (SEG, FRAGP, STRETCH))
extern long m68hc11_relax_frag (segT, fragS*, long);
extern long m68hc11_relax_frag (segT, fragS*, long);
 
 
#define TC_HANDLES_FX_DONE
#define TC_HANDLES_FX_DONE
 
 
#define DIFF_EXPR_OK            /* .-foo gets turned into PC relative relocs */
#define DIFF_EXPR_OK            /* .-foo gets turned into PC relative relocs */
 
 
/* Values passed to md_apply_fix don't include the symbol value.  */
/* Values passed to md_apply_fix don't include the symbol value.  */
#define MD_APPLY_SYM_VALUE(FIX) 0
#define MD_APPLY_SYM_VALUE(FIX) 0
 
 
/* No shared lib support, so we don't need to ensure externally
/* No shared lib support, so we don't need to ensure externally
   visible symbols can be overridden.  */
   visible symbols can be overridden.  */
#define EXTERN_FORCE_RELOC 0
#define EXTERN_FORCE_RELOC 0
 
 
#define TC_FORCE_RELOCATION(fix) tc_m68hc11_force_relocation (fix)
#define TC_FORCE_RELOCATION(fix) tc_m68hc11_force_relocation (fix)
extern int tc_m68hc11_force_relocation (struct fix *);
extern int tc_m68hc11_force_relocation (struct fix *);
 
 
#define tc_fix_adjustable(X) tc_m68hc11_fix_adjustable(X)
#define tc_fix_adjustable(X) tc_m68hc11_fix_adjustable(X)
extern int tc_m68hc11_fix_adjustable (struct fix *);
extern int tc_m68hc11_fix_adjustable (struct fix *);
 
 
#define md_operand(x)
#define md_operand(x)
 
 
#define elf_tc_final_processing m68hc11_elf_final_processing
#define elf_tc_final_processing m68hc11_elf_final_processing
extern void m68hc11_elf_final_processing (void);
extern void m68hc11_elf_final_processing (void);
 
 
#define tc_print_statistics(FILE) m68hc11_print_statistics (FILE)
#define tc_print_statistics(FILE) m68hc11_print_statistics (FILE)
extern void m68hc11_print_statistics (FILE *);
extern void m68hc11_print_statistics (FILE *);
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.