I have always assumed that this was a gABI feature, and
not purely a Sun addition. Extended section indexes were added
as part of a second round of gABI additions under our
PSARC/2001/332 ELF gABI updates - round II
but the extended program headers were added independently
in 2005, right about when I started at Sun:
PSARC/2005/689 ELF Extended Program Headers
The first sentence in that case is:
To conform to a revised ELF standard, we're introducing
a new constant in <sys/elf.h>.
and later:
This is needed to support core files (which themselves
are in the ELF format) with more than 0xffff mappings.
The gABI is not mentioned specifically, but is the only
"ELF standard" this could be referring to. I have no direct
memory of it, but there must have been a discussion with
other gABI members that settled the details, which then
fell through the gaps and didn't make it to the gABI
document. I also can't recall any discussions about having
actually hit the 0xffff limit in actual core files back
then. That's a lot of mappings, but maybe?
Fortunately, we all seem to have implemented the same thing,
so it would make sense to update the new gABI doc to cover
it and heal the rift.
- Ali