summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmese Revfy <re.emese@gmail.com>2016-12-21 16:12:03 +0800
committerLv Zheng <lv.zheng@intel.com>2016-12-21 16:12:03 +0800
commitafe4a18acf8acf59862f3a96327d0232eb75f974 (patch)
tree4ecdb55193958512d0ad8bbdc16b6681a9e7f06d
parent86c2065d7d1e28889c67a43d6631cb3f2c3ed2cc (diff)
downloadacpica-afe4a18acf8acf59862f3a96327d0232eb75f974.tar.gz
Utilities: Fix format string type mistakes
This adds the missing ACPI_PRINTF_LIKE attribute which allows compile time format string checking (and will be used by the coming initify gcc plugin). Additionally, this fixes the warnings exposed by the attribute. Original by Emese Revfy and Kees Cook, Ported by Lv Zheng. Signed-off-by: Emese Revfy <re.emese@gmail.com> Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Lv Zheng <lv.zheng@intel.com>
-rw-r--r--source/common/dmtbdump.c2
-rw-r--r--source/compiler/aslascii.c4
-rw-r--r--source/components/debugger/dbhistry.c2
-rw-r--r--source/components/debugger/dbinput.c10
-rw-r--r--source/components/debugger/dbstats.c88
-rw-r--r--source/components/utilities/utdebug.c4
-rw-r--r--source/include/acpiosxf.h1
-rw-r--r--source/tools/acpiexec/aeexec.c4
-rw-r--r--source/tools/acpiexec/aeregion.c16
-rw-r--r--source/tools/examples/examples.c4
10 files changed, 68 insertions, 67 deletions
diff --git a/source/common/dmtbdump.c b/source/common/dmtbdump.c
index ae4827656..9cb0430f6 100644
--- a/source/common/dmtbdump.c
+++ b/source/common/dmtbdump.c
@@ -2450,7 +2450,7 @@ AcpiDmDumpMcfg (
{
if (Offset + sizeof (ACPI_MCFG_ALLOCATION) > Table->Length)
{
- AcpiOsPrintf ("Warning: there are %u invalid trailing bytes\n",
+ AcpiOsPrintf ("Warning: there are %lu invalid trailing bytes\n",
sizeof (ACPI_MCFG_ALLOCATION) - (Offset - Table->Length));
return;
}
diff --git a/source/compiler/aslascii.c b/source/compiler/aslascii.c
index daf4dcfeb..aa9baa0ec 100644
--- a/source/compiler/aslascii.c
+++ b/source/compiler/aslascii.c
@@ -252,8 +252,8 @@ FlIsFileAsciiSource (
if (DisplayErrors)
{
AcpiOsPrintf (
- "Total %u invalid characters found in input source text, "
- "could be a binary file\n", BadBytes);
+ "Total %lu invalid characters found in input source text, "
+ "could be a binary file\n", (UINT64) BadBytes);
AslError (ASL_ERROR, ASL_MSG_NON_ASCII, NULL, Filename);
}
diff --git a/source/components/debugger/dbhistry.c b/source/components/debugger/dbhistry.c
index a8a1eba13..0274e370a 100644
--- a/source/components/debugger/dbhistry.c
+++ b/source/components/debugger/dbhistry.c
@@ -248,7 +248,7 @@ AcpiDbDisplayHistory (
{
if (AcpiGbl_HistoryBuffer[HistoryIndex].Command)
{
- AcpiOsPrintf ("%3ld %s\n",
+ AcpiOsPrintf ("%3u %s\n",
AcpiGbl_HistoryBuffer[HistoryIndex].CmdNum,
AcpiGbl_HistoryBuffer[HistoryIndex].Command);
}
diff --git a/source/components/debugger/dbinput.c b/source/components/debugger/dbinput.c
index 6bcb84be5..ffa2e5839 100644
--- a/source/components/debugger/dbinput.c
+++ b/source/components/debugger/dbinput.c
@@ -731,7 +731,7 @@ AcpiDbGetLine (
InputBuffer))
{
AcpiOsPrintf (
- "Buffer overflow while parsing input line (max %u characters)\n",
+ "Buffer overflow while parsing input line (max %lu characters)\n",
sizeof (AcpiGbl_DbParsedBuf));
return (0);
}
@@ -1003,10 +1003,10 @@ AcpiDbCommandDispatch (
if (ParamCount == 0)
{
AcpiOsPrintf (
- "Current debug level for file output is: %8.8lX\n",
+ "Current debug level for file output is: %8.8X\n",
AcpiGbl_DbDebugLevel);
AcpiOsPrintf (
- "Current debug level for console output is: %8.8lX\n",
+ "Current debug level for console output is: %8.8X\n",
AcpiGbl_DbConsoleDebugLevel);
}
else if (ParamCount == 2)
@@ -1015,7 +1015,7 @@ AcpiDbCommandDispatch (
AcpiGbl_DbConsoleDebugLevel =
strtoul (AcpiGbl_DbArgs[1], NULL, 16);
AcpiOsPrintf (
- "Debug Level for console output was %8.8lX, now %8.8lX\n",
+ "Debug Level for console output was %8.8X, now %8.8X\n",
Temp, AcpiGbl_DbConsoleDebugLevel);
}
else
@@ -1023,7 +1023,7 @@ AcpiDbCommandDispatch (
Temp = AcpiGbl_DbDebugLevel;
AcpiGbl_DbDebugLevel = strtoul (AcpiGbl_DbArgs[1], NULL, 16);
AcpiOsPrintf (
- "Debug Level for file output was %8.8lX, now %8.8lX\n",
+ "Debug Level for file output was %8.8X, now %8.8X\n",
Temp, AcpiGbl_DbDebugLevel);
}
break;
diff --git a/source/components/debugger/dbstats.c b/source/components/debugger/dbstats.c
index 94d3bd552..9f02bdab3 100644
--- a/source/components/debugger/dbstats.c
+++ b/source/components/debugger/dbstats.c
@@ -508,14 +508,14 @@ AcpiDbDisplayStatistics (
for (i = 0; i < ACPI_TYPE_NS_NODE_MAX; i++)
{
- AcpiOsPrintf ("%16.16s % 10ld% 10ld\n", AcpiUtGetTypeName (i),
+ AcpiOsPrintf ("%16.16s % 10d% 10d\n", AcpiUtGetTypeName (i),
AcpiGbl_NodeTypeCount [i], AcpiGbl_ObjTypeCount [i]);
}
- AcpiOsPrintf ("%16.16s % 10ld% 10ld\n", "Misc/Unknown",
+ AcpiOsPrintf ("%16.16s % 10d% 10d\n", "Misc/Unknown",
AcpiGbl_NodeTypeCountMisc, AcpiGbl_ObjTypeCountMisc);
- AcpiOsPrintf ("%16.16s % 10ld% 10ld\n", "TOTALS:",
+ AcpiOsPrintf ("%16.16s % 10d% 10d\n", "TOTALS:",
AcpiGbl_NumNodes, AcpiGbl_NumObjects);
break;
@@ -541,9 +541,9 @@ AcpiDbDisplayStatistics (
case CMD_STAT_MISC:
AcpiOsPrintf ("\nMiscellaneous Statistics:\n\n");
- AcpiOsPrintf ("Calls to AcpiPsFind:.. ........% 7ld\n",
+ AcpiOsPrintf ("Calls to AcpiPsFind:.. ........% 7d\n",
AcpiGbl_PsFindCount);
- AcpiOsPrintf ("Calls to AcpiNsLookup:..........% 7ld\n",
+ AcpiOsPrintf ("Calls to AcpiNsLookup:..........% 7d\n",
AcpiGbl_NsLookupCount);
AcpiOsPrintf ("\n");
@@ -551,7 +551,7 @@ AcpiDbDisplayStatistics (
AcpiOsPrintf ("Mutex usage:\n\n");
for (i = 0; i < ACPI_NUM_MUTEX; i++)
{
- AcpiOsPrintf ("%-28s: % 7ld\n",
+ AcpiOsPrintf ("%-28s: % 7d\n",
AcpiUtGetMutexName (i), AcpiGbl_MutexInfo[i].UseCount);
}
break;
@@ -560,50 +560,50 @@ AcpiDbDisplayStatistics (
AcpiOsPrintf ("\nInternal object sizes:\n\n");
- AcpiOsPrintf ("Common %3d\n", sizeof (ACPI_OBJECT_COMMON));
- AcpiOsPrintf ("Number %3d\n", sizeof (ACPI_OBJECT_INTEGER));
- AcpiOsPrintf ("String %3d\n", sizeof (ACPI_OBJECT_STRING));
- AcpiOsPrintf ("Buffer %3d\n", sizeof (ACPI_OBJECT_BUFFER));
- AcpiOsPrintf ("Package %3d\n", sizeof (ACPI_OBJECT_PACKAGE));
- AcpiOsPrintf ("BufferField %3d\n", sizeof (ACPI_OBJECT_BUFFER_FIELD));
- AcpiOsPrintf ("Device %3d\n", sizeof (ACPI_OBJECT_DEVICE));
- AcpiOsPrintf ("Event %3d\n", sizeof (ACPI_OBJECT_EVENT));
- AcpiOsPrintf ("Method %3d\n", sizeof (ACPI_OBJECT_METHOD));
- AcpiOsPrintf ("Mutex %3d\n", sizeof (ACPI_OBJECT_MUTEX));
- AcpiOsPrintf ("Region %3d\n", sizeof (ACPI_OBJECT_REGION));
- AcpiOsPrintf ("PowerResource %3d\n", sizeof (ACPI_OBJECT_POWER_RESOURCE));
- AcpiOsPrintf ("Processor %3d\n", sizeof (ACPI_OBJECT_PROCESSOR));
- AcpiOsPrintf ("ThermalZone %3d\n", sizeof (ACPI_OBJECT_THERMAL_ZONE));
- AcpiOsPrintf ("RegionField %3d\n", sizeof (ACPI_OBJECT_REGION_FIELD));
- AcpiOsPrintf ("BankField %3d\n", sizeof (ACPI_OBJECT_BANK_FIELD));
- AcpiOsPrintf ("IndexField %3d\n", sizeof (ACPI_OBJECT_INDEX_FIELD));
- AcpiOsPrintf ("Reference %3d\n", sizeof (ACPI_OBJECT_REFERENCE));
- AcpiOsPrintf ("Notify %3d\n", sizeof (ACPI_OBJECT_NOTIFY_HANDLER));
- AcpiOsPrintf ("AddressSpace %3d\n", sizeof (ACPI_OBJECT_ADDR_HANDLER));
- AcpiOsPrintf ("Extra %3d\n", sizeof (ACPI_OBJECT_EXTRA));
- AcpiOsPrintf ("Data %3d\n", sizeof (ACPI_OBJECT_DATA));
+ AcpiOsPrintf ("Common %3ld\n", sizeof (ACPI_OBJECT_COMMON));
+ AcpiOsPrintf ("Number %3ld\n", sizeof (ACPI_OBJECT_INTEGER));
+ AcpiOsPrintf ("String %3ld\n", sizeof (ACPI_OBJECT_STRING));
+ AcpiOsPrintf ("Buffer %3ld\n", sizeof (ACPI_OBJECT_BUFFER));
+ AcpiOsPrintf ("Package %3ld\n", sizeof (ACPI_OBJECT_PACKAGE));
+ AcpiOsPrintf ("BufferField %3ld\n", sizeof (ACPI_OBJECT_BUFFER_FIELD));
+ AcpiOsPrintf ("Device %3ld\n", sizeof (ACPI_OBJECT_DEVICE));
+ AcpiOsPrintf ("Event %3ld\n", sizeof (ACPI_OBJECT_EVENT));
+ AcpiOsPrintf ("Method %3ld\n", sizeof (ACPI_OBJECT_METHOD));
+ AcpiOsPrintf ("Mutex %3ld\n", sizeof (ACPI_OBJECT_MUTEX));
+ AcpiOsPrintf ("Region %3ld\n", sizeof (ACPI_OBJECT_REGION));
+ AcpiOsPrintf ("PowerResource %3ld\n", sizeof (ACPI_OBJECT_POWER_RESOURCE));
+ AcpiOsPrintf ("Processor %3ld\n", sizeof (ACPI_OBJECT_PROCESSOR));
+ AcpiOsPrintf ("ThermalZone %3ld\n", sizeof (ACPI_OBJECT_THERMAL_ZONE));
+ AcpiOsPrintf ("RegionField %3ld\n", sizeof (ACPI_OBJECT_REGION_FIELD));
+ AcpiOsPrintf ("BankField %3ld\n", sizeof (ACPI_OBJECT_BANK_FIELD));
+ AcpiOsPrintf ("IndexField %3ld\n", sizeof (ACPI_OBJECT_INDEX_FIELD));
+ AcpiOsPrintf ("Reference %3ld\n", sizeof (ACPI_OBJECT_REFERENCE));
+ AcpiOsPrintf ("Notify %3ld\n", sizeof (ACPI_OBJECT_NOTIFY_HANDLER));
+ AcpiOsPrintf ("AddressSpace %3ld\n", sizeof (ACPI_OBJECT_ADDR_HANDLER));
+ AcpiOsPrintf ("Extra %3ld\n", sizeof (ACPI_OBJECT_EXTRA));
+ AcpiOsPrintf ("Data %3ld\n", sizeof (ACPI_OBJECT_DATA));
AcpiOsPrintf ("\n");
- AcpiOsPrintf ("ParseObject %3d\n", sizeof (ACPI_PARSE_OBJ_COMMON));
- AcpiOsPrintf ("ParseObjectNamed %3d\n", sizeof (ACPI_PARSE_OBJ_NAMED));
- AcpiOsPrintf ("ParseObjectAsl %3d\n", sizeof (ACPI_PARSE_OBJ_ASL));
- AcpiOsPrintf ("OperandObject %3d\n", sizeof (ACPI_OPERAND_OBJECT));
- AcpiOsPrintf ("NamespaceNode %3d\n", sizeof (ACPI_NAMESPACE_NODE));
- AcpiOsPrintf ("AcpiObject %3d\n", sizeof (ACPI_OBJECT));
+ AcpiOsPrintf ("ParseObject %3ld\n", sizeof (ACPI_PARSE_OBJ_COMMON));
+ AcpiOsPrintf ("ParseObjectNamed %3ld\n", sizeof (ACPI_PARSE_OBJ_NAMED));
+ AcpiOsPrintf ("ParseObjectAsl %3ld\n", sizeof (ACPI_PARSE_OBJ_ASL));
+ AcpiOsPrintf ("OperandObject %3ld\n", sizeof (ACPI_OPERAND_OBJECT));
+ AcpiOsPrintf ("NamespaceNode %3ld\n", sizeof (ACPI_NAMESPACE_NODE));
+ AcpiOsPrintf ("AcpiObject %3ld\n", sizeof (ACPI_OBJECT));
AcpiOsPrintf ("\n");
- AcpiOsPrintf ("Generic State %3d\n", sizeof (ACPI_GENERIC_STATE));
- AcpiOsPrintf ("Common State %3d\n", sizeof (ACPI_COMMON_STATE));
- AcpiOsPrintf ("Control State %3d\n", sizeof (ACPI_CONTROL_STATE));
- AcpiOsPrintf ("Update State %3d\n", sizeof (ACPI_UPDATE_STATE));
- AcpiOsPrintf ("Scope State %3d\n", sizeof (ACPI_SCOPE_STATE));
- AcpiOsPrintf ("Parse Scope %3d\n", sizeof (ACPI_PSCOPE_STATE));
- AcpiOsPrintf ("Package State %3d\n", sizeof (ACPI_PKG_STATE));
- AcpiOsPrintf ("Thread State %3d\n", sizeof (ACPI_THREAD_STATE));
- AcpiOsPrintf ("Result Values %3d\n", sizeof (ACPI_RESULT_VALUES));
- AcpiOsPrintf ("Notify Info %3d\n", sizeof (ACPI_NOTIFY_INFO));
+ AcpiOsPrintf ("Generic State %3ld\n", sizeof (ACPI_GENERIC_STATE));
+ AcpiOsPrintf ("Common State %3ld\n", sizeof (ACPI_COMMON_STATE));
+ AcpiOsPrintf ("Control State %3ld\n", sizeof (ACPI_CONTROL_STATE));
+ AcpiOsPrintf ("Update State %3ld\n", sizeof (ACPI_UPDATE_STATE));
+ AcpiOsPrintf ("Scope State %3ld\n", sizeof (ACPI_SCOPE_STATE));
+ AcpiOsPrintf ("Parse Scope %3ld\n", sizeof (ACPI_PSCOPE_STATE));
+ AcpiOsPrintf ("Package State %3ld\n", sizeof (ACPI_PKG_STATE));
+ AcpiOsPrintf ("Thread State %3ld\n", sizeof (ACPI_THREAD_STATE));
+ AcpiOsPrintf ("Result Values %3ld\n", sizeof (ACPI_RESULT_VALUES));
+ AcpiOsPrintf ("Notify Info %3ld\n", sizeof (ACPI_NOTIFY_INFO));
break;
case CMD_STAT_STACK:
diff --git a/source/components/utilities/utdebug.c b/source/components/utilities/utdebug.c
index 995d45cc3..a19e62886 100644
--- a/source/components/utilities/utdebug.c
+++ b/source/components/utilities/utdebug.c
@@ -284,7 +284,7 @@ AcpiDebugPrint (
* Display the module name, current line number, thread ID (if requested),
* current procedure nesting level, and the current procedure name
*/
- AcpiOsPrintf ("%9s-%04ld ", ModuleName, LineNumber);
+ AcpiOsPrintf ("%9s-%04d ", ModuleName, LineNumber);
#ifdef ACPI_APPLICATION
/*
@@ -298,7 +298,7 @@ AcpiDebugPrint (
AcpiOsPrintf ("[%u] ", (UINT32) ThreadId);
}
- AcpiOsPrintf ("[%02ld] ", AcpiGbl_NestingLevel);
+ AcpiOsPrintf ("[%02d] ", AcpiGbl_NestingLevel);
#endif
AcpiOsPrintf ("%-22.22s: ", AcpiUtTrimFunctionName (FunctionName));
diff --git a/source/include/acpiosxf.h b/source/include/acpiosxf.h
index c4d160685..400a68df3 100644
--- a/source/include/acpiosxf.h
+++ b/source/include/acpiosxf.h
@@ -541,6 +541,7 @@ AcpiOsEnterSleep (
* Debug print routines
*/
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsPrintf
+ACPI_PRINTF_LIKE(1)
void ACPI_INTERNAL_VAR_XFACE
AcpiOsPrintf (
const char *Format,
diff --git a/source/tools/acpiexec/aeexec.c b/source/tools/acpiexec/aeexec.c
index 74da1a656..2cd0138a8 100644
--- a/source/tools/acpiexec/aeexec.c
+++ b/source/tools/acpiexec/aeexec.c
@@ -448,8 +448,8 @@ ExecuteOSI (
if (ReturnValue.Length < sizeof (ACPI_OBJECT))
{
AcpiOsPrintf (
- "Return value from _OSI method too small, %.8X\n",
- ReturnValue.Length);
+ "Return value from _OSI method too small, %.8lX\n",
+ (UINT64) ReturnValue.Length);
goto ErrorExit;
}
diff --git a/source/tools/acpiexec/aeregion.c b/source/tools/acpiexec/aeregion.c
index 4d961a870..1d33b77f8 100644
--- a/source/tools/acpiexec/aeregion.c
+++ b/source/tools/acpiexec/aeregion.c
@@ -650,12 +650,12 @@ AeRegionHandler (
if (AcpiGbl_DisplayRegionAccess)
{
AcpiOsPrintf ("AcpiExec: %s "
- "%s: Attr %X Addr %.4X BaseAddr %.4X Len %.2X Width %X BufLen %X",
+ "%s: Attr %X Addr %.4X BaseAddr %.4X Len %.2lX Width %X BufLen %X",
AcpiUtGetRegionName (SpaceId),
(Function & ACPI_IO_MASK) ? "Write" : "Read ",
(UINT32) (Function >> 16),
(UINT32) Address, (UINT32) BaseAddress,
- Length, BitWidth, Buffer[1]);
+ (UINT64) Length, BitWidth, Buffer[1]);
/* GenericSerialBus has a Connection() parameter */
@@ -687,10 +687,10 @@ AeRegionHandler (
if (AcpiGbl_DisplayRegionAccess)
{
AcpiOsPrintf ("AcpiExec: IPMI "
- "%s: Attr %X Addr %.4X BaseAddr %.4X Len %.2X Width %X BufLen %X\n",
+ "%s: Attr %X Addr %.4X BaseAddr %.4X Len %.2lX Width %X BufLen %X\n",
(Function & ACPI_IO_MASK) ? "Write" : "Read ",
(UINT32) (Function >> 16), (UINT32) Address, (UINT32) BaseAddress,
- Length, BitWidth, Buffer[1]);
+ (UINT64) Length, BitWidth, Buffer[1]);
}
/*
@@ -967,9 +967,9 @@ DoFunction:
case ACPI_ADR_SPACE_SYSTEM_MEMORY:
AcpiOsPrintf ("AcpiExec: SystemMemory "
- "%s: Val %.8X Addr %.4X Width %X [REGION: BaseAddr %.4X Len %.2X]\n",
+ "%s: Val %.8X Addr %.4X Width %X [REGION: BaseAddr %.4X Len %.2lX]\n",
(Function & ACPI_IO_MASK) ? "Write" : "Read ",
- (UINT32) *Value, (UINT32) Address, BitWidth, (UINT32) BaseAddress, Length);
+ (UINT32) *Value, (UINT32) Address, BitWidth, (UINT32) BaseAddress, (UINT64) Length);
break;
case ACPI_ADR_SPACE_GPIO: /* ACPI 5.0 */
@@ -980,9 +980,9 @@ DoFunction:
MyContext->Length, &Resource);
AcpiOsPrintf ("AcpiExec: GeneralPurposeIo "
- "%s: Val %.8X Addr %.4X BaseAddr %.4X Len %.2X Width %X AccLen %.2X Conn %p\n",
+ "%s: Val %.8X Addr %.4X BaseAddr %.4X Len %.2lX Width %X AccLen %.2X Conn %p\n",
(Function & ACPI_IO_MASK) ? "Write" : "Read ", (UINT32) *Value,
- (UINT32) Address, (UINT32) BaseAddress, Length, BitWidth,
+ (UINT32) Address, (UINT32) BaseAddress, (UINT64) Length, BitWidth,
MyContext->AccessLength, MyContext->Connection);
break;
diff --git a/source/tools/examples/examples.c b/source/tools/examples/examples.c
index d9bbe5330..e8b79de06 100644
--- a/source/tools/examples/examples.c
+++ b/source/tools/examples/examples.c
@@ -540,8 +540,8 @@ ExecuteOSI (void)
if (ReturnValue.Length < sizeof (ACPI_OBJECT))
{
- AcpiOsPrintf ("Return value from _OSI method too small, %.8X\n",
- ReturnValue.Length);
+ AcpiOsPrintf ("Return value from _OSI method too small, %.8lX\n",
+ (UINT64) ReturnValue.Length);
goto ErrorExit;
}