diff options
author | kan <kan@FreeBSD.org> | 2003-02-13 17:47:44 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2003-02-13 17:47:44 +0000 |
commit | ff89904c5faff3302ea65cba2fee770bbe2def53 (patch) | |
tree | 47a1e438dc6e9a6ec4b8cfbf67e72cbf01879f87 /sys/sys/link_elf.h | |
parent | 3d24733b3f03f6c22ce180c1eea1f3a0a26c7ebf (diff) | |
download | FreeBSD-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.h | 15 |
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 */ |