Mercurial > mplayer.hg
changeset 13375:460281609f28
force compilers not to optimize/inline extend_stack_for_dll_alloca
author | reimar |
---|---|
date | Sat, 18 Sep 2004 09:10:47 +0000 |
parents | e94036364011 |
children | 81f6847d688a |
files | loader/pe_image.c |
diffstat | 1 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/loader/pe_image.c Sat Sep 18 04:20:13 2004 +0000 +++ b/loader/pe_image.c Sat Sep 18 09:10:47 2004 +0000 @@ -895,12 +895,14 @@ * memory below %esp; it segfaults. * The extend_stack_for_dll_alloca() routine just preallocates a big chunk * of memory on the stack, for use by the DLLs alloca routine. + * Added the noinline attribute as e.g. gcc 3.2.2 inlines this function + * in a way that breaks it. */ -static void extend_stack_for_dll_alloca(void) +static void __attribute__((noinline)) extend_stack_for_dll_alloca(void) { #ifndef __FreeBSD__ - void* mem=alloca(0x20000); - *(int*)mem=0x1234; + volatile int* mem=alloca(0x20000); + *mem=0x1234; #endif }