[ia64-abi] Issue reminder
Cary Coutant
cary at cup.hp.com
Thu Mar 16 20:18:31 UTC 2000
>Issue 72: COMDAT group sections
> http://reality.sgi.com/dehnert_engr/abi/prop-72-comdat.html
> http://reality.sgi.com/dehnert_engr/abi/prop-72-comdat.pdf
>
> This is critical to C++ features like vtables, inline
> functions, etc.
I have no issues with this proposal.
>Issue 74: Section indices
> http://reality.sgi.com/dehnert_engr/abi/prop-74-sindex.html
> http://reality.sgi.com/dehnert_engr/abi/prop-74-sindex.pdf
>
> This is a longer term concern, which will become more important
> with heavy COMDAT usage.
I support this proposal. One thing that's not clear, though -- are the
section indices 0xff00 - 0xffff still reserved, or are these values
reserved only when seen in the st_shndx field? I assume you have intended
the latter.
I would suggest adding some wording to make it clear that the extended
section index does not reserve the range 0xff00 - 0xffff as special
section indices. That is, once you see SHN_XINDEX in the st_shndx field,
what you pull out of the extension section is a real section index. (I
haven't yet taken the time to make sure that st_shndx is the only place
where special section indices ever get used.)
This may take some creative re-wording in the gABI document, where it
describes the reserved section indices.
>Issue 73: Stack unwind interface
> http://reality.sgi.com/dehnert_engr/cxx/abi-eh.html
> http://reality.sgi.com/dehnert_engr/cxx/abi-eh.pdf
>
> This is mostly consistent with, but more completely specified
> than, the current SW Conventions description.
This looks OK to me. I haven't found anything that directly contradicts
the common conventions document, so if you know of anything, please point
it out to me. Any conflict is probably the result of over-specification
at the common conventions level, so I'd probably propose to resolve most
conflicts by removing material from the conventions document.
This material, being Unix specific, belongs in the psABI document, but
not in the conventions document.
>Issue ??: IPLT relocations
> I sent a proposal a while back to extend these to .o files.
> Cygnus has expressed concern about conflict with the lazy
> loading semantics, which would be resolved by a second
> relocation which is identical but doesn't allow lazy binding.
> I don't care which approach is taken, in fact being able to
> force early binding might be useful in any case, but C++ will
> need to be able to relocate functions descriptors in vtables.
I don't think there's a conflict -- I'm hoping that the lack of further
discussion on this issue indicates general agreement. Lazy binding is
tied to the DT_JMPREL entry, not to the semantics of the IPLT relocation.
At HP, it's been our intent for quite a while to use the IPLT relocations
for this purpose, but we haven't planned any lazy binding support for
vtables (the bookkeeping is considerably harder than for PLT entries), so
these relocations will not be part of our DT_JMPREL set.
>Issue ??: Types
> I sent a note a couple of days ago. We must decide whether
> __int64 and __float80 are distinct types, or typedefs of long
> long and long double. As Martin pointed out, we should also
> specify bindings of the sized types defined by C2000.
I thought you noted that this was just a C++ issue. Do we need to answer
this at the base ABI level?
-cary
More information about the cxx-abi-dev
mailing list