This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
i386 ld --gc-sections and few minor problems with objdump --disassemble-all -m i8086
- To: binutils at sources dot redhat dot com
- Subject: i386 ld --gc-sections and few minor problems with objdump --disassemble-all -m i8086
- From: Etienne Lorrain <etienne_lorrain at yahoo dot fr>
- Date: Wed, 18 Jul 2001 11:48:58 +0200 (CEST)
Hello,
I had a problem quite a long time ago on my "gujin" bootloader with
"ld --gc-sections", the process was not removing unused sections.
I finaly found that when using "ld --oformat=binary", the garbage
collection is not done. It is perfectly working when generating
an intermediate ELF file and using objcopy to get the binary file.
Maybe someone could add a warning in this case, but the main thing
is to have that written somewhere: done.
The next subjects are few small bugs / improvement:
- In the ld script file, it does not seems to be possible to
exclude a library like:
*(EXCLUDE_FILE(libext2fs.a) .text*)
you have to write all the object files the library contains.
- I did not understand how to use STARTUP(file):
Inside SECTIONS {} it generates a syntax error
Outside SECTIONS {} it generates double definition errors
when you describe in which section to load .text and .data
of this file.
- In "objdump --disassemble-all -m i8086", the opcodes
"F3 AA" is translated "repz stos" instead of "rep stos"
- the opcode "67 66 0F 01 54 24 14" is displayed
addr32
data32
lgdt 36(%si)
... last byte mixed with next instruction ...
instead of:
data32 lgdt 36(%esi)
or
lgdtl 36(%esi)
- there is no need to display addr32 when it is easy to
see from the addressing mode:
addr32 pushl 0x30(%ebx)
can be just displayed:
pushl 0x30(%ebx)
Thanks for reading,
Etienne.
___________________________________________________________
Do You Yahoo!? -- Vos albums photos en ligne,
Yahoo! Photos : http://fr.photos.yahoo.com