aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/gen/dlinfo.3
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2020-05-20 22:08:26 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2020-05-20 22:08:26 +0000
commit2c6d9dc0bbd887a50e7ff0c6af3499ff265f1a16 (patch)
tree5517a5bc3d5a0561ac09d45528e86f70da898760 /lib/libc/gen/dlinfo.3
parentea6020830c8f88e2b844ae9700c8ef58fbb51c75 (diff)
downloadsrc-2c6d9dc0bbd887a50e7ff0c6af3499ff265f1a16.tar.gz
src-2c6d9dc0bbd887a50e7ff0c6af3499ff265f1a16.zip
Change the samantic of struct link_map l_addr member.
It previously returned the object map base address, while all other ELF operating systems return load offset, i.e. the difference between map base and the link base. Explain the meaning of the field in the man page. Stop filling the mips-only l_offs member, which is apparently unused. PR: 246561 Requested by: Damjan Jovanovic <damjan.jov@gmail.com> Reviewed by: emaste, jhb, cem (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D24918
Notes
Notes: svn path=/head/; revision=361303
Diffstat (limited to 'lib/libc/gen/dlinfo.3')
-rw-r--r--lib/libc/gen/dlinfo.38
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/libc/gen/dlinfo.3 b/lib/libc/gen/dlinfo.3
index 3fc568e0fcc6..7a6551dfe9ee 100644
--- a/lib/libc/gen/dlinfo.3
+++ b/lib/libc/gen/dlinfo.3
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 14, 2003
+.Dd May 19, 2020
.Dt DLINFO 3
.Os
.Sh NAME
@@ -105,7 +105,7 @@ structure is defined in
.In link.h
and has the following members:
.Bd -literal -offset indent
-caddr_t l_addr; /* Base Address of library */
+caddr_t l_addr; /* Load Offset of library */
const char *l_name; /* Absolute Path to Library */
const void *l_ld; /* Pointer to .dynamic in memory */
struct link_map *l_next, /* linked list of mapped libs */
@@ -113,7 +113,9 @@ struct link_map *l_next, /* linked list of mapped libs */
.Ed
.Bl -tag -width ".Va l_addr"
.It Va l_addr
-The base address of the object loaded into memory.
+The load offset of the object, that is, the difference between
+the actual load address and the base virtual address the object
+was linked at.
.It Va l_name
The full name of the loaded shared object.
.It Va l_ld