summaryrefslogtreecommitdiffstats
path: root/libexec/rtld-elf/rtld.h
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2009-11-26 13:57:20 +0000
committerkib <kib@FreeBSD.org>2009-11-26 13:57:20 +0000
commit8f8a9dcd1713ee26a3f4d2d33ff72b08588a6636 (patch)
treea464d37b19cfa5fbdc7be41babd28cbc81840e61 /libexec/rtld-elf/rtld.h
parent0dba9623fa5f6a9b3345180df9064e7a12807f33 (diff)
downloadFreeBSD-src-8f8a9dcd1713ee26a3f4d2d33ff72b08588a6636.zip
FreeBSD-src-8f8a9dcd1713ee26a3f4d2d33ff72b08588a6636.tar.gz
Implement rtld part of the support for -z nodlopen (see ld(1)).
Reviewed by: kan MFC after: 3 weeks
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 06086b4..6f51d7d 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.
OpenPOWER on IntegriCloud