Skip to content
  • Peter Smith's avatar
    [ELF] ifunc implementation using synthetic sections · baffdb8b
    Peter Smith authored
    This change introduces new synthetic sections IpltSection, IgotPltSection
    that represent the ifunc entries that would previously have been put in
    the PltSection and the GotPltSection. The separation makes sure that
    the R_*_IRELATIVE relocations are placed after the non R_*_IRELATIVE
    relocations, which permits ifunc resolvers to know that the .got.plt
    slots will be initialized prior to the resolver being called.
    
    A secondary benefit is that for ARM we can move the IgotPltSection and its
    dynamic relocations to the .got and .rel.dyn as the ARM glibc expects all
    the R_*_IRELATIVE relocations to be in the .rel.dyn
    
    Differential revision: https://reviews.llvm.org/D27406
    
    llvm-svn: 289045
    baffdb8b
Loading