Commit da24f31d authored by Lv Zheng's avatar Lv Zheng Committed by Rafael J. Wysocki

ACPICA: Clib: Fix wrong mini C library usage

ACPICA commit 4aab18466b56f3660f27cffd3c0160900737f844

When mini C library is used, we should have the following macros undefined.
The only user should be the EFI applications:
  ACPI_USE_SYSTEM_CLIBRARY=n
  ACPI_USE_STANDARD_HEADERS=n
All other applications uses the compiler specific library:
  ACPI_USE_SYSTEM_CLIBRARY=y
  ACPI_USE_STANDARD_HEADERS=y
Linux/BSD kernels are the kind of hosts providing C library but does not
provide the standard headers:
  ACPI_USE_SYSTEM_CLIBRARY=y
  ACPI_USE_STANDARD_HEADERS=n
But the above logic hasn't been synchronized between the header files.

This patch synchronizes all header files to correct C library usages for
different platforms. This patch moves all ACPI_USE_SYSTEM_CLIRARY and
ACPI_USE_STANDARD_HEADERS to the top most lines of a platform specific
header.

After synchronization, ACPI_USE_SYSTEM_CLIRARY definition can be removed
for ACPI_APPLICATION. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/4aab1846
Link: https://bugs.acpica.org/show_bug.cgi?id=1299Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 5fb3ab84
...@@ -149,7 +149,6 @@ ...@@ -149,7 +149,6 @@
/* Common for all ACPICA applications */ /* Common for all ACPICA applications */
#ifdef ACPI_APPLICATION #ifdef ACPI_APPLICATION
#define ACPI_USE_SYSTEM_CLIBRARY
#define ACPI_USE_LOCAL_CACHE #define ACPI_USE_LOCAL_CACHE
#endif #endif
...@@ -326,7 +325,8 @@ ...@@ -326,7 +325,8 @@
* ACPI_USE_SYSTEM_CLIBRARY - Define this if linking to an actual C library. * ACPI_USE_SYSTEM_CLIBRARY - Define this if linking to an actual C library.
* Otherwise, local versions of string/memory functions will be used. * Otherwise, local versions of string/memory functions will be used.
* ACPI_USE_STANDARD_HEADERS - Define this if linking to a C library and * ACPI_USE_STANDARD_HEADERS - Define this if linking to a C library and
* the standard header files may be used. * the standard header files may be used. Defining this implies that
* ACPI_USE_SYSTEM_CLIBRARY has been defined.
* *
* The ACPICA subsystem only uses low level C library functions that do not * The ACPICA subsystem only uses low level C library functions that do not
* call operating system services and may therefore be inlined in the code. * call operating system services and may therefore be inlined in the code.
...@@ -334,7 +334,6 @@ ...@@ -334,7 +334,6 @@
* It may be necessary to tailor these include files to the target * It may be necessary to tailor these include files to the target
* generation environment. * generation environment.
*/ */
#ifdef ACPI_USE_SYSTEM_CLIBRARY
/* Use the standard C library headers. We want to keep these to a minimum. */ /* Use the standard C library headers. We want to keep these to a minimum. */
...@@ -348,8 +347,6 @@ ...@@ -348,8 +347,6 @@
#endif /* ACPI_USE_STANDARD_HEADERS */ #endif /* ACPI_USE_STANDARD_HEADERS */
#endif /* ACPI_USE_SYSTEM_CLIBRARY */
#ifndef ACPI_FILE #ifndef ACPI_FILE
#ifdef ACPI_APPLICATION #ifdef ACPI_APPLICATION
#include <stdio.h> #include <stdio.h>
......
...@@ -180,10 +180,11 @@ ...@@ -180,10 +180,11 @@
#else /* !__KERNEL__ */ #else /* !__KERNEL__ */
#include <string.h> #define ACPI_USE_STANDARD_HEADERS
#include <stdlib.h>
#include <ctype.h> #ifdef ACPI_USE_STANDARD_HEADERS
#include <unistd.h> #include <unistd.h>
#endif
/* Define/disable kernel-specific declarators */ /* Define/disable kernel-specific declarators */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment