aarch64: Run SUBTARGET_INIT_BUILTINS if it exists

Some subtargets don't provide the canonical function names as
the symbol name in C libraries, and libcalls will only work if
the builtins are patched to emit the correct library name.

For example, on NetBSD, cabsl has the symbol name __c99_cabsl,
and the patching is done via netbsd_patch_builtin.

With this change, libgfortran.so is correctly built with a
reference to __c99_cabsl, instead of "cabsl" which is not defined.

gcc/ChangeLog:
	* config/aarch64/aarch64.c (aarch64_init_builtins):
	Call SUBTARGET_INIT_BUILTINS.
This commit is contained in:
Maya Rashish 2021-02-15 18:38:55 +00:00 committed by Richard Sandiford
parent a33927c9ab
commit f9d4544df5

View File

@ -13492,6 +13492,9 @@ aarch64_init_builtins ()
{ {
aarch64_general_init_builtins (); aarch64_general_init_builtins ();
aarch64_sve::init_builtins (); aarch64_sve::init_builtins ();
#ifdef SUBTARGET_INIT_BUILTINS
SUBTARGET_INIT_BUILTINS;
#endif
} }
/* Implement TARGET_FOLD_BUILTIN. */ /* Implement TARGET_FOLD_BUILTIN. */