aboutsummaryrefslogtreecommitdiff
path: root/bfd/bfd-in2.h
diff options
context:
space:
mode:
authorKuan-Lin Chen <kuanlinchentw@gmail.com>2014-09-11 14:25:05 +0800
committerKuan-Lin Chen <kuanlinchentw@gmail.com>2014-09-16 13:08:00 +0800
commit1c8f6a4d1fcca9e56ac705a224778bf690122a07 (patch)
tree7ff41099c5a2f8b433f654b509a7c259899124e4 /bfd/bfd-in2.h
parent40c7a7cb74ee4a9ec0830d734198fcd0e99c3a37 (diff)
downloadgdb-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.h27
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,