Fix FTBFS gcc warning (bz 1307439)
This commit is contained in:
parent
f62d4244d2
commit
7e23287eb4
137
0001-BaseTools-LzmaCompress-eliminate-_maxMode-and-bogus-.patch
Normal file
137
0001-BaseTools-LzmaCompress-eliminate-_maxMode-and-bogus-.patch
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
From eb58c41d497a229f4412d9afd212978943d12c0e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Date: Sun, 14 Feb 2016 08:17:16 +0100
|
||||||
|
Subject: [PATCH] BaseTools: LzmaCompress: eliminate _maxMode and bogus
|
||||||
|
indentation
|
||||||
|
|
||||||
|
The "_maxMode" variable doesn't exist in edk2's variant of LzmaCompress,
|
||||||
|
but the way one of the old uses of the variable is commented out (i.e.,
|
||||||
|
together with the enclosing "if" statement) triggers the
|
||||||
|
"misleading-indentation" warning that is new in gcc-6.0, for the block of
|
||||||
|
code that originally depended on the "if" statement. Gcc believes
|
||||||
|
(mistakenly) that the programmer believes (mistakenly) that the block
|
||||||
|
depends on (repIndex == 0) higher up.
|
||||||
|
|
||||||
|
Remove the commented out uses of "_maxMode", and unindent the block in
|
||||||
|
question.
|
||||||
|
|
||||||
|
This patch is best viewed with "git show -b".
|
||||||
|
|
||||||
|
Cc: Cole Robinson <crobinso@redhat.com>
|
||||||
|
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
|
||||||
|
Cc: Liming Gao <liming.gao@intel.com>
|
||||||
|
Reported-by: Cole Robinson <crobinso@redhat.com>
|
||||||
|
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||||
|
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
---
|
||||||
|
BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c | 81 ++++++++++----------
|
||||||
|
1 file changed, 40 insertions(+), 41 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c
|
||||||
|
index 9b2dd16ffa48..1eb9898b5291 100644
|
||||||
|
--- a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c
|
||||||
|
+++ b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c
|
||||||
|
@@ -1367,52 +1367,51 @@ static UInt32 GetOptimum(CLzmaEnc *p, UInt32 position, UInt32 *backRes)
|
||||||
|
if (repIndex == 0)
|
||||||
|
startLen = lenTest + 1;
|
||||||
|
|
||||||
|
- /* if (_maxMode) */
|
||||||
|
+ {
|
||||||
|
+ UInt32 lenTest2 = lenTest + 1;
|
||||||
|
+ UInt32 limit = lenTest2 + p->numFastBytes;
|
||||||
|
+ UInt32 nextRepMatchPrice;
|
||||||
|
+ if (limit > numAvailFull)
|
||||||
|
+ limit = numAvailFull;
|
||||||
|
+ for (; lenTest2 < limit && data[lenTest2] == data2[lenTest2]; lenTest2++);
|
||||||
|
+ lenTest2 -= lenTest + 1;
|
||||||
|
+ if (lenTest2 >= 2)
|
||||||
|
{
|
||||||
|
- UInt32 lenTest2 = lenTest + 1;
|
||||||
|
- UInt32 limit = lenTest2 + p->numFastBytes;
|
||||||
|
- UInt32 nextRepMatchPrice;
|
||||||
|
- if (limit > numAvailFull)
|
||||||
|
- limit = numAvailFull;
|
||||||
|
- for (; lenTest2 < limit && data[lenTest2] == data2[lenTest2]; lenTest2++);
|
||||||
|
- lenTest2 -= lenTest + 1;
|
||||||
|
- if (lenTest2 >= 2)
|
||||||
|
+ UInt32 state2 = kRepNextStates[state];
|
||||||
|
+ UInt32 posStateNext = (position + lenTest) & p->pbMask;
|
||||||
|
+ UInt32 curAndLenCharPrice =
|
||||||
|
+ price + p->repLenEnc.prices[posState][lenTest - 2] +
|
||||||
|
+ GET_PRICE_0(p->isMatch[state2][posStateNext]) +
|
||||||
|
+ LitEnc_GetPriceMatched(LIT_PROBS(position + lenTest, data[lenTest - 1]),
|
||||||
|
+ data[lenTest], data2[lenTest], p->ProbPrices);
|
||||||
|
+ state2 = kLiteralNextStates[state2];
|
||||||
|
+ posStateNext = (position + lenTest + 1) & p->pbMask;
|
||||||
|
+ nextRepMatchPrice = curAndLenCharPrice +
|
||||||
|
+ GET_PRICE_1(p->isMatch[state2][posStateNext]) +
|
||||||
|
+ GET_PRICE_1(p->isRep[state2]);
|
||||||
|
+
|
||||||
|
+ /* for (; lenTest2 >= 2; lenTest2--) */
|
||||||
|
{
|
||||||
|
- UInt32 state2 = kRepNextStates[state];
|
||||||
|
- UInt32 posStateNext = (position + lenTest) & p->pbMask;
|
||||||
|
- UInt32 curAndLenCharPrice =
|
||||||
|
- price + p->repLenEnc.prices[posState][lenTest - 2] +
|
||||||
|
- GET_PRICE_0(p->isMatch[state2][posStateNext]) +
|
||||||
|
- LitEnc_GetPriceMatched(LIT_PROBS(position + lenTest, data[lenTest - 1]),
|
||||||
|
- data[lenTest], data2[lenTest], p->ProbPrices);
|
||||||
|
- state2 = kLiteralNextStates[state2];
|
||||||
|
- posStateNext = (position + lenTest + 1) & p->pbMask;
|
||||||
|
- nextRepMatchPrice = curAndLenCharPrice +
|
||||||
|
- GET_PRICE_1(p->isMatch[state2][posStateNext]) +
|
||||||
|
- GET_PRICE_1(p->isRep[state2]);
|
||||||
|
-
|
||||||
|
- /* for (; lenTest2 >= 2; lenTest2--) */
|
||||||
|
+ UInt32 curAndLenPrice;
|
||||||
|
+ COptimal *opt;
|
||||||
|
+ UInt32 offset = cur + lenTest + 1 + lenTest2;
|
||||||
|
+ while (lenEnd < offset)
|
||||||
|
+ p->opt[++lenEnd].price = kInfinityPrice;
|
||||||
|
+ curAndLenPrice = nextRepMatchPrice + GetRepPrice(p, 0, lenTest2, state2, posStateNext);
|
||||||
|
+ opt = &p->opt[offset];
|
||||||
|
+ if (curAndLenPrice < opt->price)
|
||||||
|
{
|
||||||
|
- UInt32 curAndLenPrice;
|
||||||
|
- COptimal *opt;
|
||||||
|
- UInt32 offset = cur + lenTest + 1 + lenTest2;
|
||||||
|
- while (lenEnd < offset)
|
||||||
|
- p->opt[++lenEnd].price = kInfinityPrice;
|
||||||
|
- curAndLenPrice = nextRepMatchPrice + GetRepPrice(p, 0, lenTest2, state2, posStateNext);
|
||||||
|
- opt = &p->opt[offset];
|
||||||
|
- if (curAndLenPrice < opt->price)
|
||||||
|
- {
|
||||||
|
- opt->price = curAndLenPrice;
|
||||||
|
- opt->posPrev = cur + lenTest + 1;
|
||||||
|
- opt->backPrev = 0;
|
||||||
|
- opt->prev1IsChar = True;
|
||||||
|
- opt->prev2 = True;
|
||||||
|
- opt->posPrev2 = cur;
|
||||||
|
- opt->backPrev2 = repIndex;
|
||||||
|
- }
|
||||||
|
+ opt->price = curAndLenPrice;
|
||||||
|
+ opt->posPrev = cur + lenTest + 1;
|
||||||
|
+ opt->backPrev = 0;
|
||||||
|
+ opt->prev1IsChar = True;
|
||||||
|
+ opt->prev2 = True;
|
||||||
|
+ opt->posPrev2 = cur;
|
||||||
|
+ opt->backPrev2 = repIndex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* for (UInt32 lenTest = 2; lenTest <= newLen; lenTest++) */
|
||||||
|
@@ -1456,7 +1455,7 @@ static UInt32 GetOptimum(CLzmaEnc *p, UInt32 position, UInt32 *backRes)
|
||||||
|
opt->prev1IsChar = False;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (/*_maxMode && */lenTest == matches[offs])
|
||||||
|
+ if (lenTest == matches[offs])
|
||||||
|
{
|
||||||
|
/* Try Match + Literal + Rep0 */
|
||||||
|
const Byte *data2 = data - (curBack + 1);
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
@ -15,6 +15,7 @@ Summary: EFI Development Kit II
|
|||||||
# tar -cv edk2-buildtools-r${SVNREV} | xz -6 > edk2-buildtools-r${SVNREV}.tar.xz
|
# tar -cv edk2-buildtools-r${SVNREV} | xz -6 > edk2-buildtools-r${SVNREV}.tar.xz
|
||||||
Source0: edk2-buildtools-r%{SVNREV}.tar.xz
|
Source0: edk2-buildtools-r%{SVNREV}.tar.xz
|
||||||
Patch1: basetools-arm.patch
|
Patch1: basetools-arm.patch
|
||||||
|
Patch2: 0001-BaseTools-LzmaCompress-eliminate-_maxMode-and-bogus-.patch
|
||||||
|
|
||||||
License: BSD
|
License: BSD
|
||||||
Group: Applications/Emulators
|
Group: Applications/Emulators
|
||||||
@ -65,6 +66,8 @@ build EFI executables and ROMs using the GNU tools.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n edk2-buildtools-r%{SVNREV}
|
%setup -q -n edk2-buildtools-r%{SVNREV}
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
|
%patch2 -p2
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
export WORKSPACE=`pwd`
|
export WORKSPACE=`pwd`
|
||||||
@ -189,10 +192,13 @@ done
|
|||||||
%doc UserManuals/VolInfo_Utility_Man_Page.rtf
|
%doc UserManuals/VolInfo_Utility_Man_Page.rtf
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Feb 15 2016 Cole Robinson <crobinso@redhat.com> 20151127svn18975-3
|
||||||
|
- Fix FTBFS gcc warning (bz 1307439)
|
||||||
|
|
||||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 20151127svn18975-2
|
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 20151127svn18975-2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
* Tue Nov 27 2015 Paolo Bonzini <pbonzini@redhat.com> - 20151127svn18975-1
|
* Fri Nov 27 2015 Paolo Bonzini <pbonzini@redhat.com> - 20151127svn18975-1
|
||||||
- Rebase to 20151127svn18975-1
|
- Rebase to 20151127svn18975-1
|
||||||
- Linker script renamed to GccBase.lds
|
- Linker script renamed to GccBase.lds
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user