[binutils-gdb] [aarch64] Avoid initializers for VLAs

Roland McGrath roland@sourceware.org
Thu Feb 9 19:06:33 GMT 2023


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b695fdd9b2494a64db1fb8e584753a1a5afec494

commit b695fdd9b2494a64db1fb8e584753a1a5afec494
Author: Roland McGrath <mcgrathr@google.com>
Date:   Thu Feb 9 10:47:17 2023 -0800

    [aarch64] Avoid initializers for VLAs
    
    Clang doesn't accept initializer syntax for variable-length
    arrays in C. Just use memset instead.

Diff:
---
 gdb/aarch64-linux-nat.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c
index e4158236db2..ecb2eeb9540 100644
--- a/gdb/aarch64-linux-nat.c
+++ b/gdb/aarch64-linux-nat.c
@@ -56,6 +56,8 @@
 
 #include "nat/aarch64-mte-linux-ptrace.h"
 
+#include <string.h>
+
 #ifndef TRAP_HWBKPT
 #define TRAP_HWBKPT 0x0004
 #endif
@@ -445,7 +447,9 @@ fetch_tlsregs_from_thread (struct regcache *regcache)
   gdb_assert (regno != -1);
   gdb_assert (tdep->tls_register_count > 0);
 
-  uint64_t tpidrs[tdep->tls_register_count] = { 0 };
+  uint64_t tpidrs[tdep->tls_register_count];
+  memset(tpidrs, 0, sizeof(tpidrs));
+
   struct iovec iovec;
   iovec.iov_base = tpidrs;
   iovec.iov_len = sizeof (tpidrs);
@@ -471,7 +475,8 @@ store_tlsregs_to_thread (struct regcache *regcache)
   gdb_assert (regno != -1);
   gdb_assert (tdep->tls_register_count > 0);
 
-  uint64_t tpidrs[tdep->tls_register_count] = { 0 };
+  uint64_t tpidrs[tdep->tls_register_count];
+  memset(tpidrs, 0, sizeof(tpidrs));
 
   for (int i = 0; i < tdep->tls_register_count; i++)
     {


More information about the Gdb-cvs mailing list