Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAMbhsRTZ=8S+oMOi4nuyD2h53ODPCj+SVB-2ng_s=kiCGBZ2HQ@mail.gmail.com>
Date: Mon, 11 Apr 2022 08:52:15 -0700
From: Colin Cross <ccross@...gle.com>
To: noloader@...il.com
Cc: Rich Felker <dalias@...c.org>, musl@...ts.openwall.com
Subject: Re: [PATCH] dl_iterate_phdr: return empty string for the name
 of the main program

On Mon, Apr 11, 2022 at 7:03 AM Jeffrey Walton <noloader@...il.com> wrote:
>
> On Mon, Apr 11, 2022 at 8:42 AM Rich Felker <dalias@...c.org> wrote:
> >
> > On Mon, Apr 11, 2022 at 08:24:21AM -0400, Jeffrey Walton wrote:
> > > On Mon, Apr 4, 2022 at 11:57 PM Michael Forney <mforney@...rney.org> wrote:
> > > >
> > > >  ...
> > > > > Use a constant empty string instead of the DSO name field for the first
> > > > > entry in the DSO list.
> > > >
> > > > I believe glibc is the exception here, not musl. When I looked at
> > > > this, every other operating system I tried used the program name for
> > > > the first object.
> > >
> > > I may be splitting hairs, but the dl_iterate_phdr(3) man page does not
> > > say a program is returned during the enumeration. It says shared
> > > objects are returned.
> >
> > You are. The intent, actual practice -- and absolute necessity for
> > this function to serve its purpose, which includes admiting the
> > implementation of exception handling -- is that it be included. And in
> > this context, the (dynamic linked) program *is* a shared object.
>
> I think you are conflating ET_DYN with a shared object. The presence
> of ET_DYN does not make a program a shared object, it merely means the
> object is relocatable (i.e., position independent code).
>
> Jeff

>From further down in the same man page:

       The first object visited by callback is the main  program.
For  the  main  program,  the
       dlpi_name field will be an empty string.

In any case, the motivation for this patch was for compatibility with
LLVM's ASAN runtime, which has now been fixed to remove the empty name
assumption by Michael's resubmitted patch at
https://reviews.llvm.org/D119515, so this patch is no longer
necessary.

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.