#undef STATIC_CHAIN_REGNUM
#define STATIC_CHAIN_REGNUM R17_REGNUM
+#define ASM_COMMENT_START "//"
+
+/* ASM_OUTPUT_TYPE_DIRECTIVE is not yet supported by binutils for the
+ aarch64-w64-mingw32 target. */
+#define ASM_OUTPUT_TYPE_DIRECTIVE(STREAM, NAME, TYPE)
+
+/* Structured Exception Handling (SEH) is not yet supported by binutils
+ so adding seh_endproc as an assembly comment to mark the end of a
+ function. */
+#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \
+ fprintf (FILE, "\t" ASM_COMMENT_START " seh_endproc\n")
+
#endif /* GCC_AARCH64_ABI_MS_H. */
#define ASM_OUTPUT_SKIP(STREAM, NBYTES) \
fprintf (STREAM, "\t.space\t%d // skip\n", (int) (NBYTES))
-/* Definitions that are not yet supported by binutils for the
- aarch64-w64-mingw32 target. */
-#define ASM_OUTPUT_TYPE_DIRECTIVE(STREAM, NAME, TYPE)
-#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL)
-
#define TEXT_SECTION_ASM_OP "\t.text"
#define DATA_SECTION_ASM_OP "\t.data"
#define BSS_SECTION_ASM_OP "\t.bss"
set up_config(end) {^\}$}
} elseif { [istarget *-*-darwin*] } {
set up_config(end) {^LFE[0-9]+}
+ } elseif { [istarget aarch64*-*-mingw32] } {
+ set up_config(end) {seh_endproc}
} else {
set up_config(end) {^\s*\.size}
}