当前位置:  开发笔记 > 运维 > 正文

如何让C++程序与AIX上的gcc堆栈保护功能相关联?

如何解决《如何让C++程序与AIX上的gcc堆栈保护功能相关联?》经验,为你挑选了1个好方法。

我是一个AIX新手.我正在尝试使用gcc的堆栈保护功能编译程序.我使用pware的GCC包在服务器上安装了gcc,我可以编译一个示例程序,如:

#include 

int main(int argc,char **argv)
{
  printf("hello world\n");

  return 0;
}

当我打开堆栈保护,虽然,我得到:G ++ -fstack保护器,所有的main.cpp collect2:库libssp_nonshared未找到

我一直在谷歌寻找解决方案,看起来我的libc需要有一些内置的东西,我的.是否有一个包含内置堆栈保护的libc?

g ++ -v返回

Using built-in specs.
Target: powerpc-ibm-aix5.3.0.0
Configured with: ../stage/gcc-4.2.4/configure --disable-shared --enable-threads=posix --prefix=/opt/pware --with-long-double-128 --with-mpfr=/opt/pware --with-gmp=/opt/pware
Thread model: aix
gcc version 4.2.4

我在系统上找不到libssp_nonshared.a - 是否需要安装其他软件包,或者它是否附带gcc软件包?



1> Employed Rus..:

这与libc以下内容无关:您的GCC安装缺少libssp_nonshared.a库.

"gcc --version"说什么?它可能已配置了--disable-libssp选项(在这种情况下,您不能使用堆栈保护工具).

更新:
我刚看了一下gcc-4.3.0/configure:

 powerpc-*-aix*)
    noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp ${libgcj}"
    ;;

我大约99%肯定这意味着libssp(因此-fstack-protector)不适用于您的平台.对不起:-(

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有