Cross LFS - PPC - Erro ao compilar

Cross LFS - PPC - Erro ao compilar

Estou tentando construir um CLFS para um processador PPC 8270. Está tudo bem até eu usar o 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

Em menuconfig, usei a configuração padrão, exceto que escolhi compatibilidade com a família de processadores PPC 82XX.

Responder1

Isso me parece ser um bug no align.c 2.6.39 e anteriores em relação ao GCC >= 4.6. Suponho que você esteja desenvolvendo um Fedora recente que possui o GCC 4.6 como o GCC instalado por padrão. O bug não deve aparecer usando GCC <4.6 IMHO.

A variável “instrução” é declarada na linha 704 e inicializada com zero. Ele é então reatribuído na linha 746. Essa reatribuição não é suficiente para silenciar o aviso do gcc. Eu verifiquei esse comportamento compilando

int main()
{
    int i = 0;

    i = 4;
    return 1;
} 

com /usr/local/gcc-4.7.0/bin/gcc -Wall -o test test.ce consegui

test.c:3:6: warning: variable ‘i’ set but not used [-Wunused-but-set-variable]

A variável "instrução" é referenciada apenas no código com ifdef CONFIG_VSX, portanto, se você não tiver CONFIG_VSX definido, verá esse problema ao compilar com GCC >= 4.6. Definir CONFIG_VSX deve resolver o problema. Se não é isso que você deseja, tente definir CONFIG_PPC_DISABLE_WERROR no menuconfig ou useessesinstruções para ajudá-lo a desligar o -Werror ou corrigir o código.

Se você corrigir o código, considere enviá-lo para kernel.org, pois vejo que esse bug ainda existe no 3.3

Responder2

Resolvida a cópia de libbfd.2-22.so e zlib.so (renomeado para zlib.so.1) para /tools/lib. Desculpe pelo erro estúpido, pensei que os arquivos já estivessem lá.

informação relacionada