https://sourceware.org/bugzilla/show_bug.cgi?id=22791

            Bug ID: 22791
           Summary: Don't error when a -pie executable uses a shared
                    function without a got
           Product: binutils
           Version: unspecified
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: gold
          Assignee: ccoutant at gmail dot com
          Reporter: rafael.espindola at gmail dot com
                CC: ian at airs dot com
  Target Milestone: ---

The following testcase fails with gold

$ cat test.s
        .globl  _start
_start:
        callq   vcall
$ cat test2.s
        .global vcall
        .type vcall,@function
vcall:
        nop
$ ld.gold test2.o -o test2.so -shared
$ ld.gold test.o test2.so -o t -pie
ld.gold: error: test.o: requires dynamic R_X86_64_PC32 reloc against 'vcall'
which may overflow at runtime; recompile with -fPIC

But there is no reason why trick of defining a symbol pointing to the plt entry
would not work with a PIE.

Starting with c5bb8910e80c6cd80c63541f86471c18375c8198 bfd uses TEXTREL, but
that seems less desirable than creating a symbol pointing to the plt entry as
is done in the non -pie case.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to