summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPete Cooper <peter_cooper@apple.com>2016-08-11 20:18:05 +0000
committerPete Cooper <peter_cooper@apple.com>2016-08-11 20:18:05 +0000
commit732f1ef9deaf7a2e117b6d8507058376c8c9d1fb (patch)
treefa33422774924aa81f11100356e1e7bf14251b21
parent0fdb2daa8ddf42d50edb74ab0dc1899c86e8366d (diff)
downloadbcm5719-llvm-732f1ef9deaf7a2e117b6d8507058376c8c9d1fb.tar.gz
bcm5719-llvm-732f1ef9deaf7a2e117b6d8507058376c8c9d1fb.zip
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
-rw-r--r--lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp4
-rw-r--r--lld/test/mach-o/hello-world-arm64.yaml7
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 a61f6aac05e..fb748e2ddcc 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 75ac4f74779..9d6002763e4 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)
OpenPOWER on IntegriCloud