acpica-tools/dbtest.patch
Al Stone 1b78585135 Update to 20240322 and remove support for big-endian architectures
As s390x was the only one remaining, it has now been excluded.  This
was best done with an update of the source tree to match upstream.
This is turn caused additional patch updates.

With s390x gone, all of the big-endian patches can be removed,
simplifying things enormously.  This is the biggest change.

Several other patches that are no longer needed due to changes
in Fedora builds (ld flags, for example), or that are no longer needed
(such as armv7) have also been removed.

Added three new patches to fix problems with dumping various
tables, and removed all the remaining patches that no longer
serve a purpose.

Thanks to the contributors for PR#4 and PR#5 for the suggestions.
These have all been incorporated even if they are not in exactly
the same form.

Signed-off-by: Al Stone <ahs3@ahs3.net>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2024-11-06 14:09:43 +01:00

41 lines
1.6 KiB
Diff

On s390, GCC does not like the string initialization in this case. When
ValueToWrite is initialized this way, GCC tries to copy the entire string
into an ACPI_OBJECT instead of just the pointer (see the use in the call
to memcpy()). So, move the init so GCC recognizes that ValueToWrite is
only a pointer, and not a whole string that needs to be moved.
Index: acpica-unix2-20240321/source/components/debugger/dbtest.c
===================================================================
--- acpica-unix2-20240321.orig/source/components/debugger/dbtest.c
+++ acpica-unix2-20240321/source/components/debugger/dbtest.c
@@ -719,9 +719,10 @@ AcpiDbTestStringType (
ACPI_OBJECT *Temp1 = NULL;
ACPI_OBJECT *Temp2 = NULL;
ACPI_OBJECT *Temp3 = NULL;
- char *ValueToWrite = "Test String from AML Debugger";
+ char *ValueToWrite = NULL;
ACPI_OBJECT WriteValue;
ACPI_STATUS Status;
+ const char *TestStr = "Test String from AML Debugger";
/* Read the original value */
@@ -737,6 +738,9 @@ AcpiDbTestStringType (
/* Write a new value */
+ ValueToWrite = AcpiOsAllocateZeroed(strlen(TestStr)+1);
+ strncpy(ValueToWrite, TestStr, strlen(TestStr)+1);
+
WriteValue.Type = ACPI_TYPE_STRING;
WriteValue.String.Length = strlen (ValueToWrite);
WriteValue.String.Pointer = ValueToWrite;
@@ -790,6 +794,7 @@ Exit:
if (Temp1) {AcpiOsFree (Temp1);}
if (Temp2) {AcpiOsFree (Temp2);}
if (Temp3) {AcpiOsFree (Temp3);}
+ if (ValueToWrite) {AcpiOsFree (ValueToWrite);}
return (Status);
}