aboutsummaryrefslogtreecommitdiff
path: root/libexec/rtld-elf/rtld.h
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2009-11-26 13:57:20 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2009-11-26 13:57:20 +0000
commit0d3bc8a93018675df53cac34f18a833d3debb6ee (patch)
treea464d37b19cfa5fbdc7be41babd28cbc81840e61 /libexec/rtld-elf/rtld.h
parent45d276ce3c589bec96e7459c0c03c152334fdd07 (diff)
Implement rtld part of the support for -z nodlopen (see ld(1)).
Reviewed by: kan MFC after: 3 weeks
Notes
svn path=/head/; revision=199829
Diffstat (limited to 'libexec/rtld-elf/rtld.h')
-rw-r--r--libexec/rtld-elf/rtld.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/libexec/rtld-elf/rtld.h b/libexec/rtld-elf/rtld.h
index 06086b4b92e3..6f51d7db7820 100644
--- a/libexec/rtld-elf/rtld.h
+++ b/libexec/rtld-elf/rtld.h
@@ -218,6 +218,7 @@ typedef struct Struct_Obj_Entry {
bool phdr_alloc : 1; /* Phdr is allocated and needs to be freed. */
bool z_origin : 1; /* Process rpath and soname tokens */
bool z_nodelete : 1; /* Do not unload the object and dependencies */
+ bool z_noopen : 1; /* Do not load on dlopen */
bool ref_nodel : 1; /* Refcount increased to prevent dlclose */
bool init_scanned: 1; /* Object is already on init list. */
bool on_fini_list: 1; /* Object is already on fini list. */
@@ -240,6 +241,10 @@ typedef struct Struct_Obj_Entry {
#define SYMLOOK_DLSYM 0x02 /* Return newes versioned symbol. Used by
dlsym. */
+/* Flags for load_object(). */
+#define RTLD_LO_NOLOAD 0x01 /* dlopen() specified RTLD_NOLOAD */
+#define RTLD_LO_DLOPEN 0x02 /* load_object() called from dlopen(). */
+
/*
* Symbol cache entry used during relocation to avoid multiple lookups
* of the same symbol.