[PATCH] Handle 8-bit data relocations on sparc.

David Miller davem@davemloft.net
Thu Nov 17 04:26:00 GMT 2011


The dwarf2 assembler test cases in gdb do things like this:

	.byte	2f - 1f

and this wasn't being handled by GAS on sparc.

Committed to trunk.

gas/

	* config/tc-sparc.c (md_apply_fix): Handle BFD_RELOC_8.

diff --git a/gas/config/tc-sparc.c b/gas/config/tc-sparc.c
index 77fda56..f453733 100644
--- a/gas/config/tc-sparc.c
+++ b/gas/config/tc-sparc.c
@@ -3193,8 +3193,12 @@ md_apply_fix (fixS *fixP, valueT *valP, segT segment ATTRIBUTE_UNUSED)
 
   /* If this is a data relocation, just output VAL.  */
 
-  if (fixP->fx_r_type == BFD_RELOC_16
-      || fixP->fx_r_type == BFD_RELOC_SPARC_UA16)
+  if (fixP->fx_r_type == BFD_RELOC_8)
+    {
+      md_number_to_chars (buf, val, 1);
+    }
+  else if (fixP->fx_r_type == BFD_RELOC_16
+	   || fixP->fx_r_type == BFD_RELOC_SPARC_UA16)
     {
       md_number_to_chars (buf, val, 2);
     }



More information about the Binutils mailing list