[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
This commit is contained in:
Daniel Rodríguez Troitiño 2021-04-01 17:19:09 -07:00 committed by Shoaib Meenai
parent 813e7249b8
commit f5c9db97a8
3 changed files with 27 additions and 0 deletions

View File

@ -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)

View File

@ -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' ]

View File

@ -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