Browse Source

gallivm: Tell LLVM to not assume a 16-byte aligned stack on x86.

Fixes fdo 36738.
tags/mesa-7.11-rc1
José Fonseca 14 years ago
parent
commit
61c67eca7d
1 changed files with 13 additions and 0 deletions
  1. 13
    0
      src/gallium/auxiliary/gallivm/lp_bld_misc.cpp

+ 13
- 0
src/gallium/auxiliary/gallivm/lp_bld_misc.cpp View File

@@ -73,6 +73,19 @@ lp_set_target_options(void)
#endif
#endif

/*
* LLVM revision 123367 switched the default stack alignment to 16 bytes on
* Linux (and several other Unices in later revisions), to match recent gcc
* versions.
*
* However our drivers can be loaded by old binary applications, still
* maintaining a 4 bytes stack alignment. Therefore we must tell LLVM here
* to only assume a 4 bytes alignment for backwards compatibility.
*/
#if defined(PIPE_ARCH_X86)
llvm::StackAlignment = 4;
#endif

#if defined(DEBUG) || defined(PROFILE)
llvm::NoFramePointerElim = true;
#endif

Loading…
Cancel
Save