svn commit: r274531 - in stable/10: lib/libc/gen libexec/rtld-elf
Ed Maste
emaste at FreeBSD.org
Fri Nov 14 21:52:32 UTC 2014
Author: emaste
Date: Fri Nov 14 21:52:31 2014
New Revision: 274531
URL: https://svnweb.freebsd.org/changeset/base/274531
Log:
Always return pathname in dl_iterate_phdr's dlpi_name, as Linux does
Linux LD_ITERATE_PHDR(3):
The dlpi_name field is a null-terminated string giving the
pathname from which the shared object was loaded.
That functionality is much more useful than returning just the short
name.
Update dl_iterate_phdr(3) to follow r272842
MFC of r272842 and r272848
Modified:
stable/10/lib/libc/gen/dl_iterate_phdr.3
stable/10/libexec/rtld-elf/rtld.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/lib/libc/gen/dl_iterate_phdr.3
==============================================================================
--- stable/10/lib/libc/gen/dl_iterate_phdr.3 Fri Nov 14 21:12:28 2014 (r274530)
+++ stable/10/lib/libc/gen/dl_iterate_phdr.3 Fri Nov 14 21:52:31 2014 (r274531)
@@ -15,7 +15,7 @@
.\"
.\" $OpenBSD: dl_iterate_phdr.3,v 1.3 2007/05/31 19:19:48 jmc Exp $
.\" $FreeBSD$
-.Dd February 15, 2012
+.Dd October 9, 2014
.Dt DL_ITERATE_PHDR 3
.Os
.Sh NAME
@@ -68,7 +68,7 @@ have the following meaning:
The base address at which the object is mapped into the address
space of the calling process.
.It Fa dlpi_name
-The name of the ELF object.
+The pathname of the ELF object.
.It Fa dlpi_phdr
A pointer to the object's program headers.
.It Fa dlpi_phnum
Modified: stable/10/libexec/rtld-elf/rtld.c
==============================================================================
--- stable/10/libexec/rtld-elf/rtld.c Fri Nov 14 21:12:28 2014 (r274530)
+++ stable/10/libexec/rtld-elf/rtld.c Fri Nov 14 21:52:31 2014 (r274531)
@@ -3252,8 +3252,7 @@ rtld_fill_dl_phdr_info(const Obj_Entry *
{
phdr_info->dlpi_addr = (Elf_Addr)obj->relocbase;
- phdr_info->dlpi_name = STAILQ_FIRST(&obj->names) ?
- STAILQ_FIRST(&obj->names)->name : obj->path;
+ phdr_info->dlpi_name = obj->path;
phdr_info->dlpi_phdr = obj->phdr;
phdr_info->dlpi_phnum = obj->phsize / sizeof(obj->phdr[0]);
phdr_info->dlpi_tls_modid = obj->tlsindex;
More information about the svn-src-stable
mailing list