Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 汇编语言中的psuedo操作错误_Macos_Assembly_Macports_Gnu Assembler - Fatal编程技术网

Macos 汇编语言中的psuedo操作错误

Macos 汇编语言中的psuedo操作错误,macos,assembly,macports,gnu-assembler,Macos,Assembly,Macports,Gnu Assembler,我不熟悉汇编语言,自从升级到macOs Sierra后,我的计算机的汇编程序似乎就无法进行汇编。我的汇编代码是在英特尔体系结构下编写的,在我的macbook pro上使用AT&T语法。我一直在用“as”命令从终端使用OSX汇编程序。在更新之前,代码组装得很好,但在更新之后,我不断收到所有.cfi指令和.macosx_version_min指令的psuedo op错误。我还尝试通过使用简单的C++代码创建它们,在终端中使用“GCC -S”和“G++S”命令来测试新的汇编代码。然而,汇编程序现在为这

我不熟悉汇编语言,自从升级到macOs Sierra后,我的计算机的汇编程序似乎就无法进行汇编。我的汇编代码是在英特尔体系结构下编写的,在我的macbook pro上使用AT&T语法。我一直在用“as”命令从终端使用OSX汇编程序。在更新之前,代码组装得很好,但在更新之后,我不断收到所有.cfi指令和.macosx_version_min指令的psuedo op错误。我还尝试通过使用简单的C++代码创建它们,在终端中使用“GCC -S”和“G++S”命令来测试新的汇编代码。然而,汇编程序现在为这个测试汇编代码提供了相同的错误。这里是C++测试代码:

int main()
{ return 7; }
由命令“g++-S Sample_1.cpp-o Sample_1.S”生成的汇编代码:

以及运行命令“as Sample_1.s-o Sample_1.o:

Sample_1.s:2:Unknown pseudo-op: .macosx_version_min
Sample_1.s:2:Rest of line ignored. 1st junk character valued 49 (1).
Sample_1.s:6:Unknown pseudo-op: .cfi_startproc
Sample_1.s:10:Unknown pseudo-op: .cfi_def_cfa_offset
Sample_1.s:10:Rest of line ignored. 1st junk character valued 49 (1).
Sample_1.s:12:Unknown pseudo-op: .cfi_offset
Sample_1.s:12:Rest of line ignored. 1st junk character valued 37 (%).
Sample_1.s:15:Unknown pseudo-op: .cfi_def_cfa_register
Sample_1.s:15:Rest of line ignored. 1st junk character valued 37 (%).
Sample_1.s:20:Unknown pseudo-op: .cfi_endproc
谁能告诉我如何修复这些错误,或者为什么会发生这些错误?谢谢,祝你度过愉快的一天

编辑:@Jester我可以直接用gcc编译,-v”命令的输出是:

Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.1.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.12.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name Sample_1.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu penryn -target-linker-version 274.1 -v -dwarf-column-info -debugger-tuning=lldb -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0 -stdlib=libc++ -fdeprecated-macro -fdebug-compilation-dir /Users/User/Documents/Programs/Sample/Assembly -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -fblocks -fobjc-runtime=macosx-10.12.0 -fencode-extended-block-signature -fcxx-exceptions -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -o /var/folders/df/xf35rr653qb6kyyrf7bpsw180000gn/T/Sample_1-cae459.o -x c++ Sample_1.cpp
clang -cc1 version 8.0.0 (clang-800.0.42.1) default target x86_64-apple-darwin16.1.0
ignoring nonexistent directory "/usr/include/c++/v1"
#include "..." search starts here:
#include <...> search starts here:
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1
 /usr/local/include
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
 /usr/include
 /System/Library/Frameworks (framework directory)
 /Library/Frameworks (framework directory)
End of search list.
 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.12.0 -o Sample_1 /var/folders/df/xf35rr653qb6kyyrf7bpsw180000gn/T/Sample_1-cae459.o -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a
Apple LLVM 8.0.0版(clang-800.0.42.1)
目标:x86_64-apple-darwin16.1.0
线程模型:posix
InstalledDir:/Applications/Xcode.app/Contents/Developer/Toolchains/xcodefault.xctoolchain/usr/bin
“/Applications/Xcode.app/Contents/Developer/toolschains/xcodefault.xctoolschain/usr/bin/clang"-cc1-triple x86_64-apple-macosx10.12.0-Wdeprecated objc isa用法-Werror=已弃用的objc isa用法-emit obj-mrelax all-disable free-disable llvm verifier-discard value names-main file name Sample_1.cpp-mrelocation model pic-pic level 2-mthread model posix-mdailable fp elim-masm verbose-munwind tables-target cpu penryn-目标链接器版本274.1-v-dwarf column info-debugger tuning=lldb-resource dir/Applications/Xcode.app/Contents/Developer/Toolchains/Xcode default.xctoolchain/usr/bin/。/lib/clang/8.0.0-stdlib=libc++-fdeprecated macro-fdebug编译dir/Users/User/Documents/Programs/Sample/Assembly-feror limit 19-fmessage length 0FuxCuffC++运行时= Mac OXX-1012.0——FECODE扩展块签名-FCXXX异常-FMAX类型ALIGN=16 FFATICTICE显示选项-O/Va/文件夹/DF/XF35RR33QB6KYYFRB7BPSW1800 GN/T/SPLPYL1 CAE49O.XC+SAMPPLY1.CPP
clang-cc1版本8.0.0(clang-800.0.42.1)默认目标x86_64-apple-darwin16.1.0
忽略不存在的目录“/usr/include/c++/v1”
#包括“…”搜索从这里开始:
#包括搜索从这里开始:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/./include/c++/v1
/usr/本地/包括
/Applications/Xcode.app/Contents/Developer/toolschains/XcodeDefault.xctoolschain/usr/bin/./lib/clang/8.0.0/include
/Applications/Xcode.app/Contents/Developer/toolschains/xcodefault.xctoolschain/usr/include
/usr/包括
/系统/库/框架(框架目录)
/库/框架(框架目录)
搜索列表结束。
“/Applications/Xcode.app/Contents/Developer/toolschains/xcodefault.xctoolschain/usr/bin/ld”-demangle-dynamic-arch x86_64-macosx_version_min 10.12.0-o Sample_1/var/folders/df/xf35rr653qb6kyyrf7bpsw18000gn/T/Sample_1-cae459.o-lSystem/Applications/Xcode.app/Contents/Developer/toolschains/XcodeDefault.xtoolschain/usr/bin//lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a

第二次编辑:好的,我已经解决了问题。顺便说一句,谢谢@Jester对你的帮助。原来MacPorts决定将“as”命令的路径重写到它自己的汇编程序(GNU汇编程序而不是OSX汇编程序),它无法理解lldb debug.cfi指令。通过编辑MacPorts对my.bash_配置文件所做的更改,代码可以正常组装。

听起来您需要升级汇编程序。你能直接用gcc编译程序吗?然后,可能安装了多个版本的汇编程序,但调用了错误的汇编程序。在这种情况下,让gcc为您调用汇编程序,并使用
-v
开关,这样您就可以看到它的功能。您是否可以尝试将
llvm作为
而不是
作为
?@hidefromkgb,终端会向llvm发出一个“未找到命令”错误,因为如果您执行
gcc示例_1.s-o示例_1.o
?@Jester“gcc示例_1.s-o示例_1.o”编译很好,没有错误,就像你需要升级你的汇编程序一样。你能直接用gcc编译程序吗?然后,可能安装了多个版本的汇编程序,但调用了错误的汇编程序。在这种情况下,让gcc为您调用汇编程序,并使用
-v
开关,这样您就可以看到它的功能。您是否可以尝试将
llvm作为
而不是
作为
?@hidefromkgb,终端会向llvm发出一个“未找到命令”错误,因为如果您执行
gcc示例_1.s-o示例_1.o
?@Jester“gcc示例_1.s-o示例_1.o”编译良好,没有错误
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.1.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.12.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name Sample_1.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu penryn -target-linker-version 274.1 -v -dwarf-column-info -debugger-tuning=lldb -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0 -stdlib=libc++ -fdeprecated-macro -fdebug-compilation-dir /Users/User/Documents/Programs/Sample/Assembly -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -fblocks -fobjc-runtime=macosx-10.12.0 -fencode-extended-block-signature -fcxx-exceptions -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -o /var/folders/df/xf35rr653qb6kyyrf7bpsw180000gn/T/Sample_1-cae459.o -x c++ Sample_1.cpp
clang -cc1 version 8.0.0 (clang-800.0.42.1) default target x86_64-apple-darwin16.1.0
ignoring nonexistent directory "/usr/include/c++/v1"
#include "..." search starts here:
#include <...> search starts here:
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1
 /usr/local/include
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
 /usr/include
 /System/Library/Frameworks (framework directory)
 /Library/Frameworks (framework directory)
End of search list.
 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.12.0 -o Sample_1 /var/folders/df/xf35rr653qb6kyyrf7bpsw180000gn/T/Sample_1-cae459.o -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a