Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[Mach-O] arm64e.x1 is mislabeled as arm64 in UI

クローズ
#8,571 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

@bdash がすでに取り組んでいます。

2026年9月21日 から。

評価

この issue はまだ評価されていません。

説明

File Format: Mach-O Impact: Medium

Version and Platform (required):

  • Binary Ninja Version: 6.1.10653-dev Ultimate, 30f6d3a0
  • OS: macos
  • OS Version: 26.6.2
  • CPU Architecture: arm64

Bug Description:
macOS 27 introduces a new arm64e.x1 CPU slice in many binaries that ship with the OS. This is a slice that is otherwise the same as arm64e, but assumes a minimum CPU baseline of Apple M6. When opening a binary containing an arm64e.x1 slice, it is reported as being a plain arm64 slice due to how our Mach-O code handles fallback when facing an unknown CPU subtype.

I expect this may result in behavioral problems if a binary contains both arm64 and arm64e.x1 slices, but I didn't find such a binary to test with.

arm64e.x1 has these aarch64 features available without any runtime detection:

#define __ARM_ARCH_8_6__ 1
#define __ARM_ARCH_8_7__ 1
#define __ARM_BF16_FORMAT_ALTERNATIVE 1
#define __ARM_FEATURE_BF16 1
#define __ARM_FEATURE_BF16_SCALAR_ARITHMETIC 1
#define __ARM_FEATURE_BF16_VECTOR_ARITHMETIC 1
#define __ARM_FEATURE_CSSC 1
#define __ARM_FEATURE_FP8 1
#define __ARM_FEATURE_LOCALLY_STREAMING 1
#define __ARM_FEATURE_MATMUL_INT8 1
#define __ARM_FEATURE_MEMORY_TAGGING 1
#define __ARM_FEATURE_PAUTH_LR 1
#define __ARM_FEATURE_SME 1
#define __ARM_FEATURE_SME2 1
#define __ARM_FEATURE_SME2p1 1
#define __ARM_FEATURE_SME_B16B16 1
#define __ARM_FEATURE_SME_F16F16 1
#define __ARM_FEATURE_SME_F8F16 1
#define __ARM_FEATURE_SME_F8F32 1
#define __ARM_FEATURE_SVE_B16B16 1

Steps To Reproduce:
Open /bin/ls from a macOS 27 system and look at the list of architectures in the Select Architecture dialog.

主要言語
C++
スター
1.3k
フォーク
298
平均マージ
4日 13時間
マージ済み PR(30日)
20

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Vector35/binaryninja-api のほかの issue

Vector35/binaryninja-api の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。