]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Linker: Free memory used to track file dependencies.
authorNick Clifton <nickc@redhat.com>
Wed, 4 Feb 2026 12:28:22 +0000 (12:28 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 4 Feb 2026 12:28:22 +0000 (12:28 +0000)
ld/ldmain.c

index c73c228e59d75e118b5ef5f4ec9dde16632e9b24..b30abceb64f91544d4f9cfcbf3a8d9010efe2c5a 100644 (file)
@@ -218,6 +218,20 @@ write_dependency_file (void)
 
   fclose (out);
 }
+
+static void
+free_dependency_files (void)
+{
+  struct dependency_file *dep, *next;
+
+  for (dep = dependency_files; dep != NULL; dep = next)
+    {
+      next = dep->next;
+      free (dep->name);
+      free (dep);
+    }
+  dependency_files = dependency_files_tail = NULL;
+}
 \f
 static void
 ld_cleanup (void)
@@ -1007,6 +1021,7 @@ main (int argc, char **argv)
 
   if (config.dependency_file != NULL)
     write_dependency_file ();
+  free_dependency_files ();
 
   /* Even if we're producing relocatable output, some non-fatal errors should
      be reported in the exit status.  (What non-fatal errors, if any, do we