Hi Roland,
On Fri, Jul 14, 2023 at 11:18:07AM -0700, 'Roland McGrath' via Generic System V Application Binary Interface wrote:
> It's not entirely clear a new Elf_Type is needed. As far as the encoding
> goes, it's really just an array of ELF_T_ADDR (I would have just used
> ElfNN_Addr and not bothered with ElfNN_Relr). That's enough for the libelf
> layer to byte-swap and the gelf layer to zero-extend.
Yes, or maybe ELF_T_OFF. But we already have ElfNN_Relr (at least in
glibc elf.h) with Elf32_Word/Elf64_XWord, so it seems nicest to just
make it its own type.
> I'm confused by your
> bitfield macros, since the DT_RELR / SHT_RELR format I'm familiar with
> doesn't have a magic high byte, it only has a magic low bit. Regardless,
> the consumer has to know which size the format was originally to apply it
> correctly, because the bitmask words imply a skip of (bit_width - 1) in the
> r_offset value. So the gelf layer is never going to be producing a result
> that can be used completely generically.
Yes, I think they might have come from Gary's original proposal where
each entry had a (high byte) delta and a bitmap. Lets not add any
value macros because this isn't how things are encoded in the latest
proposal.
I hope the rest is correct.
Since I clearly picked up some bits from a previous/old proposal, what
is the final spec? Is the proposal as posted by Rahul Chaudhry on Feb
13, 2018 what was adopted?
https://groups.google.com/g/generic-abi/c/bX460iggiKg/m/YT2RrjpMAwAJ
And should this be considered already being part of gabi?
Thanks,
Mark