From b730fbc6b86d777e80856e997ddc56fc4a851769 Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Fri, 17 May 2013 01:20:39 -0400 Subject: 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. --- file.c | 1 + 1 file changed, 1 insertion(+) (limited to 'file.c') diff --git a/file.c b/file.c index 444a81d..b77efad 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 -- cgit v1.2.3