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] | |
On Wed, May 7, 2014 at 4:46 PM, Cary Coutant <ccoutant@google.com> wrote: >> * 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. All changes done and new patch attached. Tested *only* for x86_64. Appreciate help in testing other targets. * symtab.h (may_need_copy_reloc): Remove check for position independent code. * x86_64.cc (Target_x86_64<size>::Scan::global): Add check for no position independence before pc absolute may_need_copy_reloc call. Add check for executable output befor pc relative may_need_copy_reloc call. * i386.cc: Ditto. * arm.cc: Ditto. * sparc.cc: Ditto. * powerpc.cc: Ditto. * tilegx.cc: Ditto. * testsuite/pie_copyrelocs_test.cc: New file. * testsuite/pie_copyrelocs_shared_test.cc: New file. * Makefile.am (pie_copyrelocs_test): New test. * Makefile.in: Regenerate. Thanks Sri > > Thanks! > > -cary
Attachment:
gold_pie_patch.txt
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |