[PATCH] Hurd: remove VLA usage.

Flavio Cruz flaviocruz@gmail.com
Wed Dec 18 06:27:19 GMT 2024


Compilation will fail with -Werror=vla, which seems to be the default.

Note that we can allocate just an array of num_threads pointers,
hence the change.
---
 gdb/gnu-nat.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gdb/gnu-nat.c b/gdb/gnu-nat.c
index a8a4da1c..60819695 100644
--- a/gdb/gnu-nat.c
+++ b/gdb/gnu-nat.c
@@ -1016,14 +1016,14 @@ gnu_nat_target::inf_validate_procs (struct inf *inf)
   {
     /* Make things normally linear.  */
     mach_msg_type_number_t search_start = 0;
-    /* Which thread in PROCS corresponds to each task thread, & the task.  */
-    struct proc *matched[num_threads + 1];
+    /* Which thread in PROCS corresponds to each task thread.  */
+    struct proc **matched = XNEWVEC (struct proc *, num_threads);
     /* The last thread in INF->threads, so we can add to the end.  */
     struct proc *last = 0;
     /* The current thread we're considering.  */
     struct proc *thread = inf->threads;
 
-    memset (matched, 0, sizeof (matched));
+    memset (matched, 0, sizeof (struct proc *) * num_threads);
 
     while (thread)
       {
@@ -1090,6 +1090,7 @@ gnu_nat_target::inf_validate_procs (struct inf *inf)
 	  }
       }
 
+    xfree (matched);
     vm_deallocate (mach_task_self (),
 		   (vm_address_t) threads, (num_threads * sizeof (thread_t)));
   }
-- 
2.45.2



More information about the Gdb-patches mailing list