[Pluto-help] AS LD...

JavaMan javaman a katamail.com
Gio 29 Ago 2002 20:00:29 CEST


allora... usando gli strumenti della GNU per assemblare e linkare (AS, LD)
ho notato una stranezza

dato il seguente "pippo.s":
.code32
.text
.global _start
_start:
    jmp _start
    .long 0xABCDEF12

una volta assemblato e linkato:
    as -o pippo.o pippo.s
    ld -Ttext 0x0 -s --oformat binary -o pippo.bin pippo.o

si ottiene pippo.bin (6 byte)

se però usiamo anche il segmento "data":
.code32
.text
.global _start
_start:
     jmp _start
    .data
.long 0xABCDEF12

la dimensione di pippo.bin sarà 4.104 byte!!

4.104-
    6=
------
4.098     <----     spazio inutilizzato :-(

dandogli buoni 2 byte per allineare a 8 byte la fine del mio .text restano
4K tra i due segmenti.

Per il momento ho rimediato non usando il segmento "data"...
oppure accorpandolo con quello "text" tramite l'opzione dell'assemblatore
"-R":

-R = Fold the data section into the text section.


Ma perchè succede sta cosa??
Ci sono modi + eleganti per evitarla?






More information about the pluto-help mailing list