[aarch64] Use better dwarf2 encoding factors

Richard Henderson rth@redhat.com
Wed Aug 6 22:39:00 GMT 2014


These constants were copied from the 32-bit ARM port.  But for AArch64, we only
have 32-bit instructions, and (even for ilp32) 64-bit frame related stores.

Using the proper factors results in smaller unwind info.

Ok?


r~
-------------- next part --------------
	* config/tc-aarch64.h (DWARF2_LINE_MIN_INSN_LENGTH): Set to 4.
	(DWARF2_CIE_DATA_ALIGNMENT): Set to -8.


diff --git a/gas/config/tc-aarch64.h b/gas/config/tc-aarch64.h
index 94a3dc9..3d4ffc5 100644
--- a/gas/config/tc-aarch64.h
+++ b/gas/config/tc-aarch64.h
@@ -145,13 +145,13 @@ struct aarch64_frag_type
       goto LABEL;								\
     }
 
-#define DWARF2_LINE_MIN_INSN_LENGTH 	2
+#define DWARF2_LINE_MIN_INSN_LENGTH 	4
 
 /* The lr register is r30.  */
 #define DWARF2_DEFAULT_RETURN_COLUMN  30
 
 /* Registers are generally saved at negative offsets to the CFA.  */
-#define DWARF2_CIE_DATA_ALIGNMENT     (-4)
+#define DWARF2_CIE_DATA_ALIGNMENT     (-8)
 
 extern int aarch64_dwarf2_addr_size (void);
 #define DWARF2_ADDR_SIZE(bfd) aarch64_dwarf2_addr_size ()


More information about the Binutils mailing list