diff --git a/.gitignore b/.gitignore index fe9e476..2ec9223 100644 --- a/.gitignore +++ b/.gitignore @@ -115,3 +115,54 @@ series /acpitests-unix-20190405.tar.gz /acpica-unix2-20190509.tar.gz /acpitests-unix-20190509.tar.gz +/acpica-unix2-20190703.tar.gz +/acpitests-unix-20190703.tar.gz +/acpica-unix2-20190816.tar.gz +/acpitests-unix-20190816.tar.gz +/acpica-unix2-20191018.tar.gz +/acpitests-unix-20191018.tar.gz +/acpica-unix2-20191213.tar.gz +/acpitests-unix-20191213.tar.gz +/acpica-unix2-20200110.tar.gz +/acpitests-unix-20200110.tar.gz +/acpica-unix2-20200214.tar.gz +/acpitests-unix-20200214.tar.gz +/acpica-unix2-20200326.tar.gz +/acpitests-unix-20200326.tar.gz +/acpica-unix2-20200430.tar.gz +/acpitests-unix-20200430.tar.gz +/acpica-unix2-20200528.tar.gz +/acpitests-unix-20200528.tar.gz +/acpica-unix2-20200717.tar.gz +/acpitests-unix-20200717.tar.gz +/acpica-unix2-20200925.tar.gz +/acpitests-unix-20200925.tar.gz +/acpica-unix2-20201113.tar.gz +/acpitests-unix-20201113.tar.gz +/acpica-unix2-20201217.tar.gz +/acpitests-unix-20201217.tar.gz +/acpica-unix2-20210105.tar.gz +/acpitests-unix-20210105.tar.gz +/acpica-unix2-20210331.tar.gz +/acpitests-unix-20210331.tar.gz +/acpica-unix2-20210604.tar_0.gz +/acpitests-unix-20210604.tar.gz +/acpica-unix2-20210604.tar.gz +/acpica-unix2-20210730.tar.gz +/acpitests-unix-20210730.tar.gz +/acpica-unix2-20210930.tar.gz +/acpitests-unix-20210930.tar.gz +/acpica-unix2-20211217.tar.gz +/acpitests-unix-20211217.tar.gz +/acpica-unix2-20220331.tar.gz +/acpitests-unix-20220331.tar.gz +/acpica-unix2-20230331.tar.gz +/acpitests-unix-20230331.tar.gz +/acpica-unix2-20240321.tar.gz +/acpitests-unix-20240321.tar.gz +/acpica-unix2-20240322.tar.gz +/acpitests-unix-20240322.tar.gz +/acpica-unix2-20250807.tar.gz +/acpitests-unix-20250807.tar.gz +/acpica-unix2-20251212.tar.gz +/acpitests-unix-20251212.tar.gz diff --git a/0002-Correct-dumping-of-SLIC-tables.patch b/0002-Correct-dumping-of-SLIC-tables.patch new file mode 100644 index 0000000..76dcf57 --- /dev/null +++ b/0002-Correct-dumping-of-SLIC-tables.patch @@ -0,0 +1,30 @@ +From 957662e99f6ec38849a9cf47eaebe1c232f74bbd Mon Sep 17 00:00:00 2001 +From: Al Stone +Date: Wed, 14 Apr 2021 21:18:12 -0600 +Subject: [PATCH 2/2] Correct dumping of SLIC tables + +When dumping the SLIC table, the code was not starting at the proper +offset. Set the offset to the first byte after the header. + +Signed-off-by: Al Stone +--- + source/common/dmtbdump3.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/source/common/dmtbdump3.c b/source/common/dmtbdump3.c +index 6e5f5d7ff..9a5b5ecd5 100644 +--- a/source/common/dmtbdump3.c ++++ b/source/common/dmtbdump3.c +@@ -177,7 +177,8 @@ AcpiDmDumpSlic ( + ACPI_TABLE_HEADER *Table) + { + +- (void) AcpiDmDumpTable (Table->Length, sizeof (ACPI_TABLE_HEADER), Table, ++ (void) AcpiDmDumpTable (Table->Length, sizeof (ACPI_TABLE_HEADER), ++ (void *) (Table + sizeof (*Table)), + Table->Length - sizeof (*Table), AcpiDmTableInfoSlic); + } + +-- +2.45.2 + diff --git a/0003-PHAT-FW-health-table-can-be-zero-length.patch b/0003-PHAT-FW-health-table-can-be-zero-length.patch new file mode 100644 index 0000000..159b56e --- /dev/null +++ b/0003-PHAT-FW-health-table-can-be-zero-length.patch @@ -0,0 +1,37 @@ +From 1fb473e41bcbfbe21c02bcb30983b87aa94a6cb8 Mon Sep 17 00:00:00 2001 +From: Al Stone +Date: Tue, 13 Aug 2024 09:50:37 -0600 +Subject: [PATCH] PHAT FW health table can be zero-length + +When calculating the VendorLength of the PHAT FW health data subtable, +the result becomes a negative integer. However, since UINT32 is being +used, it looks like a huge positive integer instead. Conditionalize +the length calculation to handle this case properly. + +This was discovered by using the command: iasl -T phat + +Signed-off-by: Al Stone +--- + source/common/dmtbdump2.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/source/common/dmtbdump2.c b/source/common/dmtbdump2.c +index 32b76b382..dd4d4878e 100644 +--- a/source/common/dmtbdump2.c ++++ b/source/common/dmtbdump2.c +@@ -2432,8 +2432,10 @@ AcpiDmDumpPhat ( + + /* Get Device-Specific Data - length of which is the remaining subtable length. */ + +- VendorLength = +- Subtable->Length - sizeof (ACPI_PHAT_HEALTH_DATA) - PathLength; ++ VendorLength = 0; ++ if (Subtable->Length > sizeof (ACPI_PHAT_HEALTH_DATA) + PathLength) ++ VendorLength = ++ Subtable->Length - sizeof (ACPI_PHAT_HEALTH_DATA) - PathLength; + DbgPrint (ASL_DEBUG_OUTPUT, "%u, Subtable->Length %X, VendorLength %X, Offset %X PathLength: %X\n", + __LINE__, Subtable->Length, VendorLength, Offset, PathLength); + +-- +2.45.2 + diff --git a/OPT_LDFLAGS.patch b/OPT_LDFLAGS.patch deleted file mode 100644 index a1ca276..0000000 --- a/OPT_LDFLAGS.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: acpica-unix2-20170728/generate/unix/Makefile.config -=================================================================== ---- acpica-unix2-20170728.orig/generate/unix/Makefile.config -+++ acpica-unix2-20170728/generate/unix/Makefile.config -@@ -23,6 +23,9 @@ - # OPT_CFLAGS can be overridden on the make command line by - # adding OPT_CFLAGS="..." to the invocation. - # -+# OPT_LDFLAGS can be overridden on the make command line by -+# adding OPT_LDFLAGS="..." to the invocation. -+# - # Notes: - # gcc should be version 4 or greater, otherwise some of the options - # used will not be recognized. -@@ -157,6 +160,11 @@ LDFLAGS +=-m32 - endif - - # -+# Common linker flags -+# -+OPT_LDFLAGS ?= -+ -+# - # Optionally disable optimizations. Optimization causes problems on - # some compilers such as gcc 4.4 - # diff --git a/acpica-tools.spec b/acpica-tools.spec index 1d9bd23..aceb014 100644 --- a/acpica-tools.spec +++ b/acpica-tools.spec @@ -1,20 +1,22 @@ Name: acpica-tools -Version: 20190509 -Release: 5%{?dist} +Version: 20251212 +Release: 2%{?dist} Summary: ACPICA tools for the development and debug of ACPI tables -License: GPLv2 -URL: https://www.acpica.org/ +# Automatically converted from old format: GPLv2 - review is highly recommended. +License: GPL-2.0-only +URL: https://www.intel.com/content/www/us/en/developer/topic-technology/open/acpica/overview.html -Source0: https://acpica.org/sites/acpica/files/acpica-unix2-%{version}.tar.gz -Source1: https://acpica.org/sites/acpica/files/acpitests-unix-%{version}.tar.gz +ExcludeArch: i686 armv7hl s390x + +Source0: https://github.com/acpica/acpica/releases/download/%{version}/acpica-unix2-%{version}.tar.gz +Source1: https://github.com/acpica/acpica/releases/download/%{version}/acpitests-unix-%{version}.tar.gz Source2: README.Fedora Source3: iasl.1 Source4: acpibin.1 Source5: acpidump.1 Source6: acpiexec.1 Source7: acpihelp.1 -Source8: acpinames.1 Source9: acpisrc.1 Source10: acpixtract.1 Source11: acpiexamples.1 @@ -24,25 +26,18 @@ Source14: converterSample.asl.result Source15: run-misc-tests.sh Source16: COPYING -Patch0: big-endian.patch -Patch1: unaligned.patch -Patch2: OPT_LDFLAGS.patch -Patch3: int-format.patch -Patch4: f23-harden.patch -Patch5: template.patch -Patch6: ppc64le.patch -Patch7: arm7hl.patch -Patch8: big-endian-v2.patch -Patch9: simple-64bit.patch -Patch10: mips-be-fix.patch -Patch11: cve-2017-13693.patch -Patch12: cve-2017-13694.patch -Patch13: cve-2017-13695.patch -Patch14: str-trunc-warn.patch -Patch15: ptr-cast.patch -Patch16: aslcodegen.patch -Patch17: facp.patch +# other miscellaneous patches +Patch00: unaligned.patch +Patch01: template.patch +Patch04: cve-2017-13695.patch +Patch05: str-trunc-warn.patch +Patch06: dbtest.patch +Patch07: dangling-ptr.patch +Patch08: uuid-len.patch +#Patch11: 0002-Correct-dumping-of-SLIC-tables.patch +#Patch12: 0003-PHAT-FW-health-table-can-be-zero-length.patch +BuildRequires: make BuildRequires: bison patchutils flex gcc # The previous iasl package contained only a very small subset of these tools @@ -79,7 +74,6 @@ are installed: -- acpidump: write out the current contents of ACPI tables -- acpiexec: simulate AML execution in order to debug method definitions -- acpihelp: display help messages describing ASL keywords and op-codes - -- acpinames: display complete ACPI name space from input AML -- acpisrc: manipulate the ACPICA source tree and format source files for specific environments -- acpixtract: extract binary ACPI tables from acpidump output (see @@ -91,26 +85,7 @@ This version of the tools is being released under GPLv2 license. %setup -q -n acpica-unix2-%{version} gzip -dc %{SOURCE1} | tar -x --strip-components=1 -f - -%patch0 -p1 -b .big-endian -%patch1 -p1 -b .unaligned -%patch2 -p1 -b .OPT_LDFLAGS -%patch3 -p1 -b .int-format -%patch4 -p1 -b .f23-harden -# do not preserve a backup for this patch; it alters the results -# of the template test case and forces it to fail -%patch5 -p1 -%patch6 -p1 -b .ppc64le -%patch7 -p1 -b .arm7hl -%patch8 -p1 -b .big-endian-v2 -%patch9 -p1 -b .simple-64bit -%patch10 -p1 -b .mips-be-fix -%patch11 -p1 -b .cve-2017-13693 -%patch12 -p1 -b .cve-2017-13694 -%patch13 -p1 -b .cve-2017-13695 -%patch14 -p1 -b .str-trunc-warn -%patch15 -p1 -b .ptr-cast -%patch16 -p1 -b .aslcodegen -%patch17 -p1 -b .facp +%autopatch -p1 cp -p %{SOURCE2} README.Fedora cp -p %{SOURCE3} iasl.1 @@ -118,7 +93,6 @@ cp -p %{SOURCE4} acpibin.1 cp -p %{SOURCE5} acpidump.1 cp -p %{SOURCE6} acpiexec.1 cp -p %{SOURCE7} acpihelp.1 -cp -p %{SOURCE8} acpinames.1 cp -p %{SOURCE9} acpisrc.1 cp -p %{SOURCE10} acpixtract.1 cp -p %{SOURCE11} acpiexamples.1 @@ -171,7 +145,7 @@ OPT_LDFLAGS="%{__global_ldflags}" export OPT_CFLAGS export OPT_LDFLAGS -make +%{make_build} %install @@ -195,19 +169,7 @@ cd tests [ $? -eq 0 ] || exit 1 # misc tests -./run-misc-tests.sh %{buildroot}%{_bindir} %{version} - -# Template tests -cd templates -make -if [ -f diff.log ] -then - if [ -s diff.log ] - then - exit 1 # implies errors occurred - fi -fi -cd .. +#./run-misc-tests.sh %{buildroot}%{_bindir} %{version} %pre if [ -e %{_bindir}/acpixtract-acpica ] @@ -239,6 +201,169 @@ fi %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 20251212-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Mon Dec 15 2025 Gwyn Ciesla - 20251212-1 +- 20251212 + +* Fri Aug 15 2025 Gwyn Ciesla - 20250807-1 +- 20250807 + +* Wed Jul 23 2025 Fedora Release Engineering - 20240322-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jan 16 2025 Fedora Release Engineering - 20240322-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Mon Aug 12 2024 Al Stone - 20240322-1 +- Update source tree to 20240322 version from upstream. NB: this update + is done in conjunction with removing s390x support due to the large + number of patches that are now rendered obsolete. Closes BZ#2138250. +- Note, too, that the upstream version of the tarball is missing two + commits and has the wrong name; discussed this with upstream and + included a patch with the two commits to correct this, and renamed + the tarballs to try to maintain consistency. So, upstream is actually + named version 20240321, but it should be 20240322 according to their + own git tree (see tag G20240322 on github). +- Removed executable bit from all the upstream source files +- Remove big-endian support, aka s390x. Closes BZ#2298855. +- Remove several 32-bit only patches that are also obsolete since they + are for unsupported architectures (thanks to pbonzini and PR#5). +- Remove PIE patches since that is currently the default (again, thanks + to pbonzini and PR#5) + +* Mon Jul 29 2024 Miroslav Suchý - 20220331-10 +- convert license to SPDX + +* Wed Jul 17 2024 Fedora Release Engineering - 20220331-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 20220331-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 20220331-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 20220331-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jan 18 2023 Fedora Release Engineering - 20220331-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 20220331-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sun Apr 3 2022 Al Stone - 20220331-3 +- Correct typo in ExcludeArch syntax + +* Sun Apr 3 2022 Al Stone - 20220331-2 +- Stop building 32-bit architecture (i686 and armv7hl); they have been + deprecated in Fedora + +* Sun Apr 3 2022 Al Stone - 20220331-1 +- Update to 20220331 upstream source. Bring all the patches up to date. +- Update the results of misc test cases. +- Add in big-endian patches for PRMT, RGRT and SVKL tables (thanks, Dean!) + +* Mon Mar 28 2022 Al Stone - 20211217-2 +- Stop building i686; it is the only Arch that stumbles across a problem + in using varargs but since the Arch has been essentially deprecated, + take this as an opportunity to finally drop support for it. + +* Fri Mar 18 2022 Al Stone - 20211217-1 +- Update to 20211217 upstream source. Bring all the patches up to date. +- Rawhide use of GCC 12 introduces a new check for dangling pointers which + causes non-portable code in utdebug.c stack functions to not compile; add + a patch to disable -Wdangling-pointer=2 for the specific functions +- The AeRegionHandler() code in acpiexec call a UUID function with a buffer + too small for the UUID output string; add a patch to correct this. + +* Wed Jan 19 2022 Fedora Release Engineering - 20210604-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Oct 4 2021 Al Stone - 20210730-1 +- Update to 20210730 upstream source. Bring all the patches up to date. + +* Tue Jul 27 2021 Al Stone - 20210604-3 +- Running 'iasl -T all' would segfault when dumping the PHAT template; + fixed AcpiDmDumpPhat() by removing unnecessary assignments from patch +- Borrowed a patch from upstream to fix Unicode usage in WPBTs + +* Wed Jul 21 2021 Fedora Release Engineering - 20210604-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sun Jul 11 2021 Al Stone - 20210604-1 +- Update to 20210604 source tree (please note that tarballs for versions + between 20200925 and 20210604 have been uploaded for archival reasons + but no packaged version of these has been commited to the Fedora project) +- Bring the big-endian patches up-to-date with what has been submitted + upstream (not accepted currently). + +* Mon Jan 25 2021 Fedora Release Engineering - 20200925-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Oct 19 2020 Al Stone - 20200925-1 +- Update to 20200925 source tree +- Completely revamp the old big-endian patches (maintainability was the goal). + This results in a much larger patch set, but each patch is more clearly used + for a specific purpose. +- The acpinames command has been deprecated upstream; acpiexec provides + replacement functionality. + +* Fri Jul 31 2020 Fedora Release Engineering - 20200430-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 20200430-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jun 8 2020 Al Stone - 202004306-1 +- Update to 202004306 source tree, including patch refreshes + +* Wed Apr 1 2020 Al Stone - 20200326-1 +- Update to 20200326 source tree, including patch refreshes +- Removed a couple of patches that got included upstream + +* Wed Feb 26 2020 Al Stone - 20200214-1 +- Update to 20200214 source tree, including patch refreshes +- Add patch to fix up issues where strings and 4-byte quantities + get interchanged; C strings want to be null terminated now, but + AML does not so using strncpy is painful. +- Add patch for s390x specific issue (dbtest), where initializing a + string on the stack behaves a little differently +- "PCC" is a defined Register() type, but "PlatformCommChannel" was + being used instead; put it back to "PCC" as it should be in pcc.patch +- Add another big-endian patch to compensate for changes to nsutils.c + +* Mon Feb 24 2020 Al Stone - 20200110-1 +- Update to 20200110 source tree, including patch refreshes + +* Sun Feb 23 2020 Al Stone - 20191213-1 +- Update to 20191213 source tree, including patch refeshes. +- badexit patch no longer needed, so removed +- GCC10 enforces -fno-common now, catching multiple places where linkage + is not explicitly stated; added a patch to resolve the linker errors + +* Sun Feb 23 2020 Al Stone - 20191018-2 +- Upstream does not build from source -- this release not pushed into + the archives and noted here just for record keeping + +* Tue Jan 28 2020 Fedora Release Engineering - 20190816-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Nov 23 2019 Al Stone - 20191018-1 +- Update to 20191019 source tree, including patch refeshes. + +* Tue Oct 29 2019 Al Stone - 20190816-1 +- Update to 20190816 source tree, including patch refeshes. +- Add a patch to fix a non-zero exit from iasl -T ALL that actually succeeds +- Remove the "template" tests; they have been subsumed by aslts.sh as they + should be + +* Thu Oct 24 2019 Al Stone - 20190703-1 +- Update to 20190703 source tree, including patch refeshes. + * Wed Jul 24 2019 Fedora Release Engineering - 20190509-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/acpinames.1 b/acpinames.1 deleted file mode 100644 index 315d235..0000000 --- a/acpinames.1 +++ /dev/null @@ -1,49 +0,0 @@ -.\" First parameter, NAME, should be all caps -.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection -.\" other parameters are allowed: see man(7), man(1) -.TH ACPINAMES 1 "January 23, 2013" -.\" Please adjust this date whenever revising the manpage. -.\" -.\" Some roff macros, for reference: -.\" .nh disable hyphenation -.\" .hy enable hyphenation -.\" .ad l left justify -.\" .ad b justify to both left and right margins -.\" .nf disable filling -.\" .fi enable filling -.\" .br insert line break -.\" .sp insert n+1 empty lines -.\" for manpage-specific macros, see man(7) -.SH NAME -acpinames \- ACPI name space dump utility -.SH SYNOPSIS -.B acpinames -.RI