This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [linker] relaxation question
- From: Nick Clifton <nickc at redhat dot com>
- To: M R Swami Reddy <MR dot Swami dot Reddy at nsc dot com>
- Cc: "binutils at sources dot redhat dot com" <binutils at sources dot redhat dot com>
- Date: Thu, 30 Jul 2009 09:32:57 +0100
- Subject: Re: [linker] relaxation question
- References: <4A6EEB8C.70102@nsc.com>
Hi Swami,
For a simple c++ test case, .gcc_except_table section created. But this
section has references (ie label refs) from main (ie code section).
During the linker relax, CODE section will be relaxed, due to this
references in the .gcc_except_table affected with wrong address after relax.
Is this known issue in linker?
Not an issue as such, but it may be a known problem when implementing
linker relaxation.
What should happen is that in the assembler the references from the
.gcc_except_table section to symbols in the .text section are converted
into relocations against those symbols. Then in the linker when
relaxation is performed, (which must be before the relocations are
resolved), any symbols which point into the .text section must be
adjusted as the section is relaxed. That way when the relocations are
eventually resolved in the .gcc_except_table section they will get the
correct values.
Cheers
Nick