AMD64 - rewolucje

Jacek Konieczny jajcus w bnet.pl
Czw, 18 Gru 2003, 13:58:46 CET


Odpaliłem swój serwerek AMD64 (2 * Opteron 242) i szykuję bootstrap.
Postanowiłem olać to co przygotowali arekm i adasi (mam nadzieję, że nie
mają mi tego za złe) i zrobić to według regóły KISS. Po co budować
kompilator mogący (teoretycznie) kompilować binarki x86_64 i x86, skoro
nawet nasz kompilator z i686 nie potrafi poprawnie na i386 kompilować
i nikt z tego wielkiego problemu nie robi.

Zrezygnowałem też z budowania 32-bitowego glibc. Miałby on służyć do
uruchamiania pakietów przygotowanych dla i686, czy athlona. Ale skoro 
i tak te pakiety bierze się z dystrybucji na x86, wraz z wymaganymi
bibliotekami (poza glibc), to czemu miałoby się nie brać glibc z tego
samego źródła.

Więc moje założenia są takie:
- budowanie pakietów amd64 ma się jak najmniej różnić od budowania dla x86
- pakiety z bibliotekami amd64 powinny jak najmniej konfliktować z tymi
  samymi bibliotekami x86.

glibc.spec już zrobiłem i jeszcze pewnie dzisiaj commitnę. jest tam
tylko jeden warunek dla architetkury amd64 i to razem z innymi nie-x86.
Zmiany właściwie kosmetyczne i raczej nie stworzą żadnych problemów na
innych architektórach. 

Jest tylko jedna gruba zmiana: podzieliłem glibc na dwa pakiety:
glibc i glibc-misc. Pierwszy zawiera jedynie zawartość /%{_lib}/
i %{_libdir}, drugi resztę z tego co było w glibc. Dzięki temu
pakiety glibc dla amd64 i glibc dla x86 nie konfliktują żadnym plikiem,
poza dokumentacją (możnaby ewentualnie zastanowić się dla inną nazwą
tego pakietu dla amd64).

IMHO każdy pakiet z bibliotekami powinien zawierać jedynie biblioteki.
Ułatwiłoby to nie tylko współistnienie wersji 64- i 32-bitowej
biblioteki, ale także instalowanie dwóch wersji biblioteki np. przy
częściowym upgrejdzie.

Teraz kompiluje mi się GCC dla amd64, z wywalonym całkowicie "multilib"
(nie ruszałem tego ustawienia dla innych architetur, bo nie wiem po co
on tam).

Eny koments?

BTW. na tym serwerku kernela nie mam z paczki, ale praktycznie jest to
PLDowy 2.6.0-0.test11.cset20031208_0707.1, bo skompilowany
(cross-compilatorem) z kernel-source dla i686. Wymagane były jedynie
dwie zmiany w konfigu, więc cieciwa nie będzie miał z tym wiele roboty
:)

Pozdrowienia,
	Jacek



Więcej informacji o liście dyskusyjnej pld-devel-pl