This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: RFA: Extensions to the .eh_frame linker code
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: Richard Sandiford <rsandifo at redhat dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Mon, 15 Nov 2004 12:37:18 +1030
- Subject: Re: RFA: Extensions to the .eh_frame linker code
- References: <87654akkwn.fsf@redhat.com>
On Sat, Nov 13, 2004 at 12:12:24PM +0000, Richard Sandiford wrote:
> The make_relative/need_relative distinction was a result of Alan's
> fix for ld/418. As I understand it, the important part of that change
> was really the make_lsda_relative/need_lsda_relative split (because we
> don't know for sure what the LSDA actually contains). It looks like
> the make_relative/need_relative part was done more for consistency
> than anything.
True enough. I can't think of any situation where need_relative won't
be set if make_relative isn't set, except for FDEs that are discarded.
> @@ -289,6 +289,8 @@ struct eh_cie_fde
> /* For FDEs, this points to the CIE used. */
> struct eh_cie_fde *cie_inf;
> unsigned int size;
> + unsigned int growth;
> + unsigned int new_size;
> unsigned int offset;
> unsigned int new_offset;
> unsigned char fde_encoding;
Can you do without these extra fields? It seems a waste of memory to
have them in a struct kept for all FDEs. Perhaps you could split this
struct into two variants, one for CIEs and one for FDEs.
--
Alan Modra
IBM OzLabs - Linux Technology Centre