1. 01 Sep, 2021 1 commit
  2. 25 Aug, 2021 2 commits
  3. 27 Jul, 2021 1 commit
  4. 28 Oct, 2020 1 commit
  5. 20 Aug, 2020 1 commit
    • Milad Farazmand's avatar
      AIX: Fix DeclareSymbolGlobal on AIX · 0589a2a2
      Milad Farazmand authored
      Port 929dd374
      
      Original Commit Message:
      
          When CFI is enabled this adds a check against this list whenever a new
          return address must be set in a deoptimized frame, as a mitigation for
          ROP attacks.
          The list is known at linking time so that its content and the pointer
          to it can be stored in a read-only memory section.
          The check is performed in the signing function, which is no longer
          generic, as well as when setting the current pc of the frame.
          Since the pc is now only signed when setting the caller's pc, there
          is no need for ReplaceContext anymore.
      
      R=salome.thirot@arm.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: I5005096811c289707e2d080477c60ae2ed4bf38b
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2365372Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#69502}
      0589a2a2
  6. 19 Aug, 2020 1 commit
    • Salome Thirot's avatar
      [arm64] Implement list of allowed return addresses in the deoptimizer · 929dd374
      Salome Thirot authored
      When CFI is enabled this adds a check against this list whenever a new
      return address must be set in a deoptimized frame, as a mitigation for
      ROP attacks.
      The list is known at linking time so that its content and the pointer
      to it can be stored in a read-only memory section.
      The check is performed in the signing function, which is no longer
      generic, as well as when setting the current pc of the frame.
      Since the pc is now only signed when setting the caller's pc, there
      is no need for ReplaceContext anymore.
      
      Bug: v8:10026
      Change-Id: I5e85a62b94722051716fdeba476db383c702a318
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2287490Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Rodolph Perfetta <rodolph.perfetta@arm.com>
      Cr-Commit-Position: refs/heads/master@{#69478}
      929dd374
  7. 17 Apr, 2020 1 commit
    • Jiaxun Yang's avatar
      [builtins][MIPS]: Workaround gas auto-align issue · 72a6e594
      Jiaxun Yang authored
      GAS have a auto-align function which will align all the directive
      data into it's nature boundary. And we're using .octa to present
      data in embedded.S, which will be auto-aligned into 128-bit boundary.
      It can break relatve offset in generated binary.
      So we workaround it by forcing generate .long DataDirective on MIPS.
      
      Also I rewoked WriteByteChunk so it can accept any kind of directive
      now. Further more, implementation of HexLiteral is indentical on
      generic, aix and mac so I merged them into base.
      
      Bug: v8:10420
      Change-Id: I0ff791412360769510735659f909524c5f96d3e0
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2153187Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67198}
      72a6e594
  8. 07 Nov, 2019 1 commit
    • Matheus Marchini's avatar
      snapshot: add size info for builtins on Posix · 48d964af
      Matheus Marchini authored
      Lack of size information can cause debugging and observability tools to
      misbehave or to fail. We can see the size for all builtins is zero with
      objdump:
      
        $ objdump -t d8 | grep Builtins_ArgumentsAdaptorTrampoline
        0000000001084a00 l     F .text  0000000000000000              Builtins_ArgumentsAdaptorTrampoline
                                        ^
                                        Size is zero
      
      Tools like bpftrace rely on the function size to guarantee a tracepoint
      is added within function boundaries. Without size information, those
      tools can't guarantee a tracepoint will be added safely.
      
      Add .size directive for each builtin function, as described in
      https://sourceware.org/binutils/docs-2.24/as/Size.html#Size, to fix this
      issue. We can see with objdump that the size is properly set:
      
        $ objdump -t d8 | grep Builtins_ArgumentsAdaptorTrampoline
        00000000010bf820 l     F .text  0000000000000140              Builtins_ArgumentsAdaptorTrampoline
      
      R=bmeurer@chromium.org, hpayer@chromium.org, verwaest@chromium.org, yangguo@chromium.org
      
      Change-Id: I4cd2b0a12b629498dd9d7465cc1002dda37028c7
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1898807
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64824}
      48d964af
  9. 27 May, 2019 1 commit
  10. 23 May, 2019 1 commit