On Wed, Feb 14, 2024 at 11:59 AM Iain Sandoe <i...@sandoe.co.uk> wrote:
>
>
>
> > 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.

We only ship ONE libgcc binary.   You get the same libgcc binary regardless
what options one uses to compile an application.   Since ENBD64 is a NOP if
IBT isn't enabled, so it isn't an issue.

>  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.
>


-- 
H.J.

Reply via email to