Advice needed on when to synthesize <sym>.high_bound in ld

Greg McGary greg@mcgary.org
Fri Aug 25 17:34:00 GMT 2000


For bounded pointers (see http://gcc.gnu.org/projects/bp/main.html ),
gcc emits a reference to a symbol named `foo.high_bound' if it doesn't
have enough information to determine the size of `foo'.  This happens
often for extern arrays and extern instances of incomplete struct types.

At link time, I wish to synthesize definitions for symbols with a
`.high_bound' suffix when the real size is known.  For ELF (and mostly
what I care about), this is easy since all data & common symbol table
entries have sizes.

What's the best time to do this?  Should I make a separate pass prior
to ldwrite looking for undefined .high_bound symbols and create
definitions for them.  Or, should I proceed with ldwrite, and
create just-in-time definions for undefined .high_bound symbols.
Are there other alternatives I haven't considered?

Thanks,
Greg


More information about the Binutils mailing list