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)