Index: lld/trunk/ELF/Writer.cpp =================================================================== --- lld/trunk/ELF/Writer.cpp +++ lld/trunk/ELF/Writer.cpp @@ -2202,11 +2202,6 @@ // done on other operating systems. P->p_align = std::max(P->p_align, Config->Wordsize * 8); } - - // The TLS pointer goes after PT_TLS for variant 2 targets. At least glibc - // will align it, so round up the size to make sure the offsets are - // correct. - P->p_memsz = alignTo(P->p_memsz, P->p_align); } } } Index: lld/trunk/test/ELF/tls-align.s =================================================================== --- lld/trunk/test/ELF/tls-align.s +++ lld/trunk/test/ELF/tls-align.s @@ -1,21 +0,0 @@ -// REQUIRES: x86 -// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t -// RUN: ld.lld %t -o %tout -shared -// RUN: llvm-readobj -l %tout | FileCheck %s - - .section .tbss,"awT",@nobits - .align 8 - .long 0 - -// CHECK: ProgramHeader { -// CHECK: Type: PT_TLS -// CHECK-NEXT: Offset: -// CHECK-NEXT: VirtualAddress: -// CHECK-NEXT: PhysicalAddress: -// CHECK-NEXT: FileSize: 0 -// CHECK-NEXT: MemSize: 8 -// CHECK-NEXT: Flags [ -// CHECK-NEXT: PF_R (0x4) -// CHECK-NEXT: ] -// CHECK-NEXT: Alignment: 8 -// CHECK-NEXT: }