mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 04:10:09 +01:00
mesa: Ensure stack is realigned on x86.
Nowadays GCC assumes stack pointer is 16-byte aligned even on 32-bits, but that is an assumption OpenGL drivers (or any dynamic library for that matter) can't afford to make as there are many closed- and open- source application binaries out there that only assume 4-byte stack alignment. This fix uses force_align_arg_pointer GCC attribute, and is only a stop-gap measure. The right fix would be to pass -mstackrealign or -mincoming-stack-boundary=2 to all source fails that use any -msse* option, as there is no way to guarantee if/when GCC will decide to spill SSE registers to the stack. https://bugs.freedesktop.org/show_bug.cgi?id=86788 Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
parent
f9098f0972
commit
a1fc6a91e5
1 changed files with 3 additions and 0 deletions
|
|
@ -31,6 +31,9 @@
|
|||
#include <stdint.h>
|
||||
|
||||
void
|
||||
#if !defined(__x86_64__)
|
||||
__attribute__((force_align_arg_pointer))
|
||||
#endif
|
||||
_mesa_uint_array_min_max(const unsigned *ui_indices, unsigned *min_index,
|
||||
unsigned *max_index, const unsigned count)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue