[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