Skip to content
  1. Sep 16, 2009
    • 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