Re: [PATCH v2] x86: Handle -mindirect-branch-register for -fno-plt

2025-01-31 Thread H.J. Lu
On Fri, Jan 31, 2025 at 10:09 PM Uros Bizjak wrote: > > On Fri, Jan 31, 2025 at 2:54 PM Uros Bizjak wrote: > > > > On Fri, Jan 31, 2025 at 2:36 PM H.J. Lu wrote: > > > > > > -fno-plt forces external call to indirect call via GOT memory. But > > > -mindirect-branch-register requires indirect cal

Re: [PATCH v2] x86: Handle -mindirect-branch-register for -fno-plt

2025-01-31 Thread Uros Bizjak
On Fri, Jan 31, 2025 at 2:54 PM Uros Bizjak wrote: > > On Fri, Jan 31, 2025 at 2:36 PM H.J. Lu wrote: > > > > -fno-plt forces external call to indirect call via GOT memory. But > > -mindirect-branch-register requires indirect call and jump via register. > > For -mindirect-branch-register, expand

Re: [PATCH v2] x86: Handle -mindirect-branch-register for -fno-plt

2025-01-31 Thread Uros Bizjak
On Fri, Jan 31, 2025 at 2:36 PM H.J. Lu wrote: > > -fno-plt forces external call to indirect call via GOT memory. But > -mindirect-branch-register requires indirect call and jump via register. > For -mindirect-branch-register, expanding indirect call via register and > update call patterns and pe

[PATCH v2] x86: Handle -mindirect-branch-register for -fno-plt

2025-01-31 Thread H.J. Lu
-fno-plt forces external call to indirect call via GOT memory. But -mindirect-branch-register requires indirect call and jump via register. For -mindirect-branch-register, expanding indirect call via register and update call patterns and peepholes to disable indirect call via memory. gcc/