Skip to content
  • Chandler Carruth's avatar
    Teach LLVM about a PIE option which, when enabled on top of PIC, makes · ede4a8aa
    Chandler Carruth authored
    optimizations which are valid for position independent code being linked
    into a single executable, but not for such code being linked into
    a shared library.
    
    I discussed the design of this with Eric Christopher, and the decision
    was to support an optional bit rather than a completely separate
    relocation model. Fundamentally, this is still PIC relocation, its just
    that certain optimizations are only valid under a PIC relocation model
    when the resulting code won't be in a shared library. The simplest path
    to here is to expose a single bit option in the TargetOptions. If folks
    have different/better designs, I'm all ears. =]
    
    I've included the first optimization based upon this: changing TLS
    models to the *Exec models when PIE is enabled. This is the LLVM
    component of PR12380 and is all of the hard work.
    
    llvm-svn: 154294
    ede4a8aa
Loading