[PATCH] D99673: [TextAPI] Add support for arm64_32

Daniel Rodríguez Troitiño via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 31 10:14:25 PDT 2021


drodriguez created this revision.
drodriguez added reviewers: cishida, ributzka, t.p.northover.
Herald added a subscriber: kristof.beyls.
drodriguez requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D99673

Files:
  llvm/include/llvm/TextAPI/MachO/Architecture.def
  llvm/test/Object/Inputs/tapi-v4-watchos.tbd
  llvm/test/Object/nm-tapi.test


Index: llvm/test/Object/nm-tapi.test
===================================================================
--- llvm/test/Object/nm-tapi.test
+++ llvm/test/Object/nm-tapi.test
@@ -10,6 +10,9 @@
 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: /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
Index: llvm/test/Object/Inputs/tapi-v4-watchos.tbd
===================================================================
--- /dev/null
+++ 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' ]
Index: llvm/include/llvm/TextAPI/MachO/Architecture.def
===================================================================
--- llvm/include/llvm/TextAPI/MachO/Architecture.def
+++ llvm/include/llvm/TextAPI/MachO/Architecture.def
@@ -37,3 +37,9 @@
 ///
 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)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D99673.334480.patch
Type: text/x-patch
Size: 2092 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210331/07b4b409/attachment.bin>


More information about the llvm-commits mailing list