public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Alan Modra <amodra@gmail.com>
To: Christian Eggers <ceggers@gmx.de>
Cc: binutils@sourceware.org
Subject: Re: [PATCH v3 0/2] Fix several mix up between octets and bytes in ELF program headers
Date: Thu, 27 Feb 2020 08:35:00 -0000	[thread overview]
Message-ID: <20200227083541.GI32593@bubble.grove.modra.org> (raw)
In-Reply-To: <13081552.YODp3BJPb1@zbook-opensuse.wgnetz.xx>

On Sun, Feb 23, 2020 at 10:07:50AM +0100, Christian Eggers wrote:
> Conclusion: Conversion of elf_internal_sym::st_value from bytes to octets looks
> possible, but may discover some currently undefined behavior. Simply converting
> everything from bytes to octets in elf_swap_symbol_in/out() could be a shortcut
> as currently all non-zero symbol values are in bytes. But doing so would be
> inconsistent to my proposed change for r_offset and r_addend, so I would try
> the "hard" way.

Symbols are a real problem, not because of some implementation detail,
but because you don't know the units of st_value.  A symbol defined as
a label on a line of assembly holds an address, but for example a
symbol defined by
  sym = 123
could be a size in octets, an address, or just a plain number.

I think that if you decide that symbol values should always be octets,
then you'll eventually come to the conclusion that addresses in the
assembler need to be octets too.  And then it's just easier to
dispense with octets_per_byte.

So if you're going to keep octets per byte of 2, I wouldn't be trying
to convert any symbol values.

-- 
Alan Modra
Australia Development Lab, IBM

  reply	other threads:[~2020-02-27  8:35 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-15 19:37 Christian Eggers
2020-02-16  8:22 ` Christian Eggers
2020-02-16 19:37   ` Christian Eggers
2020-02-20  1:30     ` Alan Modra
2020-02-22 16:32       ` Christian Eggers
2020-02-22 21:08       ` Christian Eggers
2020-02-23  9:07       ` Christian Eggers
2020-02-27  8:35         ` Alan Modra [this message]
2020-03-07 21:05           ` Christian Eggers
2020-02-23 18:35       ` Christian Eggers

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=20200227083541.GI32593@bubble.grove.modra.org \
    --to=amodra@gmail.com \
    --cc=binutils@sourceware.org \
    --cc=ceggers@gmx.de \
    /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).