Skip to content
  1. Apr 16, 2012
  2. Apr 15, 2012
  3. Apr 14, 2012
  4. Apr 13, 2012
  5. Apr 12, 2012
  6. Apr 11, 2012
  7. Apr 10, 2012
  8. Apr 09, 2012
  9. Apr 08, 2012
    • Chandler Carruth's avatar
      Wire up -fpie and -fPIE to LLVM's newly added TargetOptions. No test · 097d019c
      Chandler Carruth authored
      case as we don't currently have any way of dumping target options or
      otherwise observing this. Another small step toward fixing PR12380. With
      this we generate TLS accesses using the static model instead of the
      dynamic model, but we're still generating suboptimal code under the
      mistaken assumption that the TLS offset might be greater than 2^32, and
      therefor not viable as an immediate offset of a segment register.
      
      llvm-svn: 154298
      097d019c
    • Chandler Carruth's avatar
      Teach Clang about PIE compilations. This is the first step of PR12380. · c0c0455f
      Chandler Carruth authored
      First, this patch cleans up the parsing of the PIC and PIE family of
      options in the driver. The existing logic failed to claim arguments all
      over the place resulting in kludges that marked the options as unused.
      Instead actually walk all of the arguments and claim them properly.
      
      We now treat -f{,no-}{pic,PIC,pie,PIE} as a single set, accepting the
      last one on the commandline. Previously there were lots of ordering bugs
      that could creep in due to the nature of the parsing. Let me know if
      folks would like weird things such as "-fPIE -fno-pic" to turn on PIE,
      but disable full PIC. This doesn't make any sense to me, but we could in
      theory support it.
      
      Options that seem to have intentional "trump" status (-static, -mkernel,
      etc) continue to do so and are commented as such.
      
      Next, a -pie-level flag is threaded into the frontend, rigged to
      a language option, and handled preprocessor, setting up the appropriate
      defines. We'll now have the correct defines when compiling with -fpie.
      
      The one place outside of the preprocessor that was inspecting the PIC
      level (as opposed to the relocation model, which is set and handled
      separately, yay!) is in the GNU ObjC runtime. I changed it to exactly
      preserve existing behavior. If folks want to change its behavior in the
      face of PIE, they can do that in a separate patch.
      
      Essentially the only functionality changed here is the preprocessor
      defines and bug-fixes to the argument management.
      
      Tests have been updated and extended to test all of this a bit more
      thoroughly.
      
      llvm-svn: 154291
      c0c0455f
  10. Apr 06, 2012
  11. Apr 05, 2012
  12. Apr 04, 2012
Loading