aarch64: Run SUBTARGET_INIT_BUILTINS if it exists
authorMaya Rashish <coypu@sdf.org>
Mon, 15 Feb 2021 18:38:55 +0000 (18:38 +0000)
committerRichard Sandiford <richard.sandiford@arm.com>
Mon, 15 Feb 2021 18:38:55 +0000 (18:38 +0000)
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.

gcc/config/aarch64/aarch64.c

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