This is the mail archive of the dwarf2@corp.sgi.com mailing list for the dwarf2 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: duplicate dwarf2 reduction via comdat


Jason Merrill wrote:
> 
> >>>>> "David" == David B Anderson <davea@quasar.engr.sgi.com> writes:
> 
> >>> The Elf COMDAT (aka SECTION GROUP) rules forbid relocations
> >>> which are offsets into a COMDAT section.
> >>
> >> Why?  Arrgh.
> 
> > Because 'to the byte identical everywhere' is not required
> > for section groups with the same name.  So one
> > cannot be sure that blind (internal) section relative relocations
> > work right. (well that's my guess, not having been part of
> > the deliberations).
> 
> > Relocations to a particular external name are fine as these
> > will work right even if the name is not at the identical byte in.
> 
> So symbolic references are OK after all?  That's how my implementation
> works.

It is fine to refer to a global symbol defined with a value that's in
a group section's address range, as long as you're conscious about which
of the group's symbols might not be defined in another instance of the
group that might displace it.  Using an offset from a global symbol
implies knowledge about how the alternative instances would be laid out,
and must be done ___very___ carefully.

Jim
-- 
-	    Jim Dehnert		dehnert@transmeta.com
	    (408)919-6984	dehnertj@acm.org

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]