Especificações do GCC (Resolvido)

1. Especificações do GCC (Resolvido)

Gilson Júnio Pacheco Silva
GilsonDeElt

(usa Nenhuma)

Enviado em 08/06/2008 - 19:18h

Boa noite, povo!

Tô fazendo um projeto meio maluco, que é usar o livro do LFS como base para meu Slack tunado para i686.
Pois bem, ainda estou na parte das ferramentas provisórias.
(LFS 6.1, capítulo 5, tópico 7)
Ajustando as ferramentas provisórias.

No livro, fala para que eu execute um script sed para ajustar o arquivo de especificações do GCC.
Mas meu GCC é o 4.2.3, e o exemplo do livro parece só funcionar no 3.4.3.

Alguém pode me dizer qual é o arquivo de especificações do GCC 4.2.3? Ou pelo menos, como achá-lo?


  


2. Re: Especificações do GCC (Resolvido)

Gilson Júnio Pacheco Silva
GilsonDeElt

(usa Nenhuma)

Enviado em 08/06/2008 - 19:24h

Cabei de ver que as especificações do GCC que eu compilei ficam embutidas.
Será que ele vai ler as bibliotecas de /tools/lib, como pus no ./configure?


3. Projeto parado

Gilson Júnio Pacheco Silva
GilsonDeElt

(usa Nenhuma)

Enviado em 03/08/2008 - 15:39h

por agora, parei meu projeto de compilar um Linux.
Quando eu tiver tempo de novo, eu volto =)


4. Re: Especificações do GCC (Resolvido)

Marcelo A. B. Slomp
mslomp

(usa Slackware)

Enviado em 28/08/2008 - 11:42h

as specs do gcc controlam suas relações com bibliotecas internas (libgcc, mudflap, etc), além da glibc, bem como a interoperabilidade entre host e target, assembler, linker e afins, localização padrão de headers, etc, etc, etc.
na maioria das plataformas (incluindo *-linux-gnu), as specs são embutidas por default, visto que as mesmas já estão "sintonizadas" com o host e o target, não sendo necessária sua modificação. você pode visualizá-las através de:
# gcc -dumpspecs

se você pretende utilizá-las externamente, a fim de modificá-las conforme suas necessidades, pode exportá-la com o auxílio do comando acima:
# cat gcc -dumpspecs > $(prefix)/lib/gcc/$(target)/$(version)/specs

no seu caso, utilizando o /tools como prefix, e assumindo a mais recente versão estável do gcc (4.3.2), teremos algo como:
/tools/lib/gcc/i686-pc-linux-gnu/4.3.2/specs

feito isso, ao digitar:
# gcc -v
você notará o aviso:
"reading specs from file /tools/lib/gcc/blablabla"
e a partir de então, qualquer modificação no script specs surtirá efeito no funcionamento do gcc.

um fator importantíssimo ao compilar o próprio gcc e que causa muita confusão é justamente quanto a possíveis problemas com localização de bibliotecas externas. note, portanto, que isso está intimamente ligado não ao gcc, mas sim ao binutils. por isso é preciso muita cautela ao associar o gcc com as ferramentas do binutils (linker, assembler, etc). um parâmetro incorreto na configuração do gcc e/ou do binutils e terá conseguido muita "sarna para se coçar". ambos devem estar corretamente afinados.
há dois modos de controlar os diretórios padrão de busca por bibliotecas no binutils:
1 - através da flag --with-lib-path no configure
o default é /usr/lib:/usr/$(target)/lib:/usr/local/lib:/lib.
através da flag acima, há a possibilidade de adicionar/remover caminhos. pode tentar algo como:
--with-lib-path=/tools/lib:(...outros...):/usr/$(target)/lib:/usr/lib:/usr/local/lib:/lib
2 - através do linker script
esse script controla justamente os parâmetros do linkador e são específicas em cada plataforma. no caso do nosso velho amigo x86, eles reside em: $(binutils_prefix)/$(target)/lib/elf_i386.x
então basta adicionar/modificar as entradas SEARCH_DIR

no caso específico do LFS, tome cuidado redobrado ao seguir as instruções para a compilação dos mesmos, principalmente no toolchain, pois após o chroot, qualquer conflito com a libc vai se transofrmar em pesadelo e será praticamente impossível seguir adiante.


5. preciso de uma ajudinha

Douglas Vitor
sowi

(usa Slackware)

Enviado em 15/07/2011 - 20:37h

eu fiz as mesmas configs... postadas e nao funcionou, eu to usano o proprio livecd linux from scratch... alguem pode me ajudar? com o gcc minha versao aki é 4.1.2






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts