meson: use 0|1 for SD_BOOT
We converted to not using #ifdef for most of our defines because the syntax is nicer and we are protected against typos and can set -Werror=undef. Let's do the same for SD_BOOT. The define is nicely hidden in build.h for normal builds, and for EFI builds we were already setting SD_BOOT on the commandline.
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
|
||||
#include "efi-string.h"
|
||||
|
||||
#ifdef SD_BOOT
|
||||
#if SD_BOOT
|
||||
# include "util.h"
|
||||
#else
|
||||
# include <stdlib.h>
|
||||
@@ -378,7 +378,7 @@ bool efi_fnmatch(const char16_t *pattern, const char16_t *haystack) {
|
||||
DEFINE_PARSE_NUMBER(char, parse_number8);
|
||||
DEFINE_PARSE_NUMBER(char16_t, parse_number16);
|
||||
|
||||
#ifdef SD_BOOT
|
||||
#if SD_BOOT
|
||||
/* To provide the actual implementation for these we need to remove the redirection to the builtins. */
|
||||
# undef memcmp
|
||||
# undef memcpy
|
||||
@@ -414,7 +414,7 @@ _used_ _weak_ void *memcpy(void * restrict dest, const void * restrict src, size
|
||||
if (!dest || !src || n == 0)
|
||||
return dest;
|
||||
|
||||
#ifdef SD_BOOT
|
||||
#if SD_BOOT
|
||||
/* The firmware-provided memcpy is likely optimized, so use that. The function is guaranteed to be
|
||||
* available by the UEFI spec. We still make it depend on the boot services pointer being set just in
|
||||
* case the compiler emits a call before it is available. */
|
||||
@@ -441,7 +441,7 @@ _used_ _weak_ void *memset(void *p, int c, size_t n) {
|
||||
if (!p || n == 0)
|
||||
return p;
|
||||
|
||||
#ifdef SD_BOOT
|
||||
#if SD_BOOT
|
||||
/* See comment in efi_memcpy. Note that the signature has c and n swapped! */
|
||||
if (_likely_(BS)) {
|
||||
BS->SetMem(p, n, c);
|
||||
|
||||
@@ -109,7 +109,7 @@ bool efi_fnmatch(const char16_t *pattern, const char16_t *haystack);
|
||||
bool parse_number8(const char *s, uint64_t *ret_u, const char **ret_tail);
|
||||
bool parse_number16(const char16_t *s, uint64_t *ret_u, const char16_t **ret_tail);
|
||||
|
||||
#ifdef SD_BOOT
|
||||
#if SD_BOOT
|
||||
/* The compiler normally has knowledge about standard functions such as memcmp, but this is not the case when
|
||||
* compiling with -ffreestanding. By referring to builtins, the compiler can check arguments and do
|
||||
* optimizations again. Note that we still need to provide implementations as the compiler is free to not
|
||||
|
||||
@@ -175,7 +175,7 @@ efi_config_h = configure_file(
|
||||
|
||||
efi_cflags = [
|
||||
'-DGNU_EFI_USE_MS_ABI',
|
||||
'-DSD_BOOT',
|
||||
'-DSD_BOOT=1',
|
||||
'-ffreestanding',
|
||||
'-fshort-wchar',
|
||||
'-fvisibility=hidden',
|
||||
|
||||
Reference in New Issue
Block a user