如何从交叉编译的二进制文件生成程序集?
使用的编译命令是:
arm-none-linux-gnueabi-gcc test.c -o test
如何解压缩二进制test?
我用过:
objdump -d test -m arm
但上面写着:
test: file format elf32-little
objdump: can't use supplied machine arm
有什么帮助吗?
我正在尝试写一个简单的脚本来反汇编ARM/THUMB字节码。在ARM中,从一种模式切换到另一种模式是很常见的,因此反汇编程序能够遵循这一点是非常关键的。尽管文档上说它非常简单(参见 ),但我还是遇到了问题。对于我来说,这在运行时似乎不起作用。
下面是我的测试:
for i in md.disasm(CODE, 0x1000):
print("0x%x:\t%s\t%s" %(i.address, i.mnemonic, i.op_str))
if i.mnemonic == "bx":
md.mode = cs.CS_MODE_T
Xcode5似乎不能为64位arm iOS设备生成程序集输出。
我已经创建了一个简单的iOS空项目。
然后,在构建设置中,将VALID_ARCH设置为arm64,并将ARCH设置为标准架构(包括64位)。
最后,在编辑器窗口中显示main.m,然后使用菜单Product->Perform Action->Assemble "main.m“请求汇编输出。
窗口中显示的不是main.m的程序集,而是"Unable to out how to generate assembly for main.m“。
我已经在Xcode5.0和5.0.1上尝试过了。当VALID_ARC
我一直在使用arm-linux-gnueabi-gcc工具链将二进制文件交叉编译为arm。奇怪的是,虽然我更改了优化级别,但在编译后的二进制文件中没有得到任何差异。甚至我也在关注“arm”上的this文档,并从它那里获取了相同的来源,如下所示。 #include <stdio.h>
int main(){
int x =10, y =20;
int z;
z =x+y;
return 0;
} 我甚至浏览了man页面,我认为我正确地使用了优化标志。这正是我用来编译的代码。 arm-linux-gnueabi-gcc -O1 -o test test.c
"ARM架构程序调用标准“(AAPCS/EABI)声明(5.1.1)
"The role of register r9 is platform specific."
但
"A virtual platform [...] may designate r9 as an additional callee-saved
variable register, v6."
问题是: Linux内核是否将r9用于某些特殊目的?或者它被用作普通的非易失性寄存器?
我已经在我的ubuntu12.10beta2上下载了最新的android ndk r8b。我已经在PATH变量中包含了ndk目录(当我在终端中编写ndk-b并点击tab时,它会自动完成它)。但当我尝试时:
cd android-ndk/samples/san-angeles/jni
ndk-内部版本
我得到了这个错误:
make: /home/mixpro/Android/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc: Command not f
我们正在我们的CentOS5.10 x86_64标准服务器b/c上构建AOSP (android-4.4.2_r1),它有很多处理器和ram。在运行make -j32 2> error.log之后不久,构建就停止了。error.log显示以下错误。有人能告诉我们为什么吗?
find: src: No such file or directory
/usr/bin/m4: unrecognized option `--gnu'
Try `/usr/bin/m4 --help' for more information.
/root/android/source/prebui
aison@jaison-virtual-machine:~/Downloads/pjproject-2.2.1/pjsip-apps/src/pjsua/android$ ndk-build -fexceptions
Android NDK: WARNING: APP_PLATFORM android-19 is larger than android:minSdkVersion 15 in ./AndroidManifest.xml
Android NDK: WARNING:jni/Android.mk:pjsua: non-system libraries in linker f
我已经从源代码编译并安装了python3.6,当我在控制台中输入python3.6时,我得到:
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Python 3.6.1rc1+ (default, Mar 11 2017, 15:01:24)
[GCC 4.9.2] on linux
Type "help", "copyright", "
我在构建pjsip时遇到了以下错误,如本中所提到的
mypc-Mac-mini:android root# /Users/mypc/Documents/FMC/android-ndk-r9b/ndk-build
Android NDK: WARNING: APP_PLATFORM android-16 is larger than android:minSdkVersion 15 in ./AndroidManifest.xml
Android NDK: WARNING:jni/Android.mk:pjsua: non-system libraries in linker f