diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2003-07-10 03:20:14 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@redhat.com> | 2003-07-10 03:20:14 +0000 |
commit | 2dc782f67fd7b32fae0e7e7d0ed4ed6052fabcb5 (patch) | |
tree | 87ae51cf445b3477611ba4b04c5fa46c7e410d81 /gas/config/tc-mn10300.h | |
parent | 6b931460e3a91a81ee10f4221075b8c22bda0756 (diff) | |
download | binutils-redhat-2dc782f67fd7b32fae0e7e7d0ed4ed6052fabcb5.tar.gz |
2003-02-25 Alexandre Oliva <aoliva@redhat.com>
* config/tc-mn10300.c (mn10300_check_fixup): Set GOT_PCREL type
for subtracts from GLOBAL_OFFSET_TABLE that could not be
simplified.
2002-07-18 Alexandre Oliva <aoliva@redhat.com>
* config/tc-mn10300.c (mn10300_check_fixup): Accept subtracts that
could not be simplified.
(tc_gen_reloc): Turn an absolute fx_subsy into part of fx_offset.
2001-11-04 Alexandre Oliva <aoliva@redhat.com>
* config/tc-mn10300.h (TC_RELOC_RTSYM_LOC_FIXUP): Don't adjust
BDF_RELOC_MN10300_GOT32.
* config/tc-mn10300.c (mn10300_fix_adjustable): If
TC_RELOC_RTSYM_LOC_FIXUP doesn't hold, it's not adjustable.
2001-05-09 Alexandre Oliva <aoliva@redhat.com>
* config/tc-mn10300.c (mn10300_parse_name): Don't return a
symbol if we know its value.
2001-05-09 Alexandre Oliva <aoliva@redhat.com>
* config/tc-mn10300.h (GLOBAL_OFFSET_TABLE_NAME): Remove
duplicate underscore prefix.
2001-05-09 Alexandre Oliva <aoliva@redhat.com>
* config/tc-mn10300.c (mn10300_parse_name): Store relocation
type in X_md, not X_add_number. Zero X_add_number.
(mn10300_check_fixup): Extract relocation type from X_md.
* config/tc-mn10300.h: Update comment.
2001-04-14 Alexandre Oliva <aoliva@redhat.com>
* config/tc-mn10300.h (O_GOTOFF, O_PLT, O_GOT): Replace with...
(O_PIC_reloc): this.
* config/tc-mn10300.c (mn10300_PIC_related_p): Use it.
(mn10300_check_fixup): Likewise.
(mn10300_parse_name): Set X_add_number to relocation type.
* config/tc-mn10300.h (DIFF_EXPR_OK, GLOBAL_OFFSET_TABLE_NAME,
TC_RELOC_RTSYM_LOC_FIXUP, md_parse_name, TC_CONS_FIX_NEW,
O_GOTOFF, O_PLT, O_GOT): Define.
* config/tc-mn10300.c (mn10300_PIC_related_p): New fn.
(mn10300_check_fixup): New fn.
(md_assemble): Call it. Check for PIC-related relocs.
(mn10300_cons_fix_new): Likewise. New fn.
(mn10300_end_of_match): New fn.
(mn10300_md_parse_name_cont): New fn.
Diffstat (limited to 'gas/config/tc-mn10300.h')
-rw-r--r-- | gas/config/tc-mn10300.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gas/config/tc-mn10300.h b/gas/config/tc-mn10300.h index 736f93b299..955165236d 100644 --- a/gas/config/tc-mn10300.h +++ b/gas/config/tc-mn10300.h @@ -27,6 +27,31 @@ #error MN10300 support requires BFD_ASSEMBLER #endif +#define DIFF_EXPR_OK +#define GLOBAL_OFFSET_TABLE_NAME "_GLOBAL_OFFSET_TABLE_" + +#define TC_RELOC_RTSYM_LOC_FIXUP(FIX) \ + ((FIX)->fx_r_type != BFD_RELOC_32_PLT_PCREL \ + && (FIX)->fx_r_type != BFD_RELOC_MN10300_GOT32 \ + && (FIX)->fx_r_type != BFD_RELOC_32_GOT_PCREL \ + && ((FIX)->fx_addsy == NULL \ + || (! S_IS_EXTERNAL ((FIX)->fx_addsy) \ + && ! S_IS_WEAK ((FIX)->fx_addsy) \ + && S_IS_DEFINED ((FIX)->fx_addsy) \ + && ! S_IS_COMMON ((FIX)->fx_addsy)))) + +#define md_parse_name(name, exprP, nextcharP) \ + mn10300_parse_name ((name), (exprP), (nextcharP)) +int mn10300_parse_name PARAMS ((char const *, expressionS *, char *)); + +#define TC_CONS_FIX_NEW(FRAG, OFF, LEN, EXP) \ + mn10300_cons_fix_new ((FRAG), (OFF), (LEN), (EXP)) +void mn10300_cons_fix_new PARAMS ((fragS *, int, int, expressionS *)); + +/* This is used to construct expressions out of @GOTOFF, @PLT and @GOT + symbols. The relocation type is stored in X_md. */ +#define O_PIC_reloc O_md1 + /* The target BFD architecture. */ #define TARGET_ARCH bfd_arch_mn10300 |