This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Error in documentation of $ORIGIN in the ld.so man page
- From: "Michael Kerrisk (man-pages)" <mtk dot manpages at gmail dot com>
- To: Jonathan Wakely <jwakely at redhat dot com>
- Cc: Siddhesh Poyarekar <siddhesh dot poyarekar at gmail dot com>, GNU C Library <libc-alpha at sourceware dot org>, "Carlos O'Donell" <carlos at redhat dot com>
- Date: Tue, 28 Oct 2014 15:11:04 +0100
- Subject: Re: Error in documentation of $ORIGIN in the ld.so man page
- Authentication-results: sourceware.org; auth=none
- References: <CAAHN_R0=P=ZxXhGcEMgr60zmH+sh29mg57dm8ccfo82+EyZqhg at mail dot gmail dot com> <20141009181952 dot GD4197 at redhat dot com> <544F9E4C dot 6030802 at gmail dot com> <20141028140949 dot GF3033 at redhat dot com>
- Reply-to: mtk dot manpages at gmail dot com
On Tue, Oct 28, 2014 at 3:09 PM, Jonathan Wakely <jwakely@redhat.com> wrote:
> On 28/10/14 14:46 +0100, Michael Kerrisk (man-pages) wrote:
>>
>> Hello Jonathan and Siddesh,
>>
>> Thanks for the patch and the report.
>>
>> I applied the patch. One question, below.
>>
>> On 10/09/2014 08:19 PM, Jonathan Wakely wrote:
>>>
>>> On 09/10/14 23:18 +0530, Siddhesh Poyarekar wrote:
>>>>
>>>> Hi Michael,
>>>>
>>>> The ld.so man page says:
>>>>
>>>> $ORIGIN (or equivalently ${ORIGIN})
>>>> This expands to the directory containing the application
>>>> executable. Thus, an application located in somedir/app could be
>>>> compiled with
>>>>
>>>> which is incorrect since it expands to the directory containing the
>>>> DSO and not the application executable. This seems like deliberate
>>>> behaviour in dl-object.c, so it needs to be fixed in the man page.
>>>> Credit goes to Jon Wakely for finding this[1].
>>>
>>>
>>> Thanks, Siddhesh, I was just preparing this suggested patch.
>>>
>>>
>>> > diff --git a/man8/ld.so.8 b/man8/ld.so.8
>>> index a5a7293..ac02df6 100644
>>> --- a/man8/ld.so.8
>>> +++ b/man8/ld.so.8
>>> @@ -92,7 +92,7 @@ understands certain strings in an rpath specification
>>> (DT_RPATH or DT_RUNPATH);
>>> .TP
>>> .IR $ORIGIN " (or equivalently " ${ORIGIN} )
>>> This expands to
>>> -the directory containing the application executable.
>>> +the directory containing the program or library.
>>
>>
>> I made this "...program or shared library". Okay?
>
>
> Yes, I think that's an improvement.
>
> I used "program or library" to match the first line of the SYNOPSIS
> which uses the same wording, but there it says "some dynamically
> linked program or library" which makes it clear it refers to
> shared libraries. Your change makes the same thing clear in the
> description of $ORIGIN.
>
Thanks, Jonathan.
Cheers,
Michael
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/