From 732f1ef9deaf7a2e117b6d8507058376c8c9d1fb Mon Sep 17 00:00:00 2001 From: Pete Cooper Date: Thu, 11 Aug 2016 20:18:05 +0000 Subject: [PATCH] Arm64 stubs alignment is 2, not 4. This matches the behaviour of ld64 when looking at the alignment of the stubs section in the final image. llvm-svn: 278398 --- lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp | 4 ++-- lld/test/mach-o/hello-world-arm64.yaml | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp b/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp index a61f6aa..fb748e2 100644 --- a/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp +++ b/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp @@ -275,8 +275,8 @@ const ArchHandler::StubInfo ArchHandler_arm64::_sStubInfo = { // GOT pointer to dyld_stub_binder { Reference::KindArch::AArch64, pointer64, 0, 0 }, - // arm64 code alignment 2^2 - 2, + // arm64 code alignment 2^1 + 1, // Stub size and code 12, diff --git a/lld/test/mach-o/hello-world-arm64.yaml b/lld/test/mach-o/hello-world-arm64.yaml index 75ac4f7..9d60027 100644 --- a/lld/test/mach-o/hello-world-arm64.yaml +++ b/lld/test/mach-o/hello-world-arm64.yaml @@ -92,3 +92,10 @@ undefined-symbols: # CHECK: (undefined) external _fprintf (from libSystem) # CHECK: (undefined) external dyld_stub_binder (from libSystem) # CHECK: {{[0-9a-f]+}} (__TEXT,__text) external _main + +# CHECK-PRIVATE-HEADER: sectname __stubs +# CHECK-PRIVATE-HEADER-NEXT: segname __TEXT +# CHECK-PRIVATE-HEADER-NEXT: addr +# CHECK-PRIVATE-HEADER-NEXT: size +# CHECK-PRIVATE-HEADER-NEXT: offset +# CHECK-PRIVATE-HEADER-NEXT: align 2^1 (2) -- 2.7.4