diff options
Diffstat (limited to 'gas/config/tc-mcore.h')
-rw-r--r-- | gas/config/tc-mcore.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/gas/config/tc-mcore.h b/gas/config/tc-mcore.h index c8787ddb794..b41c2a66ee4 100644 --- a/gas/config/tc-mcore.h +++ b/gas/config/tc-mcore.h @@ -1,6 +1,6 @@ /* This file is tc-mcore.h - Copyright 1999, 2000, 2001 Free Software Foundation, Inc. + Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -57,7 +57,7 @@ extern const struct relax_type 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_PCREL_FROM_SECTION(FIX, SEC) md_pcrel_from_section (FIX, SEC) #ifdef OBJ_COFF @@ -71,7 +71,8 @@ struct mcore_tc_sy #define TC_SYMFIELD_TYPE struct mcore_tc_sy # if defined TE_PE -# define TC_FORCE_RELOCATION(x) ((x)->fx_r_type == BFD_RELOC_RVA) +# define TC_FORCE_RELOCATION(x) \ + ((x)->fx_r_type == BFD_RELOC_RVA || S_FORCE_RELOC ((x)->fx_addsy)) # endif #endif /* OBJ_COFF */ @@ -86,13 +87,20 @@ struct mcore_tc_sy /* 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) +#define tc_fix_adjustable(FIX) mcore_fix_adjustable (FIX) extern boolean mcore_fix_adjustable PARAMS ((struct fix *)); +/* Values passed to md_apply_fix3 don't include the symbol value. */ +#define MD_APPLY_SYM_VALUE(FIX) 0 + #endif /* OBJ_ELF */ #ifndef TARGET_FORMAT |