]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gas/config/tc-mcore.h
Convert unmaintained files over to ISO-C90 and fix formatting.
[thirdparty/binutils-gdb.git] / gas / config / tc-mcore.h
index e713c2725d81d02e8599b9dfba4aff7422f66189..210faf24f9f6c177cc8571eade121d91dc7f5147 100644 (file)
@@ -1,6 +1,7 @@
 /* This file is tc-mcore.h
 
-   Copyright (C) 1999 Free Software Foundation, Inc.
+   Copyright 1999, 2000, 2001, 2002, 2003, 2005
+   Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
 
@@ -15,8 +16,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, 675 Mass Ave, Cambridge, MA 02139, 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.  */
 
 #ifndef        TC_MCORE
 #define TC_MCORE 1
@@ -26,7 +28,8 @@
 #endif
 
 #define TARGET_ARCH    bfd_arch_mcore
-#define TARGET_BYTES_BIG_ENDIAN 1
+/* Used to initialise target_big_endian.  */
+#define TARGET_BYTES_BIG_ENDIAN 0
 
 /* Don't write out relocs for pcrel stuff.  */
 #define TC_COUNT_RELOC(x) (((x)->fx_addsy || (x)->fx_subsy) && \
 
 /* We want local label support.  */
 #define LOCAL_LABELS_FB 1
-     
+
 #define TC_COFF_SIZEMACHDEP(frag) tc_coff_sizemachdep (frag)
-  
+int tc_coff_sizemachdep (struct frag *);
+
 extern const struct relax_type md_relax_table[];
 #define TC_GENERIC_RELAX_TABLE md_relax_table
 #define md_end md_mcore_end
 
-/* Want the section information too... */
-#define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from_section (FIXP, SEC)
-
-#define MD_APPLY_FIX3  /* We want the segment as well.  */
-
-
+/* Want the section information too...  */
+#define MD_PCREL_FROM_SECTION(FIX, SEC) md_pcrel_from_section (FIX, SEC)
 
 #ifdef  OBJ_COFF
 
@@ -72,25 +72,28 @@ struct mcore_tc_sy
 
 #define TC_SYMFIELD_TYPE struct mcore_tc_sy
 
-#endif /* OBJ_COFF */
+# if defined TE_PE
+#  define TC_FORCE_RELOCATION(x) \
+     ((x)->fx_r_type == BFD_RELOC_RVA || generic_force_reloc (x))
+# endif
 
+#endif /* OBJ_COFF */
 
 #ifdef OBJ_ELF
 
 #define TARGET_FORMAT (target_big_endian ? "elf32-mcore-big" : "elf32-mcore-little")
 
-#define ELF_TC_SPECIAL_SECTIONS \
-  { ".ctors",  SHT_PROGBITS,   SHF_ALLOC + SHF_WRITE }, \
-  { ".dtors",  SHT_PROGBITS,   SHF_ALLOC + SHF_WRITE }, \
-/* Other special sections not generated by the assembler: .reginfo,
-   .liblist, .conflict, .gptab, .got, .dynamic, .rel.dyn.  */
+/* No shared lib support, so we don't need to ensure externally
+   visible symbols can be overridden.  */
+#define EXTERN_FORCE_RELOC 0
 
 /* When relaxing, we need to emit various relocs we otherwise wouldn't.  */
 #define TC_FORCE_RELOCATION(fix) mcore_force_relocation (fix)
-extern int mcore_force_relocation PARAMS ((struct fix *));
 
-#define obj_fix_adjustable(fixP) mcore_fix_adjustable (fixP)
-extern boolean mcore_fix_adjustable PARAMS ((struct fix *));
+#define tc_fix_adjustable(FIX) mcore_fix_adjustable (FIX)
+
+/* Values passed to md_apply_fix3 don't include the symbol value.  */
+#define MD_APPLY_SYM_VALUE(FIX) 0
 
 #endif /* OBJ_ELF */
 
@@ -99,25 +102,11 @@ extern boolean mcore_fix_adjustable PARAMS ((struct fix *));
 #endif
 
 #include "write.h"        /* For definition of fixS */
-  
-extern void      md_begin            PARAMS ((void));
-extern void      md_assemble         PARAMS ((char *));
-extern symbolS * md_undefined_symbol PARAMS ((char *));
-extern void      md_mcore_end        PARAMS ((void));
-extern char *    md_atof             PARAMS ((int, char *, int *));
-extern int       md_parse_option     PARAMS ((int, char *));
-extern void      md_show_usage       PARAMS ((FILE *));
-extern void      md_create_short_jump 
-  PARAMS ((char *, addressT, addressT, fragS *, symbolS *));
-extern void      md_create_long_jump
-  PARAMS ((char *, addressT, addressT, fragS *, symbolS *));
-extern void      md_convert_frag               PARAMS ((bfd *, segT, fragS *));
-extern int       md_apply_fix3                 PARAMS ((fixS *, valueT *, segT));
-extern void      md_operand                    PARAMS ((expressionS *));
-extern int       md_estimate_size_before_relax PARAMS ((fragS *, segT));
-extern void      md_number_to_chars            PARAMS ((char *, valueT, int));
-extern valueT    md_section_align              PARAMS ((segT, valueT));
-extern long      md_pcrel_from_section         PARAMS ((fixS *, segT));
-extern arelent * tc_gen_reloc                  PARAMS ((asection *, fixS *));
+
+extern void        md_mcore_end           (void);
+extern long        md_pcrel_from_section  (fixS *, segT);
+extern arelent *   tc_gen_reloc           (asection *, fixS *);
+extern int         mcore_force_relocation (fixS *);
+extern bfd_boolean mcore_fix_adjustable   (fixS *);
 
 #endif /* TC_MCORE */