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: linker plugin api limitation


> The bug is in gold. It is handling every symbol provided by the plugin
> as defined when handling --start-lib/--end-lib members.
>
> Something like the attached patch should fix it.

+      if (sym.def != LDPK_DEF && sym.def != LDPK_WEAKDEF &&
+          sym.def != LDPK_COMMON)
+        continue;

When breaking expressions, the operator should be placed at the
beginning of the next line. Also, it would read better to have each
condition on its own line if the line must be broken.

I have a slight preference for inverting the condition:

      if (sym.def == LDPK_UNDEF || sym.def == LDPK_WEAKUNDEF)
        continue;

There are fewer conditions to check, and if we ever add another LDPK_
value, I think it's more likely that it'd be a kind of DEF than a kind
of UNDEF. It also more closely mirrors the code in
Sized_relobj_file::do_should_include_member().

This is OK with that change. Thanks!

-cary


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