> On 14 Feb 2024, at 18:12, H.J. Lu <hjl.to...@gmail.com> wrote:
>
> On Tue, Feb 13, 2024 at 8:46 AM Jakub Jelinek <ja...@redhat.com> wrote:
>>
>> On Tue, Feb 13, 2024 at 08:40:52AM -0800, H.J. Lu wrote:
>>> Add x32 and IBT support to x86 heap trampoline implementation with a
>>> testcase.
>>>
>>> 2024-02-13 Jakub Jelinek <ja...@redhat.com>
>>> H.J. Lu <hjl.to...@gmail.com>
>>>
>>> libgcc/
>>>
>>> PR target/113855
>>> * config/i386/heap-trampoline.c (trampoline_insns): Add IBT
>>> support and pad to the multiple of 4 bytes. Use movabsq
>>> instead of movabs in comments. Add -mx32 variant.
>>>
>>> gcc/testsuite/
>>>
>>> PR target/113855
>>> * gcc.dg/heap-trampoline-1.c: New test.
>>> * lib/target-supports.exp (check_effective_target_heap_trampoline):
>>> New.
>>
>> LGTM, but please give Iain a day or two to chime in.
>>
>> Jakub
>>
>
> I am checking it in today.
I have just one question;
from your patch the use of endbr* seems to be unconditionally based on the
flags used to build libgcc.
However, I was expecting that the use of extended trampolines like this would
depend on command line flags used to compile the end-user’s code.
As per the discussion in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113855#c4
I was expecting that we would need to extend this implementation to cover more
cases (i.e. the GCC-14 implementation is “base”).
any comments?
Iain
>
> --
> H.J.