[PATCH] gold/arm: define $a/$d markers in .plt
Cary Coutant
ccoutant@google.com
Wed Apr 18 21:30:00 GMT 2012
> + // Next do all the symbols which have been generated as local.
> + // They too must appear before all global symbols.
> + for (Forced_locals::iterator p = this->generated_locals_.begin();
> + p != this->generated_locals_.end();
> + ++p)
> + {
> + Symbol* sym = *p;
> + gold_assert(sym->is_forced_local());
> + if (this->sized_finalize_symbol<size>(sym))
> + {
> + this->add_to_final_symtab<size>(sym, pool, &index, &off);
> + ++*plocal_symcount;
> + }
> + }
This is purely pedantic/nitpicky, but I think it would be better to
place the generated locals before the forced locals, so that the
output symbol table is: (a) locals from relocatables, (b) locals
generated by the linker, (c) static globals turned into dynamic
locals, and (d) globals. It just makes a nicer transition.
> @@ -1872,6 +1888,8 @@ class Symbol_table
> // expect there to be very many of them, so we keep a list of them
> // rather than walking the whole table to find them.
> Forced_locals forced_locals_;
> + // A list of symbols that were generated as local.
> + Forced_locals generated_locals_;
Again, nitpicky, but maybe we want to change the name of the typedef
Forced_locals?
-cary
More information about the Binutils
mailing list