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: Allow copy relocations with pie links


> * symtab.h (may_need_copy_reloc): Extra default parameter to
> indicate if this is a PC relative relocation.

In the PC-rel case, you need to check for output_is_executable. With
your patch, we will now allow copy relocs for pc-relative relocations
even in shared libraries.

I'd prefer to move the check for output format to the points of call;
there are two calls in each target, one for pc-relative relocs, and
one for absolute relocs. For the absolute reloc, use:

  if (!parameters->options().output_is_position_independent()
      && gsym->may_need_copy_reloc())

For the pc-relative reloc, use:

  if (parameters->options().output_is_executable()
      && gsym->may_need_copy_reloc())

> * x86_64.cc (Target_x86_64<size>::Scan::global): Call
> may_need_copy_reloc with parameter set to true.

Please update the other targets, too.

Thanks!

-cary


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