public inbox for libc-help@sourceware.org
 help / color / mirror / Atom feed
From: Mike Frysinger <vapier@gentoo.org>
To: Peng Yu <pengyu.ut@gmail.com>
Cc: Szabolcs Nagy <szabolcs.nagy@arm.com>,
	libc-help <libc-help@sourceware.org>
Subject: Re: Best reference for understanding ELF format
Date: Tue, 20 Apr 2021 09:19:23 -0400	[thread overview]
Message-ID: <YH7UxO8OZLWAljgc@vapier> (raw)
In-Reply-To: <CABrM6wmsJK_Kit-0_ztWHTjaLj=3c6OZ3W-kdFcTOr5B=0QVYQ@mail.gmail.com>

On 19 Apr 2021 20:58, Peng Yu via Libc-help wrote:
> On 4/19/21, Szabolcs Nagy <szabolcs.nagy@arm.com> wrote:
> > The 04/17/2021 07:31, Peng Yu via Libc-help wrote:
> >> That is a book. By definition, a book will not be complete since a
> >> book is not written for completeness?
> >>
> >> For the best reference (as "reference" may have muliple meanings maybe
> >> I should use the word "spec" to avoid ambiguity), I found the
> >> following two documents. One is for 32-bit, the other is for 64-bit.
> >> Are they the most current ones? Other there any other documents that
> >> cover the things missed by them?
> >>
> >> https://refspecs.linuxfoundation.org/elf/elf.pdf
> >> https://www.uclibc.org/docs/elf-64-gen.pdf
> >
> > elf spec is part of the system v abi document.
> > the generic part is in
> > http://www.sco.com/developers/gabi/
> > the processor specific part is published separately by
> > whoever does the tooling for the particular processor.
> >
> > (all this can be found out by 5 minute research on wikipedia)
> >
> > but since you asked for easy-to-follow and for
> > understanding elf i think the book is better.
> 
> Updated is also needed. An outdated reference is not preferred even it
> is easy to follow.

pretty much all the content in the book is still relevant.  the fact that it
doesn't cover the latest ELF extensions doesn't mean that the fundamentals are
no longer relevant.

> I found this book is quite outdated. It does not explain the current
> gcc and clang.

gcc & clang don't produce ELFs.  so, at best, they'd be mentioned in passing
even in the latest docs.

> For example, gcc mostly use RELA instead of REL. But this book says this.

gcc doesn't generate relocations.

also "mostly" is a bit skewed.  it depends on the architecture.

> So a better reference in terms of all three aspects that I mentioned is needed.

you need to learn to walk before you can hope to run.
-mike

  parent reply	other threads:[~2021-04-20 13:19 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-16  3:38 Peng Yu
2021-04-16  3:47 ` Mike Frysinger
2021-04-17 12:31   ` Peng Yu
2021-04-19  7:29     ` Szabolcs Nagy
2021-04-19  7:53       ` Florian Weimer
2021-04-20  1:58       ` Peng Yu
2021-04-20  7:08         ` tomas
2021-04-20 13:19         ` Mike Frysinger [this message]
2021-04-20 13:40           ` Peng Yu
2021-04-20 14:18             ` Mike Frysinger
2021-04-20 15:12               ` Peng Yu
2021-04-20 16:39                 ` Jeffrey Walton
2021-04-20 16:51                   ` Carlos O'Donell
2021-04-21  3:19                     ` Peng Yu
2021-04-20 17:55                   ` Mike Frysinger
2021-04-20 18:01                 ` Mike Frysinger
2021-04-20  8:14     ` Jeffrey Walton

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=YH7UxO8OZLWAljgc@vapier \
    --to=vapier@gentoo.org \
    --cc=libc-help@sourceware.org \
    --cc=pengyu.ut@gmail.com \
    --cc=szabolcs.nagy@arm.com \
    /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).