Fix assumption in asllookup.c that all method names are in little-endian

format.  Closes BZ#1251972.

Signed-off-by: Al Stone <ahs3@redhat.com>
This commit is contained in:
Al Stone 2015-09-11 09:30:28 -06:00
parent 0403c80d07
commit 3a2f95ad41
2 changed files with 17 additions and 0 deletions

View File

@ -32,6 +32,7 @@ Patch5: OPT_LDFLAGS.patch
Patch6: int-format.patch Patch6: int-format.patch
Patch7: f23-harden.patch Patch7: f23-harden.patch
Patch8: rename-file.patch Patch8: rename-file.patch
Patch9: asllookup-ppc64.patch
BuildRequires: bison patchutils flex BuildRequires: bison patchutils flex
@ -90,6 +91,7 @@ gzip -dc %{SOURCE1} | tar -x --strip-components=1 -f -
%patch6 -p1 -b .int-format %patch6 -p1 -b .int-format
%patch7 -p1 -b .f23-harden %patch7 -p1 -b .f23-harden
%patch8 -p1 -b .rename-file %patch8 -p1 -b .rename-file
%patch9 -p1 -b .asllookup-ppc64
cp -p %{SOURCE2} README.Fedora cp -p %{SOURCE2} README.Fedora
cp -p %{SOURCE3} iasl.1 cp -p %{SOURCE3} iasl.1
@ -186,6 +188,8 @@ fi
%changelog %changelog
* Thu Sep 10 2015 Al Stone <ahs3@redhat.com> - 20150818-2 * Thu Sep 10 2015 Al Stone <ahs3@redhat.com> - 20150818-2
- Remove extraneous patch files for AAPITS. - Remove extraneous patch files for AAPITS.
- Correct an assumption that all names are stored in little-endian format.
Fix is in asllookup-ppc64.patch. Closes BZ#1251972.
* Wed Sep 9 2015 Al Stone <ahs3@redhat.com> - 20150818-1 * Wed Sep 9 2015 Al Stone <ahs3@redhat.com> - 20150818-1
- Update to latest upstream. Closes BZ#1256134. - Update to latest upstream. Closes BZ#1256134.

13
asllookup-ppc64.patch Normal file
View File

@ -0,0 +1,13 @@
diff -Naur acpica-unix2-20150818/source/compiler/asllookup.c acpica-unix2-20150818.fixes/source/compiler/asllookup.c
--- acpica-unix2-20150818/source/compiler/asllookup.c 2015-09-10 16:07:37.573262497 -0600
+++ acpica-unix2-20150818.fixes/source/compiler/asllookup.c 2015-09-10 16:26:26.336912875 -0600
@@ -176,7 +176,8 @@
* We ignore the predefined methods since often, not
* all arguments are needed or used.
*/
- if ((Node->Name.Ascii[0] != '_') &&
+ ACPI_MOVE_32_TO_32(&tmp.Ascii, Node->Name.Ascii);
+ if ((tmp.Ascii[0] != '_') &&
(!(MethodArgs[i].Flags & ASL_ARG_REFERENCED)))
{
sprintf (MsgBuffer, "Arg%u", i);