Mark Kettenis:

> This port has some infrastructure to use an optimized function that
> uses a function pointer.  Not sure why for arm64 it actually uses that
> infrastructure, since the only alternative is the generic C
> implementation.  But adding a BTI instruction is the easiest fix.

ok naddy@

The question is whether there are any others hiding in there.  How
did you find this in the first place?  It broke on the M2?

Because amd64 should suffer from the same problem:

                fr->cpu_opts.the_dct36 = dct36_avx;
        ...
                fr->cpu_opts.the_dct36 = dct36_x86_64;

dct36_avx and dct36_x86_64 are assembly routines that lack the
endbr64 landing pad.  And yet, on my IBT-enabled amd64 laptop,
mpg123 plays just fine with both the avx and x86_64 decoders.

-- 
Christian "naddy" Weisgerber                          na...@mips.inka.de

Reply via email to