Hi,

> Buildsystem-wise, we are ready now. We just need to append
> -mgeneraly-regs-only on modern gcc (e.g. with Debian 11) to ensure that

Typo, it's mgeneral-regs-only and not mgeneral*y*-regs-only.


> no unsupported FPU instructions get used. We also want to suppress the
> for us meaningless warnings about mismatching wchar sizes - we do not
> use any of the functions (from the compiler runtime) that triggers this.
> 
> Signed-off-by: Jan Kiszka <[email protected]>
> ---
>  Makefile.am             | 12 ++++++++++++
>  configure.ac            |  9 +++++++++
>  tools/tests/Makefile.am |  4 ++++
>  3 files changed, 25 insertions(+)
> 
> diff --git a/Makefile.am b/Makefile.am
> index 8d550ff..856908f 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -110,6 +110,10 @@ lib_LTLIBRARIES = libebgenv.la
>  libebgenv_la_SOURCES = $(libebgenv_a_SOURCES)
>  libebgenv_la_LDFLAGS = -version-info 0:0:0
>  
> +if ARCH_ARM
> +libebgenv_la_LDFLAGS += -Wl,--no-wchar-size-warning
> +endif
> +
>  #
>  # bg_setenv binary
>  #
> @@ -124,6 +128,10 @@ bg_setenv_SOURCES = \
>  bg_setenv_CFLAGS = \
>       $(AM_CFLAGS) -static
>  
> +if ARCH_ARM
> +bg_setenv_LDFLAGS = -Wl,--no-wchar-size-warning
> +endif
> +
>  bg_setenv_LDADD = \
>       $(top_builddir)/libebgenv.a \
>       -lz
> @@ -208,6 +216,10 @@ efi_cflags += \
>       -mno-mmx \
>       -mno-red-zone
>  endif
> +if ARCH_ARM
> +efi_cflags += \
> +     $(CFLAGS_MGENERAL_REGS_ONLY)
> +endif
>  
>  efi_ldflags = \
>       -T $(GNUEFI_LIB_DIR)/elf_$(ARCH)_efi.lds \
> diff --git a/configure.ac b/configure.ac
> index 0f079bb..d39b5fa 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -86,6 +86,7 @@ SET_ARCH(I586, i586*|i686*)
>  SET_ARCH(X86_64, x86_64*)
>  SET_ARCH(IA64, ia64*)
>  SET_ARCH(AARCH64, aarch64*)
> +SET_ARCH(ARM, arm*)
>  
>  ARCH=$(echo $host | sed "s/\(-\).*$//")
>  
> @@ -99,10 +100,18 @@ AM_COND_IF(ARCH_X86_64, [
>  AM_COND_IF(ARCH_AARCH64, [
>          MACHINE_TYPE_NAME=aa64])
>  
> +AM_COND_IF(ARCH_ARM, [
> +        MACHINE_TYPE_NAME=arm])
> +
>  AC_SUBST([ARCH])
>  AC_SUBST([MACHINE_TYPE_NAME])
>  AM_CONDITIONAL([ARCH_IS_X86], [test "$ARCH" = "ia32" -o "$ARCH" = "x86_64"])
>  
> +AX_CHECK_COMPILE_FLAG([-mgeneral-regs-only],
> +     [CFLAGS_MGENERAL_REGS_ONLY=-mgeneral-regs-only],
> +     [CFLAGS_MGENERAL_REGS_ONLY=])
> +AC_SUBST([CFLAGS_MGENERAL_REGS_ONLY])
> +
>  # Checks from autoscan:
>  AC_CHECK_FUNCS([getmntent])
>  AC_CHECK_FUNCS([memset])
> diff --git a/tools/tests/Makefile.am b/tools/tests/Makefile.am
> index 78c5d54..3947ab5 100644
> --- a/tools/tests/Makefile.am
> +++ b/tools/tests/Makefile.am
> @@ -29,6 +29,10 @@ AM_CFLAGS = \
>       -D_GNU_SOURCE \
>       -g
>  
> +if ARCH_ARM
> +AM_LDFLAGS = -Wl,--no-wchar-size-warning
> +endif
> +
>  libtest_env_api_fat_a_SRC = \
>       ../../env/env_api.c \
>       ../../env/env_api_fat.c \
> -- 
> 2.35.3
> 


Kind regards,
   Christian

-- 
Dr. Christian Storm
Siemens AG, Technology, T CED SES-DE
Otto-Hahn-Ring 6, 81739 München, Germany

-- 
You received this message because you are subscribed to the Google Groups "EFI 
Boot Guard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/efibootguard-dev/20220701114313.6o6ry4zvjpj2bcbg%40MD1ZFJVC.ad001.siemens.net.

Reply via email to