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

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Jakub Jelinek
<ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:ebc8606a9408623e2fa2a02a5526b882ffd0e7a8

commit r10-9211-gebc8606a9408623e2fa2a02a5526b882ffd0e7a8
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Tue Dec 1 10:44:40 2020 +0100

    x86_64: Fix up -fpic -mcmodel=large -fno-plt [PR98063]

    On the following testcase with -fpic -mcmodel=large -fno-plt we emit
    call puts@GOTPCREL(%rip)
    but that is not really appropriate for CM_LARGE_PIC, the .text can be
larger
    than 2GB in that case and the .got slot further away from %rip than what
can
    fit into the signed 32-bit immediate.

    The following patch computes the address of the .got slot the way it is
    computed for that model for function pointer loads, and calls that.

    2020-12-01  Jakub Jelinek  <ja...@redhat.com>

            PR target/98063
            * config/i386/i386-expand.c (ix86_expand_call): Handle non-plt
            CM_LARGE_PIC calls.

            * gcc.target/i386/pr98063.c: New test.

    (cherry picked from commit 69157fe75823fc34f1e3265345f2d2b99cd8d380)

Reply via email to