【问题标题】:Xcode profile doesn't work with assembly piece of codeXcode 配置文件不适用于汇编代码
【发布时间】:2016-09-12 18:56:20
【问题描述】:

我尝试在 Xcode 7.1.1 中开始分析我的 iOS C++ 应用程序。但是当我去“产品”-“配置文件”时,我得到了很多与用汇编编写的一段代码相关的错误。

我可以在 iPad 4 上毫无错误地构建和运行应用程序。该问题仅与分析有关。

我尝试重新启动、清理并更改为推荐的项目设置。

我可以直接从 Instruments 使用“OpenGL ES 分析”模板进行分析。但我需要“核心数据”来分析缓存未命中。我无法从 Instruments 启动它 - 录制按钮被阻止。

这是错误信息的一部分:

CompileC /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Objects-normal/arm64/Tree-7C49AF5101739F7B.o
    /Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s normal arm64 assembler-with-cpp com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/ndobrovolskaya/Desktop/Bonsai/Bonsai4
export LANG=en_US.US-ASCII
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
    -x assembler-with-cpp -arch arm64 -fmessage-length=0 -fdiagnostics-show-note-include-stack
    -fmacro-backtrace-limit=0 -fmodules -gmodules -fmodules-cache-path=/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/ModuleCache
    -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/ModuleCache/Session.modulevalidation
    -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module
    -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -Os 
    -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wunreachable-code
    -Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wno-missing-braces -Wparentheses
    -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable
    -Wunused-value -Wempty-body -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow
    -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion
    -Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk 
    -fstrict-aliasing -Wdeprecated-declarations -miphoneos-version-min=7.1 -g -fvisibility=hidden
    -Wno-sign-conversion -fprofile-instr-use=/Users/ndobrovolskaya/Desktop/Bonsai/Bonsai4/OptimizationProfiles/Bonsai4.profdata 
    -iquote /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Bonsai4-generated-files.hmap
    -I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Bonsai4-own-target-headers.hmap
    -I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Bonsai4-all-target-headers.hmap
    -iquote /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Bonsai4-project-headers.hmap
    -I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Products/Release-iphoneos/include
    -I/Users/ndobrovolskaya/Desktop/Bonsai/Bonsai4/../assimp-ios-xcode46/include
    -I/usr/local/boost_1_57_0 -I/Users/ndobrovolskaya/Desktop/Bonsai -I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/DerivedSources/arm64
    -I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/DerivedSources
    -F/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Products/Release-iphoneos
    -MMD -MT dependencies -MF /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Objects-normal/arm64/Tree-7C49AF5101739F7B.d --serialize-diagnostics /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Objects-normal/arm64/Tree-7C49AF5101739F7B.dia
    -c /Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s -o /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Objects-normal/arm64/Tree-7C49AF5101739F7B.o

/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:45:2: error: unknown directive
 .syntax unified
 ^
<instantiation>:2:2: error: unknown directive
 .thumb
 ^
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:53:1: note: while in macro instantiation
BEGIN_FUNCTION_THUMB addVertsUsingNeon
^
<instantiation>:4:2: error: unknown directive
 .thumb_func _addVertsUsingNeon
 ^
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:53:1: note: while in macro instantiation
BEGIN_FUNCTION_THUMB addVertsUsingNeon
^
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:83:15: error: vector register expected
vld1.f32 {q4-q5},[r0:128]!
          ^
<instantiation>:1:1: error: unrecognized instruction mnemonic
bx lr
^
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:423:1: note: while in macro instantiation
END_FUNCTION
^
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

【问题讨论】:

    标签: c++ ios xcode assembly profile


    【解决方案1】:

    您正在为 ARM64 编译项目,但您的程序集文件使用的指令仅支持 32 位 ARM 目标。值得注意的是,它使用了 Thumb 相关指令,这意味着代码使用的是 ARM64 代码不支持的 Thumb 2 指令集。

    检查您在启用分析时没有意外切换到构建 64 位项目。

    【讨论】:

    • 它有效。非常感谢。我没有换楼。但据我了解,默认情况下所有架构的配置文件构建。仅为活动架构运行构建
    猜你喜欢
    • 2012-03-23
    • 1970-01-01
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    • 2020-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多