Skip to content
  1. Nov 06, 2008
  2. Nov 05, 2008
  3. Nov 04, 2008
    • Bill Wendling's avatar
      Small simplification of the stack guard type. · d31fc54f
      Bill Wendling authored
      llvm-svn: 58728
      d31fc54f
    • Bill Wendling's avatar
      - Add a "getOrInsertGlobal" method to the Module class. This acts similarly to · 2f40956c
      Bill Wendling authored
        "getOrInsertFunction" in that it either adds a new declaration of the global
        and returns it, or returns the current one -- optionally casting it to the
        correct type.
      - Use the new getOrInsertGlobal in the stack protector code.
      - Use "splitBasicBlock" in the stack protector code.
      
      llvm-svn: 58727
      2f40956c
    • Bill Wendling's avatar
      Update in response to feedback from Chris: · 64adc71e
      Bill Wendling authored
      - Use enums instead of magic numbers.
      
      - Rework algorithm to use the bytes size from the target to determine when to
        emit stack protectors.
      
      - Get rid of "propolice" in any comments.
      
      - Renamed an option to its expanded form.
      
      - Other miscellanenous changes.
      
      More changes will come after this.
      
      llvm-svn: 58723
      64adc71e
    • Bill Wendling's avatar
      Initial checkin for stack protectors. Here's what it does: · 05d8417f
      Bill Wendling authored
      * The prologue is modified to read the __stack_chk_guard global and insert it
        onto the stack.
      
      * The epilogue is modified to read the stored guard from the stack and compare
        it to the original __stack_chk_guard value. If they differ, then the
        __stack_chk_fail() function is called.
      
      * The stack protector needs to be first on the stack (after the parameters) to
        catch any stack-smashing activities.
      
      Front-end support will follow after a round of beta testing.
      
      llvm-svn: 58673
      05d8417f
Loading