This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Allow copy relocations with pie links
- From: Cary Coutant <ccoutant at google dot com>
- To: Cary Coutant <ccoutant at google dot com>, Sriraman Tallam <tmsriram at google dot com>, David Miller <davem at davemloft dot net>, walt at tilera dot com, Doug Kwan <dougkwan at google dot com>, binutils <binutils at sourceware dot org>, Ian Lance Taylor <iant at google dot com>, David Li <davidxl at google dot com>
- Date: Thu, 8 May 2014 16:29:20 -0700
- Subject: Re: Allow copy relocations with pie links
- Authentication-results: sourceware.org; auth=none
- References: <CAAs8HmxwPuH7_s1yLxeW_6qkMCB+_kYSzB6yYG85QZS6yVHpZg at mail dot gmail dot com> <CAHACq4q9qP_h=PuwhJkE6KMt_xf6_Ne3unGRdQpvFqaXL=OxPw at mail dot gmail dot com> <CAAs8HmxkGVYAyq4wf1FChqowmQRTO9POve8Ve5f4kb3DXPfywQ at mail dot gmail dot com> <CAHACq4qx-C-W06-2oYtHz6uVuF3WHyFfp7AO9epk84Y9_6PLOA at mail dot gmail dot com> <20140508231602 dot GC5162 at bubble dot grove dot modra dot org>
>> I ran the i386 tests. David, Alan, Walt, and Doug, can you help test
>> this patch on your respective targets?
>
> The change isn't appropriate for powerpc. We don't have pc-relative
> addressing modes, so must use the GOT in PIEs.
case elfcpp::R_PPC64_REL64:
case elfcpp::R_POWERPC_REL32:
// Make a dynamic relocation if necessary.
if (gsym->needs_dynamic_reloc(Scan::get_reference_flags(r_type, target)))
{
if (gsym->may_need_copy_reloc())
{
target->copy_reloc(symtab, layout, object,
data_shndx, output_section, gsym,
reloc);
}
What should this code do, then? Add a COPY reloc only for
position-dependent executables?
-cary