Cross LFS - PPC - Error al compilar

Cross LFS - PPC - Error al compilar

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.cy 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í.

información relacionada