[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