1. Aug 05, 2021
    • Dmitry Vyukov's avatar
      tsan: introduce kAccessExternalPC · 2ddaffdc
      Dmitry Vyukov authored
      Add kAccessExternal memory access flag that denotes
      memory accesses with PCs that may have kExternalPCBit set.
      In preparation for MemoryAccess refactoring.
      Currently unused, but will allow to skip a branch.
      
      Depends on D107464.
      
      Reviewed By: melver
      
      Differential Revision: https://reviews.llvm.org/D107465
      2ddaffdc
    • Dmitry Vyukov's avatar
      tsan: introduce kAccessFree · d41233e9
      Dmitry Vyukov authored
      Add kAccessFree memory access flag (similar to kAccessVptr).
      In preparation for MemoryAccess refactoring.
      
      Reviewed By: melver
      
      Differential Revision: https://reviews.llvm.org/D107464
      d41233e9
    • Fangrui Song's avatar
      [ELF] Apply version script patterns to non-default version symbols · 7ed22a6f
      Fangrui Song authored
      Currently version script patterns are ignored for .symver produced
      non-default version (single @) symbols. This makes such symbols
      not localizable by `local:`, e.g.
      
      ```
      .symver foo3_v1,foo3@v1
      .globl foo_v1
      foo3_v1:
      
      ld.lld --version-script=a.ver -shared a.o
      # In a.out, foo3@v1 is incorrectly exported.
      ```
      
      This patch adds the support:
      
      * Move `config->versionDefinitions[VER_NDX_LOCAL].patterns` to `config->versionDefinitions[versionId].localPatterns`
      * Rename `config->versionDefinitions[versionId].patterns` to `config->versionDefinitions[versionId].nonLocalPatterns`
      * Allow `findAllByVersion` to find non-default version symbols when `includeNonDefault` is true. (Note: `symtab` keys do not have `@@`)
      * Make each pattern check both the unversioned `pat.name` and the versioned `${pat.name}@${v.name}`
      * `localPatterns` can localize `${pat.name}@${v.name}`. `nonLocalPatterns` can prevent localization by assigning `verdefIndex` (before `parseSymbolVersion`).
      
      ---
      
      If a user notices new `undefined symbol` errors with a version script containing
      `local: *;`, the issue is likely due to a missing `global:` pattern.
      
      Reviewed By: peter.smith
      
      Differential Revision: https://reviews.llvm.org/D107234
      7ed22a6f
    • Lechen Yu's avatar
      [openmp] Add OMPT initialization in libomptarget · 3bc8ce5d
      Lechen Yu authored
      When loading libomptarget, the init function in libomptarget/src/rtl.cpp
      will search for the libomptarget_start_tool function using libdl.
      libomptarget_start_tool will pass those OMPT callbacks related to target
      constructs to libomptarget
      
      Differential Revision: https://reviews.llvm.org/D99803
      3bc8ce5d
  2. Aug 04, 2021