diff options
Diffstat (limited to 'ldso/include')
-rw-r--r-- | ldso/include/dl-hash.h | 2 | ||||
-rw-r--r-- | ldso/include/ldso.h | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/ldso/include/dl-hash.h b/ldso/include/dl-hash.h index a224012c4..a30c78afb 100644 --- a/ldso/include/dl-hash.h +++ b/ldso/include/dl-hash.h @@ -8,6 +8,7 @@ struct dyn_elf{ struct elf_resolve * dyn; struct dyn_elf * next_handle; /* Used by dlopen et al. */ + struct init_fini_list *init_fini; struct dyn_elf * next; struct dyn_elf * prev; }; @@ -57,6 +58,7 @@ struct elf_resolve{ #define RELOCS_DONE 2 #define JMP_RELOCS_DONE 4 #define INIT_FUNCS_CALLED 8 +#define FINI_FUNCS_CALLED 16 extern struct dyn_elf * _dl_symbol_tables; extern struct elf_resolve * _dl_loaded_modules; diff --git a/ldso/include/ldso.h b/ldso/include/ldso.h index 8248b1574..37ec439cb 100644 --- a/ldso/include/ldso.h +++ b/ldso/include/ldso.h @@ -31,6 +31,13 @@ #include <dl-elf.h> #include <dl-hash.h> +/* For INIT/FINI handling */ +struct init_fini_list { + struct init_fini_list *next; + struct init_fini_list *prev; + struct elf_resolve *tpnt; +}; + /* Global variables used within the shared library loader */ extern char *_dl_library_path; /* Where we look for libraries */ extern char *_dl_preload; /* Things to be loaded before the libs */ |