From ad83e05b3798d95d2a52d9707489560ea263f619 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Sun, 15 Jun 2008 11:06:12 +0000 Subject: [PATCH] * src/base/ftcalc.c (FT_MulFix) : Protect registers correctly from clobbering. Patch from Savannah bug report #23556. * docs/CHANGES: Document it. --- ChangeLog | 7 +++++++ docs/CHANGES | 12 ++++++++++++ src/base/ftcalc.c | 4 ++-- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f712cce36..ae62f7ff2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-06-15 Werner Lemberg + + * src/base/ftcalc.c (FT_MulFix) : Protect registers correctly + from clobbering. Patch from Savannah bug report #23556. + + * docs/CHANGES: Document it. + 2008-06-10 Werner Lemberg * autogen.sh: Add option `--install' to libtoolize. diff --git a/docs/CHANGES b/docs/CHANGES index 8129ec7fb..ade991bc1 100644 --- a/docs/CHANGES +++ b/docs/CHANGES @@ -1,3 +1,15 @@ +CHANGES BETWEEN 2.3.7 and 2.3.6 + + I. IMPORTANT BUG FIXES + + - If the library was compiled on an i386 platform using gcc, and + compiler option -O3 was given, `FT_MulFix' sometimes returned + incorrect results which could have caused problems with + `FT_Request_Metrics' and `FT_Select_Metrics', returning an + incorrect descender size. + + +====================================================================== CHANGES BETWEEN 2.3.6 and 2.3.5 diff --git a/src/base/ftcalc.c b/src/base/ftcalc.c index 17790c39a..c69b9f6c8 100644 --- a/src/base/ftcalc.c +++ b/src/base/ftcalc.c @@ -430,8 +430,8 @@ "shll $16, %%edx\n" "addl %%edx, %%eax\n" "mov %%eax, %0\n" - : "=r"(result) - : "a"(a), "d"(b) + : "=a"(result), "+d"(b) + : "a"(a) : "%ecx" ); return result;