Skip to content
  • Chris Lattner's avatar
    Big change #1 for personality function references: · b866602f
    Chris Lattner authored
    Eliminate the PersonalityPrefix/Suffix & NeedsIndirectEncoding
    fields from MAI: they aren't part of the asm syntax, they are
    related to the structure of the object file.
    
    To replace their functionality, add a new 
    TLOF::getSymbolForDwarfGlobalReference method which asks targets
    to decide how to reference a global from EH in a pc-relative way.
    
    The default implementation just returns the symbol.  The default
    darwin implementation references the symbol through an indirect
    $non_lazy_ptr stub.  The bizarro x86-64 darwin specialization
    handles the weird "foo@GOTPCREL+4" hack.
    
    DwarfException.cpp now uses this to emit the reference to the
    symbol in the right way, and this also eliminates another 
    horrible hack from DwarfException.cpp:
    
    -    if (strcmp(MAI->getPersonalitySuffix(), "+4@GOTPCREL"))
    -      O << "-" << MAI->getPCSymbol();
    
    llvm-svn: 81991
    b866602f
Loading