RFA: Extensions to the .eh_frame linker code
Alan Modra
amodra@bigpond.net.au
Mon Nov 15 02:07:00 GMT 2004
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
More information about the Binutils
mailing list