Skip to content
  1. Jun 26, 2012
  2. Jun 19, 2012
    • Rafael Espindola's avatar
      Move the support for using .init_array from ARM to the generic · ca3e0ee8
      Rafael Espindola authored
      TargetLoweringObjectFileELF. Use this to support it on X86. Unlike ARM,
      on X86 it is not easy to find out if .init_array should be used or not, so
      the decision is made via TargetOptions and defaults to off.
      
      Add a command line option to llc that enables it.
      
      llvm-svn: 158692
      ca3e0ee8
  3. Mar 17, 2012
  4. Feb 18, 2012
  5. Jul 20, 2011
  6. May 01, 2011
  7. Apr 28, 2011
    • Rafael Espindola's avatar
      Remove unnecessary argument. · ce83fc34
      Rafael Espindola authored
      llvm-svn: 130343
      ce83fc34
    • Rafael Espindola's avatar
      Rename getPersonalityPICSymbol to getCFIPersonalitySymbol, document it, and · 08704349
      Rafael Espindola authored
      give it a bit more responsibility. Also implement it for MachO.
      
      If hacked to use cfi, 32 bit MachO will produce
      
      .cfi_personality 155, L___gxx_personality_v0$non_lazy_ptr
      
      and 64 bit will produce
      
      .cfi_presonality ___gxx_personality_v0
      
      The general idea is that .cfi_personality gets passed the final symbol. It is
      up to codegen to produce it if using indirect representation (like 32 bit
      MachO), but it is up to MC to decide which relocations to create.
      
      llvm-svn: 130341
      08704349
  8. Mar 15, 2010
  9. Mar 11, 2010
  10. Feb 21, 2010
  11. Feb 19, 2010
  12. Feb 16, 2010
  13. Feb 15, 2010
  14. Sep 18, 2009
    • Chris Lattner's avatar
      Make a new X8632_MachoTargetObjectFile TLOF implementation whose · 3a78ce3a
      Chris Lattner authored
      getSymbolForDwarfGlobalReference is smart enough to know that it 
      needs to register the stub it references with MachineModuleInfoMachO,
      so that it gets emitted at the end of the file.
      
      Move stub emission from X86ATTAsmPrinter::doFinalization to the
      new X86ATTAsmPrinter::EmitEndOfAsmFile asmprinter hook.  The important
      thing here is that EmitEndOfAsmFile is called *after* the ehframes are
      emitted, so we get all the stubs.
      
      This allows us to remove a gross hack from the asmprinter where it would
      "just know" that it needed to output stubs for personality functions.
      Now this is all driven from a consistent interface.
      
      The testcase change is just reordering the expected output now that the
      stubs come out after the ehframe instead of before.
      
      This also unblocks other changes that Bill wants to make.
      
      llvm-svn: 82269
      3a78ce3a
  15. Sep 17, 2009
  16. 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