diff mbox series

[AArch64,Committed] Actually reserve room for null terminator when mangling buildins.

Message ID 20170831110827.GA18167@arm.com
State New
Headers show
Series [AArch64,Committed] Actually reserve room for null terminator when mangling buildins. | expand

Commit Message

Tamar Christina Aug. 31, 2017, 11:08 a.m. UTC
Hi All,

When mangling the builtin names and type signatures we create a buffer
to hold SIMD_MAX_BUILTIN_ARGS arguments, but don't account for the null
terminator for the string. Which means when you actually do use up to
SIMD_MAX_BUILTIN_ARGS arguments you'll end up with garbage at the end of
your intrinsics name.

I now allocate one extra char for the type signature for the null terminator.

Committed under the GCC obvious rule as r251558.

Tested on aarch64-none-elf

Thanks,
Tamar


gcc/
2017-08-31  Tamar Christina  <tamar.christina@arm.com>

	* config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
	Resize type_signature.

--
diff mbox series

Patch

diff --git a/gcc/config/aarch64/aarch64-builtins.c b/gcc/config/aarch64/aarch64-builtins.c
index a1b598c3da29ca791c261ca8a6f918573a818974..2670f3b550fc7c56cb11c5bfd5517cdeb9091d35 100644
--- a/gcc/config/aarch64/aarch64-builtins.c
+++ b/gcc/config/aarch64/aarch64-builtins.c
@@ -759,7 +759,7 @@  aarch64_init_simd_builtins (void)
   for (i = 0; i < ARRAY_SIZE (aarch64_simd_builtin_data); i++, fcode++)
     {
       bool print_type_signature_p = false;
-      char type_signature[SIMD_MAX_BUILTIN_ARGS] = { 0 };
+      char type_signature[SIMD_MAX_BUILTIN_ARGS + 1] = { 0 };
       aarch64_simd_builtin_datum *d = &aarch64_simd_builtin_data[i];
       char namebuf[60];
       tree ftype = NULL;