aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/tc-nios2.h8
2 files changed, 12 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 30d07a8..821be3b 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,9 @@
2017-02-28 Alan Modra <amodra@gmail.com>
+ * config/tc-nios2.h (TC_FORCE_RELOCATION_SUB_LOCAL): Define.
+
+2017-02-28 Alan Modra <amodra@gmail.com>
+
* config/tc-ppc.c (md_assemble): Use BFD_RELOC_PPC_16DX_HA for addpcis.
(md_apply_fix): Remove fx_subsy check. Move code converting to
pcrel reloc earlier and handle BFD_RELOC_PPC_16DX_HA. Remove code
diff --git a/gas/config/tc-nios2.h b/gas/config/tc-nios2.h
index 340fd76..27ae351 100644
--- a/gas/config/tc-nios2.h
+++ b/gas/config/tc-nios2.h
@@ -101,6 +101,14 @@ extern flagword nios2_elf_section_flags (flagword, int, int);
#define DIFF_EXPR_OK
+/* Don't allow the generic code to convert fixups involving the
+ subtraction of a label in the current section to pc-relative if we
+ don't have the necessary pc-relative relocation. */
+#define TC_FORCE_RELOCATION_SUB_LOCAL(FIX, SEG) \
+ (!((FIX)->fx_r_type == BFD_RELOC_16 \
+ || (FIX)->fx_r_type == BFD_RELOC_NIOS2_LO16 \
+ || (FIX)->fx_r_type == BFD_RELOC_NIOS2_HIADJ16))
+
/* Nios2 ABI doesn't have 32-bit PCREL relocation, and, as relocations for
CFI information will be in section other than .text, we can't use PC-biased
relocs. */