[committed] MIPS/GAS: Fix microMIPS TLS reloc classification

Maciej W. Rozycki macro@orcam.me.uk
Thu Oct 30 14:28:41 GMT 2025
Fix `micromips_reloc_p' wrongly classifying microMIPS TLS relocations 
as non microMIPS relocations.  

Owing to where the function is called this issue does not trigger in 
reality, but with an upcoming change it would, where suitable tests 
will be included.
---
 gas/config/tc-mips.c |    7 +++++++
 1 file changed, 7 insertions(+)

binutils-umips-gas-tls-reloc.diff
Index: binutils-gdb/gas/config/tc-mips.c
===================================================================
--- binutils-gdb.orig/gas/config/tc-mips.c
+++ binutils-gdb/gas/config/tc-mips.c
@@ -4297,6 +4297,13 @@ micromips_reloc_p (bfd_reloc_code_real_t
     case BFD_RELOC_MICROMIPS_HIGHER:
     case BFD_RELOC_MICROMIPS_SCN_DISP:
     case BFD_RELOC_MICROMIPS_JALR:
+    case BFD_RELOC_MICROMIPS_TLS_GD:
+    case BFD_RELOC_MICROMIPS_TLS_LDM:
+    case BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16:
+    case BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16:
+    case BFD_RELOC_MICROMIPS_TLS_GOTTPREL:
+    case BFD_RELOC_MICROMIPS_TLS_TPREL_HI16:
+    case BFD_RELOC_MICROMIPS_TLS_TPREL_LO16:
       return true;
 
     default:


More information about the Binutils mailing list