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: R_X86_64_COPY bug


On Sat, Apr 6, 2013 at 12:13 AM, Alan Modra <amodra@gmail.com> wrote:
> On Fri, Apr 05, 2013 at 09:29:09PM -0700, Fredrick Prashanth John Berchmans wrote:
>> Dear binutils developers,
>>
>> We are seeing a issue with copy relocation semantics in ld.
>>
>> A struct with zero length array is defined in a shared library.
>> Because of copy relocation semantics, any binary linking with that
>> library sees those elements as zero initialized.
>>
>> We saw this bug also on ARM with R_ARM_COPY.
>
> This is not a bug in gas or ld.  gcc is sizing the struct incorrectly.
>
>         .globl  test_dynamic
>         .data
>         .align 4
>         .type   test_dynamic, @object
>         .size   test_dynamic, 4      # <===========
> test_dynamic:
>         .long   6
>         .long   1
>         .long   2
>         .long   3
>         .long   4
>         .long   5
>         .long   6

Thanks for the quick response. Is there any way we can avoid copy
relocations for these problematic types? We tried even giving the
attribute of protected visibility. And it doesn't seem to help.

-Suresh Siddha


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