我不知道为什么 PAX 总是杀死我的进程。平台是powerpc,操作系统是Linux。从内核日志中,我可以看到以下内容:
PAX: 从 147.128.23.67: 执行尝试: , 100a3000-10175000 100a3000 PAX: 终止任务: /mnt/ecim/pau6000agent/bin/agent_z(agent_z):1744, uid/euid: 0/0, PC: 100a318c, SP : bbc85aa0 PAX: PC 上的字节数: 396001fc 4bfffbdc 39600200 4bfffbd4 39600204 gpr_get: 部分寄存器集
谷歌告诉我尝试使用“paxctl -m ./agent_z”或“paxctl -z ./agent_z”,但它们都没有帮助。实际上,“agent_z”没有任何 PAX 标志。所以这真的让我很困惑为什么 PAX 总是杀死 'agent_z'
文件 ./agent_z 没有 PT_PAX_FLAGS 程序头,试试
转换 root@QorIQ:/mnt/ecim/pau6000agent/bin> paxctl -v ./agent_z PaX control v0.5 Copyright 2004,2005,2006,2007 PaX Team文件./agent_z没有PT_PAX_FLAGS程序头,尝试转换
这是我正在使用的 gcc 的信息。此外,正如其他人所建议的,我也尝试在编译时添加 -O1/-O2/-O3 标志,但它们都不起作用。
使用内置规范。目标:powerpc-wrs-linux-gnu 配置:/scratch/jmyers/wrs/4.4a/src/gcc-4.4-wrs/configure --build=i686-pc-linux-gnu --host=i686-pc- linux-gnu --target=powerpc-wrs-linux-gnu --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-long-double-128 --enable-targets =all --enable-secureplt --with-cpu-32=603 --with-cpu-64=970 --with-gnu-as --with-gnu-ld --with-specs='%{save-临时工:-fverbose-asm} %{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:% {!fno-remove-local-statics: -fremove-local-statics}}}' --enable-languages=c,c++ --enable-shared --disable-lto --enable-symvers=gnu --enable- __cxa_atexit --with-pkgversion='Wind River Linux Sourcery G++ 4.4a-341' --with-bugurl=support@windriver.
在此先感谢,非常感谢您的回复。
最好的问候, 蔡俊兆