aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2025-04-18 09:26:59 -0600
committerJeff Law <jlaw@ventanamicro.com>2025-04-18 09:27:59 -0600
commitbaf6ad5dad55a7aa1e75d4ccadc05347b4506a1f (patch)
tree45ca06c82bfa3a5f1e361f2a9c232b8b87406b2e
parent6b635f84c4e973c873cf49f99d87b0fe22d3f5f5 (diff)
downloadgcc-baf6ad5dad55a7aa1e75d4ccadc05347b4506a1f.zip
gcc-baf6ad5dad55a7aa1e75d4ccadc05347b4506a1f.tar.gz
gcc-baf6ad5dad55a7aa1e75d4ccadc05347b4506a1f.tar.bz2
[PATCH] c6x: Fix EHTYPE relocations
R_C6000_EHTYPE relocations are implemented as GOT-indirect relocations, but, as specified by the C6000 EABI (SPRAB89A), 13.5.1 Relocation Types, they are a special case of SBR (static base relocation). gcc/ * config/c6x/c6x.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove the DW_EH_PE_indirect flag.
-rw-r--r--gcc/config/c6x/c6x.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/config/c6x/c6x.h b/gcc/config/c6x/c6x.h
index e7da250..50bad27 100644
--- a/gcc/config/c6x/c6x.h
+++ b/gcc/config/c6x/c6x.h
@@ -444,11 +444,9 @@ struct GTY(()) machine_function
#define TARG_VEC_PERMUTE_COST 1
#endif
-/* ttype entries (the only interesting data references used) are
- sb-relative got-indirect (aka .ehtype). */
+/* .ehtype ttype entries are sb-relative. */
#define ASM_PREFERRED_EH_DATA_FORMAT(code, data) \
- (((code) == 0 && (data) == 1) ? (DW_EH_PE_datarel | DW_EH_PE_indirect) \
- : DW_EH_PE_absptr)
+ (((code) == 0 && (data) == 1) ? DW_EH_PE_datarel : DW_EH_PE_absptr)
/* This should be the same as the definition in elfos.h, plus the call
to output special unwinding directives. */