Makes things up-to-date with the upstream at https://code.videolan.org/videolan/x86inc.asm Specifying every individual change is difficult as there have been divergences and cherry-picks over time, but the full upstream change log can be found at https://code.videolan.org/videolan/x86inc.asm/-/commits/master?ref_type=heads Tested and passes FATE on Linux (x86-64), macOS (x86-64), and Windows (x86-64 and x86-32). The macOS system with AVX2, the rest with AVX512ICL. The following local changes compared to upstream remain (is the OS/2 part still relevant?): @@ -37,2 +37,5 @@ +%if HAVE_ALIGNED_STACK + %define STACK_ALIGNMENT 16 +%endif %ifndef STACK_ALIGNMENT @@ -86,4 +89,11 @@ +; aout does not support align= +; NOTE: This section is out of sync with x264, in order to +; keep supporting OS/2. %macro SECTION_RODATA 0-1 16 - %ifidn __OUTPUT_FORMAT__,win32 + %ifidn __OUTPUT_FORMAT__,aout + SECTION .text + %elifidn __OUTPUT_FORMAT__,coff + SECTION .text + %elifidn __OUTPUT_FORMAT__,win32 SECTION .rdata align=%1