Necesito implementar en un cuadro Red Hat 4.1.2 (que tiene gcc 4.1.2). Uso GCC 4.6.1 en Ubuntu 11.10 para desarrollo. Desafortunadamente, algunos de los binarios que crea mi proceso de creación no se pueden usar en la máquina RedHat. La razón parece ser un cambio ABI, que según another Stackoverflow question resultó de la introducción de símbolos STT_GNU_IFUNC. ¿Hay alguna manera de evitar la exportación de tales símbolos para que mi binario pueda usar el antiguo ABI? Utilicé nm para buscar cualquier símbolo de tipo "i" en mi binario pero no encontré ninguno.Cómo evitar los símbolos STT_GNU_IFUNC en tu binario?
Pregunto esto porque algunos de mis otros binarios, así como algunas librerías de terceros que construyo (tbb, boost) no están usando el nuevo ABI y funcionan bien en la máquina RedHat.
Espero que esté claro. Gracias por adelantado.
Gracias, eso es lo que temía. El problema es que mi entorno de compilación aprovecha las características relativamente nuevas de python y gcc. Tendré que atenuarlo. – samwise
Generalmente * puede * construir un nuevo Python y GCC en un equipo antiguo, y luego usarlos. La versión de GCC no tiene mucha importancia para la portabilidad de la biblioteca resultante; solo la versión de glibc lo hace. –