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