summaryrefslogtreecommitdiff
path: root/file.c
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2013-05-17 01:20:39 -0400
committerPaul Smith <psmith@gnu.org>2013-05-17 01:20:39 -0400
commit173fd48b743a6eb85271d62dae0be1ca025d5d76 (patch)
tree9ca4f2aae6b0f5d8669c7990f3b2f50f22cd1780 /file.c
parentb7041cbb385e9a35a6ba2da69bf9cffbce678eee (diff)
downloadmake-173fd48b743a6eb85271d62dae0be1ca025d5d76.tar.gz
Remove the dlopen() pointer from struct filedef.
This pointer is almost never needed, and it increases the size of the filedef struct for all files (of which there are a huge number for large builds). Instead keep a bit field marking whether the file is a loaded object and if so call a new function to unload it. In load.c we keep a simple linked list of loaded objects (of which there will be very few typically) and their dlopen() pointers.
Diffstat (limited to 'file.c')
-rw-r--r--file.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/file.c b/file.c
index 444a81d1..b77efad1 100644
--- a/file.c
+++ b/file.c
@@ -322,6 +322,7 @@ rehash_file (struct file *from_file, const char *to_hname)
MERGE (is_target);
MERGE (cmd_target);
MERGE (phony);
+ MERGE (loaded);
MERGE (ignore_vpath);
#undef MERGE