public inbox for elfutils@sourceware.org
 help / color / mirror / Atom feed
From: Mark Wielaard <mark@klomp.org>
To: "Dmitry V. Levin" <ldv@altlinux.org>
Cc: Florian Weimer <fweimer@redhat.com>,
	elfutils-devel@sourceware.org,
	Panu Matilainen <pmatilai@laiskiainen.org>
Subject: Re: [PATCH] elfclassify tool
Date: Sat, 20 Jul 2019 21:51:00 -0000	[thread overview]
Message-ID: <20190720215116.GC2851@wildebeest.org> (raw)
In-Reply-To: <20190719225727.GA31985@altlinux.org>

On Sat, Jul 20, 2019 at 01:57:27AM +0300, Dmitry V. Levin wrote:
> On Fri, Jul 19, 2019 at 11:36:53PM +0200, Mark Wielaard wrote:
> > > If the ELF type is ET_DYN and the object is not marked as DF_1_PIE,
> > > could we come up with a more reliable heuristics than DT_SONAME and PT_INTERP?
> > 
> > Why do you feel it is unreliable? Do you have any examples of files
> > misidentified?
> 
> No, I don't have such examples because most (if not all) ET_DYN
> non-DF_1_PIE objects we have nowadays are actually libraries regardless
> of their DT_SONAME or PT_INTERP.
> 
> What actually disqualifies these objects from being libraries, besides
> missing PT_DYNAMIC?

The goal here was to have a classification specifically to handle things
like glibc or Qt executable.so shared libraries. So that --shared would
make them as shared libraries primarily (and so --executable would not
mark them as programs). This is because for shared libraries you might
want to do some processing you don't want for executable (or the other
way around). Think about deciding whether or not to keep the .symtab.

Maybe you are looking for another goal/classification?  For example I
added --program which does classify those special files as programs
(even though --shared also says they are shared libraries). Maybe you
are looking for a different classification similar/dual to that. Say
--library?

> The only reason why I feel uncomfortable to rely on this has_soname check
> is that DT_SONAME is so easily added unnoticed by mistake.

But it isn't used in isolation to mark something as --shared.

> btw, I think it would be appropriate to move the has_dynamic check before
> the first check in is_shared that returns true.

Yes, that is probably fine, but does it really matter?
Florian, what do you think?

Cheers,

Mark

  reply	other threads:[~2019-07-20 21:51 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-12 15:38 Florian Weimer
2019-04-15 15:39 ` Mark Wielaard
2019-04-16 11:38   ` Florian Weimer
2019-04-18 11:17     ` Florian Weimer
2019-07-19 12:47       ` Mark Wielaard
2019-07-19 13:43         ` Dmitry V. Levin
2019-07-19 14:21           ` Mark
2019-07-19 18:35             ` Dmitry V. Levin
2019-07-19 21:00               ` Florian Weimer
2019-07-19 21:23                 ` Dmitry V. Levin
2019-07-19 21:36                   ` Mark Wielaard
2019-07-19 22:57                     ` Dmitry V. Levin
2019-07-20 21:51                       ` Mark Wielaard [this message]
2019-07-25 22:39                         ` [PATCH] elfclassify: Add --library classification Mark Wielaard
2019-07-26 22:53                           ` Dmitry V. Levin
2019-07-26 23:04                         ` [PATCH] elfclassify tool Dmitry V. Levin
2019-07-27 11:54                           ` Mark Wielaard
2019-07-20 21:40         ` Mark Wielaard
2019-07-22 15:55         ` Florian Weimer
2019-07-26 22:11           ` Mark Wielaard
2019-07-29  8:44             ` Florian Weimer
2019-07-29 14:24               ` Mark Wielaard
2019-08-11 23:38                 ` Mark Wielaard
2019-08-12  8:14                   ` Florian Weimer
2019-08-12 15:18                     ` Mark Wielaard
2019-07-29  9:16             ` Florian Weimer
2019-07-29 14:34               ` Mark Wielaard
2019-07-29 14:38                 ` Florian Weimer
2019-08-13  9:44                   ` Mark Wielaard
2019-08-13 11:42                     ` Mark Wielaard
2019-08-14 20:46                       ` [PATCH] config/elfutils.spec.in: package eu-elfclassify Dmitry V. Levin
2019-08-15  7:33                         ` Mark Wielaard
2019-07-29  9:22             ` [PATCH] elfclassify tool Florian Weimer
2019-07-29 14:40               ` Mark Wielaard
2019-07-29 14:42                 ` Florian Weimer
2019-07-19 13:24     ` Mark Wielaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190720215116.GC2851@wildebeest.org \
    --to=mark@klomp.org \
    --cc=elfutils-devel@sourceware.org \
    --cc=fweimer@redhat.com \
    --cc=ldv@altlinux.org \
    --cc=pmatilai@laiskiainen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).