diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2011-09-21 19:10:58 +0200 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2011-09-25 16:59:52 +0200 |
commit | 424bcc46b5fb0d662e0fb9ad6319c5b9ef3d770f (patch) | |
tree | ba5e6cc78cb019d9c64d7a4e3a058cc4e302133f /libswscale | |
parent | d8289ff9a9a3d0af416e70a1c864e1c6ce095656 (diff) | |
download | ffmpeg-streaming-424bcc46b5fb0d662e0fb9ad6319c5b9ef3d770f.zip ffmpeg-streaming-424bcc46b5fb0d662e0fb9ad6319c5b9ef3d770f.tar.gz |
Compile x86/swscale_template with -mno-red-zone.
Replaces a very hackish hack to fix the same issue (call instruction
overwriting stack variables).
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Diffstat (limited to 'libswscale')
-rw-r--r-- | libswscale/Makefile | 2 | ||||
-rw-r--r-- | libswscale/x86/swscale_template.c | 10 |
2 files changed, 2 insertions, 10 deletions
diff --git a/libswscale/Makefile b/libswscale/Makefile index 7f74677..942545d 100644 --- a/libswscale/Makefile +++ b/libswscale/Makefile @@ -21,6 +21,8 @@ OBJS-$(HAVE_MMX) += x86/rgb2rgb.o \ OBJS-$(HAVE_VIS) += sparc/yuv2rgb_vis.o OBJS-$(HAVE_YASM) += x86/scale.o +$(SUBDIR)x86/swscale_mmx.o: CFLAGS += $(NOREDZONE_FLAGS) + TESTPROGS = colorspace swscale DIRS = bfin mlib ppc sparc x86 diff --git a/libswscale/x86/swscale_template.c b/libswscale/x86/swscale_template.c index 6a143f7..35839be 100644 --- a/libswscale/x86/swscale_template.c +++ b/libswscale/x86/swscale_template.c @@ -1963,10 +1963,6 @@ static void RENAME(hyscale_fast)(SwsContext *c, int16_t *dst, #if defined(PIC) DECLARE_ALIGNED(8, uint64_t, ebxsave); #endif - // HACK: gcc 4.6 no longer decrements esp, - // use this to make it reserve space for the call - // return address - void *dummy; __asm__ volatile( #if defined(PIC) @@ -2018,7 +2014,6 @@ static void RENAME(hyscale_fast)(SwsContext *c, int16_t *dst, #if defined(PIC) ,"m" (ebxsave) #endif - ,"m" (dummy) : "%"REG_a, "%"REG_c, "%"REG_d, "%"REG_S, "%"REG_D #if !defined(PIC) ,"%"REG_b @@ -2040,10 +2035,6 @@ static void RENAME(hcscale_fast)(SwsContext *c, int16_t *dst1, int16_t *dst2, #if defined(PIC) DECLARE_ALIGNED(8, uint64_t, ebxsave); #endif - // HACK: gcc 4.6 no longer decrements esp, - // use this to make it reserve space for the call - // return address - void *dummy; __asm__ volatile( #if defined(PIC) @@ -2083,7 +2074,6 @@ static void RENAME(hcscale_fast)(SwsContext *c, int16_t *dst1, int16_t *dst2, #if defined(PIC) ,"m" (ebxsave) #endif - ,"m" (dummy) : "%"REG_a, "%"REG_c, "%"REG_d, "%"REG_S, "%"REG_D #if !defined(PIC) ,"%"REG_b |