summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvan <[email protected]>2008-02-25 06:35:41 +0000
committervan <[email protected]>2008-02-25 06:35:41 +0000
commit07d0fa8c83ce7f79a0d192771e1520b98fbe79fe (patch)
treee7fb4bf50c69d33f61abc6928f8a78afab9e4dc0
parentc957d78b0d6c5a7cea326118fe390ced1e231a86 (diff)
Work-around for xvid crash - dct coeff tables are being loaded with SSE 'load aligned' instructions which require 16-byte alignment but either nasm or the loader is ignoring the .rodata section alignment request. Since .rodata is in the text section which is correctly aligned, pad the text section so it's 16-byte aligned which will cause the following data to be correctly aligned.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1315 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r--contrib/Jamfile1
-rw-r--r--contrib/patch-xvidcore-fdct.patch8
2 files changed, 9 insertions, 0 deletions
diff --git a/contrib/Jamfile b/contrib/Jamfile
index ebc9e7ffe..5bdcd3518 100644
--- a/contrib/Jamfile
+++ b/contrib/Jamfile
@@ -378,6 +378,7 @@ rule LibXvidCore
LIBXVIDCORE_PATCH = "$(PATCH) -p1 < ../patch-xvidcore-cygwin.patch && " ;
}
LIBXVIDCORE_PATCH += "$(PATCH) -p1 < ../patch-xvidcore-nasm-2.00-configure.patch && " ;
+ LIBXVIDCORE_PATCH += "$(PATCH) -p1 < ../patch-xvidcore-fdct.patch && " ;
Depends $(<) : $(>) ;
Depends lib : $(<) ;
}
diff --git a/contrib/patch-xvidcore-fdct.patch b/contrib/patch-xvidcore-fdct.patch
new file mode 100644
index 000000000..1fc90b689
--- /dev/null
+++ b/contrib/patch-xvidcore-fdct.patch
@@ -0,0 +1,8 @@
+--- xvidcore/src/dct/x86_asm/fdct_sse2_skal.asm.orig 2008-02-22 10:28:13.000000000 -0800
++++ xvidcore/src/dct/x86_asm/fdct_sse2_skal.asm 2008-02-22 11:08:52.000000000 -0800
+@@ -620,3 +620,5 @@
+ ret
+ .endfunc
+
++ALIGN 16
++ times 8 dw 0