diff options
author | Kuan-Lin Chen <kuanlinchentw@gmail.com> | 2014-09-11 14:25:05 +0800 |
---|---|---|
committer | Kuan-Lin Chen <kuanlinchentw@gmail.com> | 2014-09-16 13:08:00 +0800 |
commit | 1c8f6a4d1fcca9e56ac705a224778bf690122a07 (patch) | |
tree | 7ff41099c5a2f8b433f654b509a7c259899124e4 /bfd/bfd-in2.h | |
parent | 40c7a7cb74ee4a9ec0830d734198fcd0e99c3a37 (diff) | |
download | gdb-1c8f6a4d1fcca9e56ac705a224778bf690122a07.zip gdb-1c8f6a4d1fcca9e56ac705a224778bf690122a07.tar.gz gdb-1c8f6a4d1fcca9e56ac705a224778bf690122a07.tar.bz2 |
NDS32: Code refactoring of relaxation.
Refactor each relaxation pattern to raise the maintainability.
In origin, all patterns is analysed in nds32_elf_relax_section,
so it is hard to debug and maintain. Therefore, we classify all
patterns into different functions in this patch.
Moreover, we adjust all optimizations into nds32_elf_relax_section
to take these optimizations in turn. This can promise all relaxation
being done after calling gld${EMULATION_NAME}_after_allocation.
Diffstat (limited to 'bfd/bfd-in2.h')
-rw-r--r-- | bfd/bfd-in2.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 1f1aed5..a40a14a 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -3956,6 +3956,13 @@ and shift left by 0 for use in lbi.gp, sbi.gp... */ BFD_RELOC_NDS32_15_FIXED, BFD_RELOC_NDS32_17_FIXED, BFD_RELOC_NDS32_25_FIXED, + BFD_RELOC_NDS32_LONGCALL4, + BFD_RELOC_NDS32_LONGCALL5, + BFD_RELOC_NDS32_LONGCALL6, + BFD_RELOC_NDS32_LONGJUMP4, + BFD_RELOC_NDS32_LONGJUMP5, + BFD_RELOC_NDS32_LONGJUMP6, + BFD_RELOC_NDS32_LONGJUMP7, /* for PIC */ BFD_RELOC_NDS32_PLTREL_HI20, @@ -4016,12 +4023,32 @@ This is a 5 bit absolute address. */ BFD_RELOC_NDS32_DIFF16, BFD_RELOC_NDS32_DIFF32, BFD_RELOC_NDS32_DIFF_ULEB128, + BFD_RELOC_NDS32_EMPTY, + +/* This is a 25 bit absolute address. */ BFD_RELOC_NDS32_25_ABS, + +/* For ex9 and ifc using. */ BFD_RELOC_NDS32_DATA, BFD_RELOC_NDS32_TRAN, BFD_RELOC_NDS32_17IFC_PCREL, BFD_RELOC_NDS32_10IFCU_PCREL, +/* For TLS. */ + BFD_RELOC_NDS32_TPOFF, + BFD_RELOC_NDS32_TLS_LE_HI20, + BFD_RELOC_NDS32_TLS_LE_LO12, + BFD_RELOC_NDS32_TLS_LE_ADD, + BFD_RELOC_NDS32_TLS_LE_LS, + BFD_RELOC_NDS32_GOTTPOFF, + BFD_RELOC_NDS32_TLS_IE_HI20, + BFD_RELOC_NDS32_TLS_IE_LO12S2, + BFD_RELOC_NDS32_TLS_TPOFF, + BFD_RELOC_NDS32_TLS_LE_20, + BFD_RELOC_NDS32_TLS_LE_15S0, + BFD_RELOC_NDS32_TLS_LE_15S1, + BFD_RELOC_NDS32_TLS_LE_15S2, + /* This is a 9-bit reloc */ BFD_RELOC_V850_9_PCREL, |