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 plugins should be aware of --defsym during symbol resolution


On Tue, Feb 13, 2018 at 3:53 PM, Cary Coutant <ccoutant@gmail.com> wrote:
>> This is a nice idea and I am able to make this work for defsym uses.
>> Anything I could do for definitions too?  I could add a defined_ field
>> in Symbol which is set to Defined::DEFSYM.  That would avoid
>> is_defsym_def too.
>
> I'd think Symbol::source() = Symbol::IS_CONSTANT would be the test you
> need. That would also catch symbols defined in scripts, too.

I was looking at this.  This doesn't work when bar is declared in
foo.cc and then defined using defsym.  For example:

extern "C" {
int foo() {
  return 27;
}
extern int bar();
int main() {
  return bar();
}
}

$ gcc  -Wl,--defsym,bar=foo -Wl,--plugin,gold/testsuite/plugin_test.so
 foo.o.syms

bar is FROM_OBJECT.


>
> -cary


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