This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Linker relaxation
- To: binutils at sources dot redhat dot com
- Subject: Linker relaxation
- From: Stephane Carrez <Stephane dot Carrez at worldnet dot fr>
- Date: Fri, 23 Feb 2001 19:07:49 +0100
Hi!
I would like to implement linker relaxation for some instructions of
68HC11/68HC12. I remember there was some discussions about that for m68K
(in April 17th, 2000), and I have some questions:
o Existing targets are using specific relocations (.rel or .rela)
to specify the relaxation points. Some time ago there was a discussion
that it would be more appropriate to use a specific section to
store those relaxation information.
So, what is the recommended way to store the relaxation relocs?
(As far as I'm concerned, using relocs is easier, but well, I don't care)
o If a specific section is dedicated to that, would it make sense to
also take into account the GNU_VTINHERIT/VTENTRY within it?
o Now, the hard question about gas -gdwarf2....
Suppose you have an instruction that is linker-relaxable, and that
you assembled the source with -gdwarf2. In that case, Gas generated
.debug_* sections that gives debugging info, and in particular the
size of that insn. If that instruction is shrunk, how can the debugging
information be fixed?
My understanding of gas/dwarf2dbg.c is that nothing is there to emit
a relaxation info for an instruction that can be linker-relaxable.
The difference with the instruction-relaxation is that the fix/correction
must be made in the .debug_line.
Thanks,
Stephane
-----------------------------------------------------------------------
Home Office
E-mail: stcarrez@worldnet.fr Stephane.Carrez@sun.com
WWW: http://home.worldnet.fr/stcarrez http://www.sun.com
Mail: 17, rue Foucher Lepelletier 6, avenue Gustave Eiffel
92130 Issy Les Moulineaux 78182 Saint Quentin en Yvelines
France