Hi Nick, Bigcheese,
    
    I wanted to add support to support .gnu.linkonce sections in the     resolver.
    
    About .gnu.linkonce sections
    .gnu.linkonce sections were primarily present in ELF that was used     in a way to model COMDAT in early ELF implementations.
    
    We have seen usecases of .gnu.linkonce sections used in various     object files(mainly libc), and I think its much needed to support     this style in lld as well.
    
    a solution to support .gnu.linkonce in lld
    
    I was thinking of adding a typeGnuLinkOnce and special case it in     the Resolver. 
    
    Differences between .gnu.linkonce and COMDAT
    The only thing that I see a difference between gnu linkonce sections     and COMDAT is to raise an error when there is a similar looking     section with section groups.
    
    Do you see any better design solutions here ?
    
    Thanks
    
    Shankar Easwaran
    
    -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation    ">

(original) (raw)

Hi Nick, Bigcheese,

I wanted to add support to support .gnu.linkonce sections in the resolver.

About .gnu.linkonce sections
.gnu.linkonce sections were primarily present in ELF that was used in a way to model COMDAT in early ELF implementations.

We have seen usecases of .gnu.linkonce sections used in various object files(mainly libc), and I think its much needed to support this style in lld as well.

a solution to support .gnu.linkonce in lld

I was thinking of adding a typeGnuLinkOnce and special case it in the Resolver.

Differences between .gnu.linkonce and COMDAT
The only thing that I see a difference between gnu linkonce sections and COMDAT is to raise an error when there is a similar looking section with section groups.

Do you see any better design solutions here ?

Thanks

Shankar Easwaran

--  
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation