我不知道为什么PAX总会杀死我的进程。该平台是powerpc,OS是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控制v0.5版权所有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-temps:-fverbose-asm}%{O2:%{!fno-remove-local-statics:-fremove-local-statics}} {%的O *:%{Ø| O0 | 01 | O2 |操作系统:;:%!{FNO-删除本地-静: -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.com--disable-nls --prefix = / opt / windriver / wrlinux / ppc --with-sysroot = / opt / windriver / wrlinux / ppc / powerpc-wrs-linux-gnu / libc --with-build-sysroot = / scratch / jmyers / wrs / 4.4a / power / install / powerpc-wrs-linux-gnu / libc --with-GMP = /刮伤/ jmyers / WRS / 4.4A /功率/ OBJ /主机库-4.4A-341-PowerPC的WRS-Linux的GNU-i686的-PC-Linux的GNU / USR --with-MPFR = /刮伤/ jmyers / WRS / 4.4A /功率/ OBJ /主机库-4.4A-341-PowerPC的WRS-Linux的GNU-i686的-PC-Linux的GNU / USR --with-PPL = /刮伤/ jmyers / WRS / 4.4A /功率/ OBJ /主机库-4.4A-341-PowerPC的WRS-Linux的GNU-i686的-PC-Linux的GNU / USR --with-host-libstdcxx =' - static-libgcc -Wl,-Bstatic,-lstdc ++, - Bdynamic -lm' - with-cloog = / scratch / jmyers / wrs / 4.4a / power / obj / host-libs -4.4a-341-PowerPC的WRS-Linux的GNU-i686的-PC-Linux的GNU / USR --with-= libelf的/刮伤/ jmyers / WRS / 4.4A /功率/ OBJ /主机库-4.4A-341-PowerPC的WRS-Linux的GNU-i686的-PC-Linux的GNU / USR --disable-libgomp --with-license = / scratch / jmyers / wrs / 4.4a / power / obj / host-libs-4.4a-341-powerpc-wrs-linux-gnu-i686-pc-linux-gnu / USR --with-csl-license-version = 20110917 --with-csl-license-feature = gcc_Power_Wind_River_Linux --enable-poison-system-directories --with-debug-prefix-map ='/ scratch / jmyers / wrs / 4.4一个/功率/安装= /选择/风河/ wrlinux / PPC /scratch/jmyers/wrs/4.4a/src/gcc-4.4-wrs=/opt/windriver/wrlinux/ppc/powerpc-wrs-linux-gnu/src/gcc /scratch/jmyers/wrs/4.4a/power/obj/gcc-4.4a-341-powerpc-wrs-linux-gnu-i686-pc-linux-gnu=/opt/windriver/wrlinux/ppc/powerpc-wrs- Linux的GNU / SRC /生成/ GCC” --with-集结时间的工具= /刮/ jmyers / WRS / 4.4A /功率/安装/ PowerPC的WRS-Linux的GNU /箱 --with-集结时间的工具= /刮/ jmyers / WRS / 4.4A /功率/安装/ PowerPC的WRS-Linux的GNU /箱 线程模型:posix gcc版本4.4.1(Wind River Linux Sourcery G ++ 4.4A-341)
提前致谢,非常感谢您的回复。
最诚挚的问候, Junzhao Cai
答案 0 :(得分:0)
这两个命令可以避免PaX的杀戮。
paxctl -c ./agent_z
paxctl -pemrxs ./agent_z
这可能是一种解决方法,我正在寻找代码中的根本原因。