Hi,
The problem here is that aarch64-builtins.c contains gty markers but
does not include gt-aarch64-builtins.h and is not included in the
target_gtfiles list in config.gcc. So sometimes the builtins get
garbage collected when they should not be.
Committed as obvious after a build and test on aarch64-elf.
Thanks,
Andrew Pinski
ChangeLog:
Bug target/61997
* config.gcc (aarch64*-*-*): Set target_gtfiles to include
aarch64-builtins.c.
* config/aarch64/aarch64-builtins.c: Include gt-aarch64-builtins.h
at the end of the file.
Index: config.gcc
===================================================================
--- config.gcc (revision 217376)
+++ config.gcc (working copy)
@@ -304,6 +304,7 @@ aarch64*-*-*)
cpu_type=aarch64
extra_headers="arm_neon.h arm_acle.h"
extra_objs="aarch64-builtins.o aarch-common.o"
+ target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
target_has_targetm_common=yes
;;
alpha*-*-*)
Index: config/aarch64/aarch64-builtins.c
===================================================================
--- config/aarch64/aarch64-builtins.c (revision 217376)
+++ config/aarch64/aarch64-builtins.c (working copy)
@@ -1473,3 +1473,4 @@ aarch64_atomic_assign_expand_fenv (tree
#undef VAR10
#undef VAR11
+#include "gt-aarch64-builtins.h"