A questo punto della procedura, è possibile fermarsi, se si vuole. Abbiamo installato tutto quello che è necessario per compilare e far girare i programmi in ELF.
Si può voler ricostruire alcuni programmi in ELF, sia per scopi di `pulizia' sia per minimizzare l'uso della memoria. per la maggior parte delle applicazioni end-user (cioè per l'utente finale), questo è molto semplice; alcuni pacchetti tuttavia assumono troppe informazioni riguardo al sistema su cui girano, e possono fallire a causa di uno o più di questi motivi:
_
, mentre in un eseguibile ELF no. Questo non fà
differenza fino a che non si integra codice assembler scritto a mano:
tutte le labels della forma _foo
, devono essere tradotte in
foo
o (se si vuole fare codice portatile) in EXTERNAL(foo)
dove EXTERNAL
è una qualche macro che ritorna il suo argomento
(se __ELF
è definito) oppure _
concatenato con il suo
argomento se non è così.
Adogni modo, ecco due liste: la prima è di programmi che hanno bisogno di cambiamenti per l'ELF, dove i cambiamenti sono già stati fatti (cioè avete bisogno di nuove versioni per compilarle come ELF), e la seconda è di programmi che ancora hanno bisogno di patch da terze parti.
/dev/zero
, poichè questo device
è necessario per le operazioni di tutti i programmi in ELF.
Si controlli il pacchetto util-linux per una versione corretta.
ftp.metronet.com
oppure da ftp.wpi.edu
cal
in util-linux 2.2 non funziona.
Si faccia un upgrade alla
versione 2.4 o successiva.
ftp
a ftp.xfree86.org
,
e dopo aver letto il messaggio `too many users' che è praticamente sicuro
otterrete, e trovate il mirror più vicino a voi. Una volta ottenuto
il contenuto delle directory common
e elf
, si deve modificare
/usr/X11R6/lib/X11/config/linux.cf
per cambiare le linee che dicono
#define LinuxElfDefault NO
#define UseElfFormat NO
in modo da dire YES
invece. In caso contrario una costruzione di
xpm tenterà di fare le cose sbagliate con jumpas
e le relative reliquie del passato
libXpm.so.4.5
. La correzione abbastanza semplice è di editarlo con
cura con Emacs o con un altro editor che gestisce correttamente i file
binari. Dopo aver trovato le occorrenze della stringa
libXpm.so.4.5^@
(dove ^@
è un carattere NUL --- ASCII zero ---),
cancellare .5
e aggiungere due caratteri dopo il NUL per evitare
il cambiamento della lunghezza del file.
make config
per permettere di costruirlo usando i tool dell'ELF.
Se si sta usando la serie 1.2, avete due possibilità:
CC
e LD
in modo che appaiano come
LD =ld -m i386linux
CC =gcc -b i486-linuxaout -D__KERNEL__ -I$(TOPDIR)/include
In alternativa,
ps
(procps-0.97) Il programma psupdate
ha bisogno di un patch per lavorare se si è compilato il kernel in ELF.
Questo è disponibile in
linux.nrao.edu:/pub/people/juphoff/procps,
sia come patch a vanilla 0.97 e sia come intero file di tar. Una nuova
versione di procps dovrebbe essere distribuita presto con il patch
già a posto, così se si potrà trovare procps 0.98 nel momento in cui
leggerete questo, allora questo patch sarà probabilmente obsoleto.