[llvm] f5c9db9 - [TextAPI] Add support for arm64_32

Shoaib Meenai via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 1 17:19:27 PDT 2021


Author: Daniel Rodríguez Troitiño
Date: 2021-04-01T17:19:12-07:00
New Revision: f5c9db97a8a268f0faea75911a5cdcde88c8dff8

URL: https://github.com/llvm/llvm-project/commit/f5c9db97a8a268f0faea75911a5cdcde88c8dff8
DIFF: https://github.com/llvm/llvm-project/commit/f5c9db97a8a268f0faea75911a5cdcde88c8dff8.diff

LOG: [TextAPI] Add support for arm64_32

Add a new architecture definition for arm64_32. The change should allow
the new architecture arm64_32 to be recognized in several pieces of
code, TextAPI parsing one of them. llvm-lipo will also recognize the
architecture and will allow lipoing files with this architecture without
failing.

Includes a small test that the architecture is recognized by llvm-nm.

Reviewed By: cishida

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

Added: 
    llvm/test/Object/Inputs/tapi-v4-watchos.tbd

Modified: 
    llvm/include/llvm/TextAPI/MachO/Architecture.def
    llvm/test/Object/nm-tapi.test

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/TextAPI/MachO/Architecture.def b/llvm/include/llvm/TextAPI/MachO/Architecture.def
index 2fcae3b28d44..85ff69002682 100644
--- a/llvm/include/llvm/TextAPI/MachO/Architecture.def
+++ b/llvm/include/llvm/TextAPI/MachO/Architecture.def
@@ -37,3 +37,9 @@ ARCHINFO(armv7em, MachO::CPU_TYPE_ARM, MachO::CPU_SUBTYPE_ARM_V7EM, 32)
 ///
 ARCHINFO(arm64, MachO::CPU_TYPE_ARM64, MachO::CPU_SUBTYPE_ARM64_ALL, 64)
 ARCHINFO(arm64e, MachO::CPU_TYPE_ARM64, MachO::CPU_SUBTYPE_ARM64E, 64)
+
+
+///
+/// ARM64_32 architectures sorted by cpu sub type id
+///
+ARCHINFO(arm64_32, MachO::CPU_TYPE_ARM64_32, MachO::CPU_SUBTYPE_ARM64_32_V8, 32)

diff  --git a/llvm/test/Object/Inputs/tapi-v4-watchos.tbd b/llvm/test/Object/Inputs/tapi-v4-watchos.tbd
new file mode 100644
index 000000000000..df0692273ed6
--- /dev/null
+++ b/llvm/test/Object/Inputs/tapi-v4-watchos.tbd
@@ -0,0 +1,13 @@
+--- !tapi-tbd
+tbd-version:     4
+targets:         [ armv7k-watchos-simulator, arm64_32-watchos-simulator ]
+uuids:
+  - target:          armv7k-watchos-simulator
+    value:           00000000-0000-0000-0000-000000000000
+  - target:          arm64_32-watchos-simulator
+    value:           11111111-1111-1111-1111-111111111111
+install-name:    '/u/l/libFoo.dylib'
+current-version: 1
+exports:
+  - targets:              [ armv7k-watchos-simulator, arm64_32-watchos-simulator ]
+    symbols:              [ '_sym1' ]

diff  --git a/llvm/test/Object/nm-tapi.test b/llvm/test/Object/nm-tapi.test
index 8f49daedd6bc..f5c827fc5ac8 100644
--- a/llvm/test/Object/nm-tapi.test
+++ b/llvm/test/Object/nm-tapi.test
@@ -10,6 +10,9 @@ RUN:          | FileCheck %s -check-prefix V3
 RUN: llvm-nm %p/Inputs/tapi-v4.tbd \
 RUN:          | FileCheck %s -check-prefix V4
 
+RUN: llvm-nm %p/Inputs/tapi-v4-watchos.tbd \
+RUN:          | FileCheck %s -check-prefix V4-WATCH
+
 V1: /u/l/libfoo.dylib (for architecture armv7):
 V1-NEXT: 00000000 S _sym
 V1: /u/l/libfoo.dylib (for architecture armv7s):
@@ -56,3 +59,8 @@ V4-NEXT: 00000000 S _sym4
 V4: /u/l/libFoo.dylib (for architecture x86_64):
 V4-NEXT: 0000000000000000 S _sym3
 V4-NEXT: 0000000000000000 S _sym4
+
+V4-WATCH: /u/l/libFoo.dylib (for architecture armv7k)
+V4-WATCH-NEXT: 00000000 S _sym1
+V4-WATCH: /u/l/libFoo.dylib (for architecture arm64_32)
+V4-WATCH-NEXT: 00000000 S _sym1


        


More information about the llvm-commits mailing list