Estoy intentando construir un CLFS para un procesador PPC 8270. Todo está bien hasta que uso el make ARCH=powerpc CROSS_COMPILE=${CLFS_TARGET}-
comando.
CC arch/powerpc/kernel/align.o
arch/powerpc/kernel/align.c: In function 'fix_alignment':
arch/powerpc/kernel/align.c:704:33: error: variable 'instruction' set but not used [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors
make[1]: *** [arch/powerpc/kernel/align.o] Error 1
make: *** [arch/powerpc/kernel] Error 2
En menuconfig
, utilicé la configuración predeterminada excepto que elegí compatibilidad con la familia de procesadores PPC 82XX.
Respuesta1
Esto me parece un error en align.c 2.6.39 y anteriores con respecto a GCC >= 4.6. Supongo que está basándose en un Fedora reciente que tiene GCC 4.6 como GCC instalado de forma predeterminada. El error no debería aparecer usando GCC <4.6 en mi humilde opinión.
La variable "instrucción" se declara en la línea 704 y se inicializa a cero. Luego se reasigna en la línea 746. Esta reasignación no es suficiente para silenciar la advertencia de gcc. Verifiqué este comportamiento compilando
int main()
{
int i = 0;
i = 4;
return 1;
}
con /usr/local/gcc-4.7.0/bin/gcc -Wall -o test test.c
y tengo
test.c:3:6: warning: variable ‘i’ set but not used [-Wunused-but-set-variable]
Se hace referencia a la variable "instrucción" solo en el código ifdef'ed CONFIG_VSX, de modo que si no tiene CONFIG_VSX configurado, verá este problema al compilar con GCC >= 4.6. Configurar CONFIG_VSX debería resolver el problema. Si eso no es lo que desea, intente configurar CONFIG_PPC_DISABLE_WERROR en menuconfig o useestosinstrucciones que le ayudarán a desactivar el error -W o parchear el código.
Si parchea el código, considere enviarlo a kernel.org ya que veo que este error todavía existe en 3.3.
Respuesta2
Se resolvió copiar libbfd.2-22.so y zlib.so (renombrado a zlib.so.1) en /tools/lib. Perdón por el estúpido error, pensé que los archivos ya estaban ahí.