¿Cómo consigo los programas de C ++ para enlazar con la función de protector de pila de gcc en AIX?

StackOverflow https://stackoverflow.com/questions/1348895

  •  20-09-2019
  •  | 
  •  

Pregunta

Soy un poco de un novato AIX. Estoy intentando compilar un programa usando la función de protector de pila de gcc. He instalado gcc en el servidor utilizando el paquete GCC de pware y puedo compilar un programa de ejemplo como:

#include <stdio.h>

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

  return 0;
}

Cuando enciendo pila protector sin embargo, me sale: g ++ -fstack-protector-all main.cpp collect2: biblioteca no libssp_nonshared encontró

He estado buscando en Google para una solución a este y parece que mi libc tiene que haber un poco de materia incorporada en esa mina no lo hace. ¿Hay un paquete por ahí que incluye una libc con la orden interna de protección de pila?

g ++ -v retornos

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

No puedo encontrar libssp_nonshared.a en el sistema - no es un paquete adicional que necesito para instalar o debería haber venido con el paquete gcc

¿Fue útil?

Solución

Esto no tiene nada que ver con libc: su instalación GCC falta biblioteca libssp_nonshared.a.

¿Qué dice su "gcc --version"? Puede que haya sido configurado con la opción --disable-libssp (en cuyo caso no se puede utilizar la instrumentación de protección de pila).

Actualización:
Yo miraba en gcc-4.3.0/configure:

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

Soy alrededor del 99% de que esto significa que libssp (y por lo tanto -fstack-protector) no está disponible para su plataforma. Lo sentimos: - (

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top