1. 24 Jan, 2016 6 commits
  2. 23 Jan, 2016 7 commits
  3. 22 Jan, 2016 19 commits
  4. 21 Jan, 2016 8 commits
    • Andreas Cadhalpun's avatar
      build: make out-of-tree builds bit-identical to in-tree builds · 064963bd
      Andreas Cadhalpun authored
      Previously the full source path was embedded inconsistently in the debug
      information between in-tree/out-of-tree builds.
      
      The 'vpath %.inc' becomes necessary for finding
      libavfilter/all_channel_layouts.inc in out-of-tree builds.
      
      The full source path is still embedded in the debug information, but
      it's now independent of whether building in-tree or out-of-tree.
      
      The biggest improvement of this patch is that gdb now always searches
      for the path relative to the source directory. It still also searches
      for the full path.
      Previously it searched only for the full path in out-of-tree builds,
      making the debug information generated by Debian's buildds rather hard
      to use.
      Reviewed-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      Signed-off-by: 's avatarAndreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
      064963bd
    • Michael Niedermayer's avatar
      avcodec/mjpegdec: Check for end for both bytes in unescaping · 509c9e74
      Michael Niedermayer authored
      Fixes assertion failure
      Fixes: c40c779601b77dc6e19aaea0b04b9751/signal_sigabrt_7ffff6ae7cb7_5769_b94f6ec70caecb2d3d76b4771b109ac1.avi
      
      Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
      Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      509c9e74
    • Geza Lore's avatar
      x86inc: Add debug symbols indicating sizes of compiled functions · d39c229e
      Geza Lore authored
      Some debuggers/profilers use this metadata to determine which function a
      given instruction is in; without it they get can confused by local labels
      (if you haven't stripped those). On the other hand, some tools are still
      confused even with this metadata. e.g. this fixes `gdb`, but not `perf`.
      
      Currently only implemented for ELF.
      d39c229e
    • Henrik Gramner's avatar
      x86inc: Avoid creating unnecessary local labels · d3662777
      Henrik Gramner authored
      The REP_RET workaround is only needed on old AMD cpus, and the labels clutter
      up the symbol table and confuse debugging/profiling tools, so use EQU to
      create SHN_ABS symbols instead of creating local labels. Furthermore, skip
      the workaround completely in functions that definitely won't run on such cpus.
      
      Note that EQU is just creating a local label when using nasm instead of yasm.
      This is probably a bug, but at least it doesn't break anything.
      d3662777
    • Henrik Gramner's avatar
      x86inc: Simplify AUTO_REP_RET · 87b587d4
      Henrik Gramner authored
      cpuflags is never undefined any more, it's set to 0 instead.
      
      Also fix an incorrect comment.
      87b587d4
    • Henrik Gramner's avatar
      x86inc: Use more consistent indentation · 2d60b18c
      Henrik Gramner authored
      2d60b18c
    • Henrik Gramner's avatar
      x86inc: Preserve arguments when allocating stack space · dfe771dc
      Henrik Gramner authored
      When allocating stack space with a larger alignment than the known stack
      alignment a temporary register is used for storing the stack pointer.
      Ensure that this isn't one of the registers used for passing arguments.
      dfe771dc
    • Henrik Gramner's avatar
      x86inc: Improve FMA instruction handling · b1496008
      Henrik Gramner authored
       * Correctly handle FMA instructions with memory operands.
       * Print a warning if FMA instructions are used without the correct cpuflag.
       * Simplify the instantiation code.
       * Clarify documentation.
      
      Only the last operand in FMA3 instructions can be a memory operand. When
      converting FMA4 instructions to FMA3 instructions we can utilize the fact
      that multiply is a commutative operation and reorder operands if necessary
      to ensure that a memory operand is used only as the last operand.
      b1496008