[Bug target/98482] -mfentry creates invalid call for -mcmodel=large

2021-01-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98482 --- Comment #15 from CVS Commits --- The master branch has been updated by H.J. Lu : https://gcc.gnu.org/g:745d04e796c1a7ebcea0185d0742d58b0c0030ab commit r11-6557-g745d04e796c1a7ebcea0185d0742d58b0c0030ab Author: H.J. Lu Date: Fri Jan 8

[Bug target/98482] -mfentry creates invalid call for -mcmodel=large

2021-01-08 Thread ubizjak at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98482 --- Comment #14 from Uroš Bizjak --- (In reply to Jakub Jelinek from comment #10) > If we are emitting for nested functions > pushq %r10 > 1:call__fentry__ > popq%r10 > (is it ok to misalign the stack for __fentry__?

[Bug target/98482] -mfentry creates invalid call for -mcmodel=large

2021-01-08 Thread hjl.tools at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98482 --- Comment #13 from H.J. Lu --- Fixed for GCC 11 so far. Please open a new GCC bug for mcount stack alignment.

[Bug target/98482] -mfentry creates invalid call for -mcmodel=large

2021-01-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98482 --- Comment #12 from CVS Commits --- The master branch has been updated by H.J. Lu : https://gcc.gnu.org/g:76be18f442948d1a4bc49a7d670b07097f9e5983 commit r11-6552-g76be18f442948d1a4bc49a7d670b07097f9e5983 Author: H.J. Lu Date: Fri Jan 8

[Bug target/98482] -mfentry creates invalid call for -mcmodel=large

2021-01-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98482 --- Comment #11 from CVS Commits --- The master branch has been updated by H.J. Lu : https://gcc.gnu.org/g:1b885264a48dcd71b7aeb26c0abeb91246724897 commit r11-6548-g1b885264a48dcd71b7aeb26c0abeb91246724897 Author: H.J. Lu Date: Thu Jan 7

[Bug target/98482] -mfentry creates invalid call for -mcmodel=large

2021-01-08 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98482 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment

[Bug target/98482] -mfentry creates invalid call for -mcmodel=large

2021-01-08 Thread ubizjak at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98482 --- Comment #9 from Uroš Bizjak --- (In reply to Topi Miettinen from comment #8) > I'm unfortunately ignorant to GCC internals and usage of %r10, but otherwise > the patch looks good to me. > > For -mcmodel=large -fPIC, the call sequence

[Bug target/98482] -mfentry creates invalid call for -mcmodel=large

2021-01-08 Thread toiwoton at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98482 --- Comment #8 from Topi Miettinen --- I'm unfortunately ignorant to GCC internals and usage of %r10, but otherwise the patch looks good to me. For -mcmodel=large -fPIC, the call sequence probably needs to be similar to how other extern

[Bug target/98482] -mfentry creates invalid call for -mcmodel=large

2021-01-07 Thread crazylht at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98482 --- Comment #7 from Hongtao.liu --- (In reply to H.J. Lu from comment #6) > A patch is posted at > > https://gcc.gnu.org/pipermail/gcc-patches/2021-January/563033.html Yes, %r10 is pushed before __fentry__ cat test.c void func(int

[Bug target/98482] -mfentry creates invalid call for -mcmodel=large

2021-01-07 Thread hjl.tools at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98482 H.J. Lu changed: What|Removed |Added Ever confirmed|0 |1 Last reconfirmed|2021-01-04 00:00:00

[Bug target/98482] -mfentry creates invalid call for -mcmodel=large

2021-01-07 Thread ubizjak at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98482 --- Comment #5 from Uroš Bizjak --- (In reply to Topi Miettinen from comment #4) > Sorry, I didn't check the ABI. It seems that %r11 and maybe %r10 should be > usable: %r11 is already used as PROFILE_COUNT_REGISTER for !NO_PROFILE_COUNTERS

[Bug target/98482] -mfentry creates invalid call for -mcmodel=large

2021-01-07 Thread toiwoton at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98482 --- Comment #4 from Topi Miettinen --- Sorry, I didn't check the ABI. It seems that %r11 and maybe %r10 should be usable: Figure 3.4: Register Usage Register Usage Preserved across function calls %r10 temporary register, used for passing a

[Bug target/98482] -mfentry creates invalid call for -mcmodel=large

2021-01-07 Thread ubizjak at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98482 --- Comment #3 from Uroš Bizjak --- (In reply to Uroš Bizjak from comment #2) > (In reply to Hongtao.liu from comment #1) > > and by the time of output __fentry__ in gcc, register is already accocated, > > is there any regs supposed to be safe

[Bug target/98482] -mfentry creates invalid call for -mcmodel=large

2021-01-07 Thread ubizjak at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98482 --- Comment #2 from Uroš Bizjak --- (In reply to Hongtao.liu from comment #1) > and by the time of output __fentry__ in gcc, register is already accocated, > is there any regs supposed to be safe in the entry of function? or we need > to spill

[Bug target/98482] -mfentry creates invalid call for -mcmodel=large

2021-01-07 Thread crazylht at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98482 --- Comment #1 from Hongtao.liu --- (In reply to Topi Miettinen from comment #0) > GCC on x86_64 with `-mfentry` generates invalid code for `-mcmodel=large`. > The call to `__fentry__` uses plain `call` instruction, but this can only > address