diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2003-04-11 01:56:50 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@redhat.com> | 2003-04-11 01:56:50 +0000 |
commit | f5040a92c5b78b41f33dc3488dc1820bc5f916a8 (patch) | |
tree | 7187cb92ef919ddb70dd5eda54925f46f131964a /gas/config/tc-mips.h | |
parent | 0fdc1bf12541e30f9a66aa20dcea5be76328a52b (diff) | |
download | gdb-f5040a92c5b78b41f33dc3488dc1820bc5f916a8.zip gdb-f5040a92c5b78b41f33dc3488dc1820bc5f916a8.tar.gz gdb-f5040a92c5b78b41f33dc3488dc1820bc5f916a8.tar.bz2 |
* config/tc-mips.h (tc_frag_data_type, TC_FRAG_TYPE): New.
* config/tc-mips.c: Use signed add for n32 address arithmetic.
(append_insn): When filling delay slots with instructions
that have fixups that tc_gen_reloc might consider modifyable
in variant frags, start a new frag.
(load_address): Generate GOT_DISP with of without offset
depending on whether symbol is local. For -xgot, use
GOT_PAGE/GOT_OFST or GOT_HI16/GOT_LO16.
(macro) <M_DLA_AB, M_LA_AB>: Likewise.
<M_JAL_A>: In NewABI, use CALL16 or GOT_DISP for small got,
CALL_HI16/CALL_LO16 or GOT_PAGE/GOT_OFST for big got.
<ld_st>: In NewABI with small got, always use
GOT_PAGE/GOT_OFST, with the latter in the load/store
instruction. With big got, use GOT_HI16/GOT_LO16 or
GOT_PAGE/GOT_OFST.
(tc_gen_reloc): Adjust variant frags with GOT_DISP in NewABI.
Add tc_frag_data.tc_fr_offset to addends. Decay CALL16,
GOT_OFST and GOT_DISP to GOT_DISP in NewABI.
(md_convert_frag): Use memmove for safe copying of overlapping
regions.
Diffstat (limited to 'gas/config/tc-mips.h')
-rw-r--r-- | gas/config/tc-mips.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gas/config/tc-mips.h b/gas/config/tc-mips.h index b3c2d01..17993b9 100644 --- a/gas/config/tc-mips.h +++ b/gas/config/tc-mips.h @@ -193,4 +193,9 @@ extern enum dwarf2_format mips_dwarf2_format PARAMS ((void)); #define DWARF2_ADDR_SIZE(bfd) \ (DWARF2_FORMAT () == dwarf2_format_32bit ? 4 : 8) +typedef struct { + offsetT tc_fr_offset; +} tc_frag_data_type; +#define TC_FRAG_TYPE tc_frag_data_type + #endif /* TC_MIPS */ |