summaryrefslogtreecommitdiffstats
path: root/sys/sys/link_elf.h
diff options
context:
space:
mode:
authorkan <kan@FreeBSD.org>2003-02-13 17:47:44 +0000
committerkan <kan@FreeBSD.org>2003-02-13 17:47:44 +0000
commitff89904c5faff3302ea65cba2fee770bbe2def53 (patch)
tree47a1e438dc6e9a6ec4b8cfbf67e72cbf01879f87 /sys/sys/link_elf.h
parent3d24733b3f03f6c22ce180c1eea1f3a0a26c7ebf (diff)
downloadFreeBSD-src-ff89904c5faff3302ea65cba2fee770bbe2def53.zip
FreeBSD-src-ff89904c5faff3302ea65cba2fee770bbe2def53.tar.gz
Implement dlinfo() function.
Introdice RTLD_SELF special handle and properly process it within dlsym() and dlinfo() functions. The intention is to improve our compatibility with Solaris and to make a Java port easier. Partially submitted by: phantom
Diffstat (limited to 'sys/sys/link_elf.h')
-rw-r--r--sys/sys/link_elf.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/sys/sys/link_elf.h b/sys/sys/link_elf.h
index 88da6ee..3a7392c 100644
--- a/sys/sys/link_elf.h
+++ b/sys/sys/link_elf.h
@@ -43,7 +43,18 @@
#include <sys/types.h>
-struct link_map {
+/*
+ * Flags that describe the origin of the entries in Dl_serinfo.
+ * SunOS has these in <sys/link.h>, we follow the suit.
+ */
+#define LA_SER_ORIG 0x01 /* original (needed) name */
+#define LA_SER_LIBPATH 0x02 /* LD_LIBRARY_PATH entry prepended */
+#define LA_SER_RUNPATH 0x04 /* runpath entry prepended */
+#define LA_SER_CONFIG 0x08 /* configuration entry prepended */
+#define LA_SER_DEFAULT 0x40 /* default path prepended */
+#define LA_SER_SECURE 0x80 /* default (secure) path prepended */
+
+typedef struct link_map {
caddr_t l_addr; /* Base Address of library */
#ifdef __mips__
caddr_t l_offs; /* Load Offset of library */
@@ -51,7 +62,7 @@ struct link_map {
const char *l_name; /* Absolute Path to Library */
const void *l_ld; /* Pointer to .dynamic in memory */
struct link_map *l_next, *l_prev; /* linked list of of mapped libs */
-};
+} Link_map;
struct r_debug {
int r_version; /* not used */
OpenPOWER on IntegriCloud