Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F137047408
D24918.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D24918.id.diff
View Options
Index: head/lib/libc/gen/dlinfo.3
===================================================================
--- head/lib/libc/gen/dlinfo.3
+++ head/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 @@
.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 @@
.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
Index: head/libexec/rtld-elf/rtld.c
===================================================================
--- head/libexec/rtld-elf/rtld.c
+++ head/libexec/rtld-elf/rtld.c
@@ -4032,12 +4032,8 @@
struct link_map *prev;
obj->linkmap.l_name = obj->path;
- obj->linkmap.l_addr = obj->mapbase;
+ obj->linkmap.l_addr = obj->relocbase;
obj->linkmap.l_ld = obj->dynamic;
-#ifdef __mips__
- /* GDB needs load offset on MIPS to use the symbols */
- obj->linkmap.l_offs = obj->relocbase;
-#endif
if (r_debug.r_map == NULL) {
r_debug.r_map = l;
Index: head/sys/sys/link_elf.h
===================================================================
--- head/sys/sys/link_elf.h
+++ head/sys/sys/link_elf.h
@@ -57,9 +57,9 @@
#define LA_SER_SECURE 0x80 /* default (secure) path prepended */
typedef struct link_map {
- caddr_t l_addr; /* Base Address of library */
+ caddr_t l_addr; /* Load Offset of library */
#ifdef __mips__
- caddr_t l_offs; /* Load Offset of library */
+ caddr_t l_xxx; /* unused */
#endif
const char *l_name; /* Absolute Path to Library */
const void *l_ld; /* Pointer to .dynamic in memory */
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Nov 22, 1:18 AM (21 h, 38 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25857257
Default Alt Text
D24918.id.diff (2 KB)
Attached To
Mode
D24918: Add load offset value to struct link_map.
Attached
Detach File
Event Timeline
Log In to Comment