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.c
e 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á.