This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] gold/arm: define $a/$d markers in .plt


> + ?// 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]