1. 24 Jun, 2015 2 commits
  2. 23 Jun, 2015 8 commits
  3. 22 Jun, 2015 1 commit
    • Dan Albert's avatar
      Hide unwinder symbols in each binary. · dc30a16b
      Dan Albert authored
      These symbols need to always be resolved for each binary. Making these
      symbols hidden means that we will get a build breakage if this doesn't
      happen, and should also prevent the situation where one unwinder's
      symbols are visible to the other.
      
      Bug: 18471342
      Bug: 19958712
      Change-Id: Ieff1f10dab254b60ed120410f45998cf75bb5b9b
      dc30a16b
  4. 19 Jun, 2015 11 commits
  5. 17 Jun, 2015 8 commits
  6. 16 Jun, 2015 3 commits
  7. 15 Jun, 2015 3 commits
    • Nick Kralevich's avatar
      dcac4582
    • Nick Kralevich's avatar
      Add support for LOCAL_DETECT_INTEGER_OVERFLOWS · 99d92506
      Nick Kralevich authored
      Add build system support for LOCAL_DETECT_INTEGER_OVERFLOWS. When enabled,
      an attempt to perform an integer arithmetic operation which overflows
      will result in a call to abort(). This is intended for security
      sensitive code, where integer overflow operations are not expected
      nor desirable.
      
      Two classes of underflows/overflows are detected and blocked:
      
      1) Signed integer underflow/overflow.
      2) Unsigned integer underflow/overflows.
      
      Signed integer overflows are undefined behavior, according to the
      C standard. Unsigned integer overflows are defined behavior, but
      still undesirable in security sensitive code.
      
      Only clang is supported today. gcc has -ftrapv for handling signed
      integer overflow, but it's widely considered broken
      (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=35412) and we're
      deliberately avoiding it's use here.
      
      Change-Id: Ib4918dc84e37e83d4205e5035544545d91671e5f
      Vaguely-Related-Bug: 11859726
      99d92506
    • Dan Albert's avatar
      Fix libdl inclusion for default-ub. · 7508a81d
      Dan Albert authored
      We shouldn't be using ldlibs for target libraries because it doesn't
      add a real dependency.
      
      Change-Id: Ib1ec40b95356feb521e95674b64d04d5ecc06332
      7508a81d
  8. 12 Jun, 2015 3 commits
  9. 11 Jun, 2015 1 commit
    • Dan Albert's avatar
      Force some clang Werrors that *will* break things. · d1600411
      Dan Albert authored
      Clang is really aggressive at optimizing a handful of cases (read:
      clang will ruin your day some if you write bad code). Fortunately, it
      also emits a warning when it's about to do this.
      
      To prevent anyone from suffering from these optimizations, make these
      warnings errors and make them impossible to disable.
      
      Change-Id: I5e10bb0fc2ca23190017da716b3b84635577a0bd
      d1600411