1. Aug 19, 2021
  2. Aug 18, 2021
  3. Aug 17, 2021
  4. Aug 16, 2021
  5. Aug 13, 2021
    • Rainer Orth's avatar
      [ELF] Don't emit SHF_GNU_RETAIN on Solaris · aac4fe38
      Rainer Orth authored
      The introduction of `SHF_GNU_RETAIN` has caused massive problems on Solaris.
      
      Initially, as reported in Bug 49437, it caused dozens of testsuite failures
      on both sparc and x86.  The objects were marked as `ELFOSABI_NONE`, but
      `SHF_GNU_RETAIN` is a GNU extension. In the native Solaris ABI, that flag
      (in the range for OS-specific values) is `SHF_SUNW_ABSENT` with a
      completely different semantics, which confuses Solaris `ld` very much.
      
      Later, the objects became (correctly) marked `ELFOSABI_GNU`, which Solaris
      `ld` doesn't support, causing it to SEGV and break the build.  The linker
      is currently being hardened to not accept non-native OS ABIs to avoid this.
      
      The need for linker support is already documented in
      `clang/include/clang/Basic/AttrDocs.td`, but not currently checked.
      
      This patch avoids all this by not emitting `SHF_GNU_RETAIN` on Solaris at all.
      
      Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`, and
      `x86_64-pc-linux-gnu`.
      
      Differential Revision: https://reviews.llvm.org/D107747
      
      (cherry picked from commit 7bbbf295)
      aac4fe38
    • Petr Hosek's avatar
      [profile] Fix profile merging with binary IDs · a6c14fba
      Petr Hosek authored
      This fixes support for merging profiles which broke as a consequence
      of e50a3884. The issue was missing
      adjustment in merge logic to account for the binary IDs which are
      now included in the raw profile just after header.
      
      In addition, this change also:
      * Includes the version in module signature that's used for merging
      to avoid accidental attempts to merge incompatible profiles.
      * Moves the binary IDs size field after version field in the header
      as was suggested in the review.
      
      Differential Revision: https://reviews.llvm.org/D107143
      
      (cherry picked from commit 83302c84)
      a6c14fba
  6. Aug 12, 2021
  7. Aug 11, 2021