https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108515

--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Richard Earnshaw from comment #10)
> Almost certainly this is related to the need for a copyreloc and presumably
> the linker has not created one for some reason.  So I suspect this is most
> likely a binutils issue rather than a compiler one.  The code generated for
> the simple test is just
> 
> main:
>         @ args = 0, pretend = 0, frame = 0
>         @ frame_needed = 0, uses_anonymous_args = 0
>         movw    r3, #:lower16:stderr
>         movt    r3, #:upper16:stderr
>         push    {r4, lr}
>         movw    r0, #:lower16:.LC0
>         movt    r0, #:upper16:.LC0
>         ldr     r1, [r3]
>         bl      printf
>         mov     r0, #0
>         pop     {r4, pc}
> 
> And the references to stderr will require the definition to be moved from
> the shared library to the static image during linking.

So eventually linking with -Wl,-z,nocopyreloc will fail?

Reply via email to