Skip to content

cppapi/server/jpeg_mmx/jpeg_dct_mmx.cpp: Avoid using the wrong GCC fu…

…nction

The JPEG code has MMX assembler routines which have optimized code for 32bit intel architectures.

This code uses GCC internals like __i686.get_pc_thunk.bx, which loads the position of the code into a register. This is required for position independent code 1.

The name of that function changed in the GCC repository in a3330c9d (morestack.S (__i686.get_pc_thunk.bx): Rename to..., 2011-05-04).

But the new name is only present since 4.7.0. So we would need to either support both names or realize that we already have a fallback.

By using the fallback which uses the exact same code as GCC we have less code and less branching on versions.

This bug was already reported earlier 2, but the fix never made it into the code.

Backport of #783.

Merge request reports

Loading