[all-commits] [llvm/llvm-project] f87c98: Revert "[LLD] Set alignment as part of Characteris...

Luqman Aden via All-commits all-commits at lists.llvm.org
Thu Oct 15 00:26:49 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: f87c98def86be7b737799e9980af2a0b77e9bc28
      https://github.com/llvm/llvm-project/commit/f87c98def86be7b737799e9980af2a0b77e9bc28
  Author: Luqman Aden <me at luqman.ca>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M lld/COFF/Writer.cpp
    M lld/test/COFF/tls-alignment-32.ll
    M lld/test/COFF/tls-alignment-64.ll
    M llvm/include/llvm/Object/COFF.h

  Log Message:
  -----------
  Revert "[LLD] Set alignment as part of Characteristics in TLS table."

Revert individual wip commits and will instead follow up with a
single commit with all the changes. Makes cherry-picking easier
and will contain all the right tags.

This reverts commit 32a4ad3b6ce6028a371b028cf06fa5feff9534bf.
This reverts commit 7fe13af676678815989a6d0ece684687953245e7.
This reverts commit 51fbc1bef657bb0f5808986555ec3517a84768c4.
This reverts commit f80950a8bb985c082b26534b0e157447bf803935.
This reverts commit 0778cad9f325df4d7b32b22f3dba201a16a0b8fe.
This reverts commit 8b70d527d7ec1c8b9e921177119a0d906ffad4f0.


  Commit: 6a73d6564a3c7d0757692aa93bdef5be0c8f01a5
      https://github.com/llvm/llvm-project/commit/6a73d6564a3c7d0757692aa93bdef5be0c8f01a5
  Author: Luqman Aden <me at luqman.ca>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M lld/COFF/Writer.cpp
    M lld/test/COFF/tls-alignment-32.ll
    M lld/test/COFF/tls-alignment-64.ll
    M llvm/include/llvm/Object/COFF.h

  Log Message:
  -----------
  [LLD] Set alignment as part of Characteristics in TLS table.

Fixes https://bugs.llvm.org/show_bug.cgi?id=46473

LLD wasn't previously specifying any specific alignment in the TLS table's Characteristics field so the loader would just assume the default value (16 bytes). This works most of the time except if you have thread locals that want specific higher alignments (e.g. 32 as in the bug) *even* if they specify an alignment on the thread local. This change updates LLD to take the max alignment from tls section.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D88637


Compare: https://github.com/llvm/llvm-project/compare/1de0199748ef...6a73d6564a3c


More information about the All-commits mailing list