diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/apps/trivial.S gnu-efi-3.0.15/apps/trivial.S --- gnu-efi-3.0.13+git20210716.269ef9d/apps/trivial.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/apps/trivial.S 2022-08-08 15:38:33.000000000 +0000 @@ -41,3 +41,7 @@ hello: .byte 'h',0,'e',0,'l',0,'l',0,'o',0,'\n',0,'\r',0,0,0 #endif + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/debian/changelog gnu-efi-3.0.15/debian/changelog --- gnu-efi-3.0.13+git20210716.269ef9d/debian/changelog 2022-02-08 17:12:16.000000000 +0000 +++ gnu-efi-3.0.15/debian/changelog 2023-03-16 09:45:06.000000000 +0000 @@ -1,8 +1,8 @@ -gnu-efi (3.0.13+git20210716.269ef9d-2ubuntu1) jammy; urgency=medium +gnu-efi (3.0.15-1~22.10.1) kinetic; urgency=medium - * Set NumberOfSymbols to zero in COFF header (LP: #1960340) + * New upstream version 3.0.15 (LP: #2011804) - -- Alfonso Sanchez-Beato Tue, 08 Feb 2022 18:12:16 +0100 + -- Julian Andres Klode Thu, 16 Mar 2023 10:45:06 +0100 gnu-efi (3.0.13+git20210716.269ef9d-2) unstable; urgency=medium diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/debian/control gnu-efi-3.0.15/debian/control --- gnu-efi-3.0.13+git20210716.269ef9d/debian/control 2022-02-08 17:12:16.000000000 +0000 +++ gnu-efi-3.0.15/debian/control 2023-01-27 20:24:25.000000000 +0000 @@ -1,8 +1,7 @@ Source: gnu-efi Section: devel Priority: optional -Maintainer: Ubuntu Developers -XSBC-Original-Maintainer: Debian EFI team +Maintainer: Debian EFI team Uploaders: Julian Andres Klode Build-Depends: debhelper-compat (= 12), diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/debian/patches/0001-Set-NumberOfSymbols-to-zero.patch gnu-efi-3.0.15/debian/patches/0001-Set-NumberOfSymbols-to-zero.patch --- gnu-efi-3.0.13+git20210716.269ef9d/debian/patches/0001-Set-NumberOfSymbols-to-zero.patch 2022-02-08 17:12:16.000000000 +0000 +++ gnu-efi-3.0.15/debian/patches/0001-Set-NumberOfSymbols-to-zero.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,78 +0,0 @@ -From 31a6aab44cf5a2fdaf746caf67cab371f9b748af Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Alfonso=20S=C3=A1nchez-Beato?= - -Date: Wed, 28 Jul 2021 13:50:39 +0200 -Subject: [PATCH] Set NumberOfSymbols to zero - -Acoording to what the spec says about the number of sybols [1]: - -"This value should be zero for an image because COFF debugging -information is deprecated." - -Changing as if not zero it causes problems to llvm-objcopy. This -affects only the architectures where COFF is not supported by objcopy -and where we build the PE header via assembly code. - -[1] https://docs.microsoft.com/en-us/windows/win32/debug/pe-format ---- - gnuefi/crt0-efi-aarch64.S | 2 +- - gnuefi/crt0-efi-arm.S | 2 +- - gnuefi/crt0-efi-mips64el.S | 2 +- - gnuefi/crt0-efi-riscv64.S | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/gnuefi/crt0-efi-aarch64.S b/gnuefi/crt0-efi-aarch64.S -index c300d89..d50e78d 100644 ---- a/gnuefi/crt0-efi-aarch64.S -+++ b/gnuefi/crt0-efi-aarch64.S -@@ -34,7 +34,7 @@ coff_header: - .short 2 // nr_sections - .long 0 // TimeDateStamp - .long 0 // PointerToSymbolTable -- .long 1 // NumberOfSymbols -+ .long 0 // NumberOfSymbols - .short section_table - optional_header // SizeOfOptionalHeader - .short 0x206 // Characteristics. - // IMAGE_FILE_DEBUG_STRIPPED | -diff --git a/gnuefi/crt0-efi-arm.S b/gnuefi/crt0-efi-arm.S -index c5bb6d4..e7e5905 100644 ---- a/gnuefi/crt0-efi-arm.S -+++ b/gnuefi/crt0-efi-arm.S -@@ -34,7 +34,7 @@ coff_header: - .short 2 // nr_sections - .long 0 // TimeDateStamp - .long 0 // PointerToSymbolTable -- .long 1 // NumberOfSymbols -+ .long 0 // NumberOfSymbols - .short section_table - optional_header // SizeOfOptionalHeader - .short 0x306 // Characteristics. - // IMAGE_FILE_32BIT_MACHINE | -diff --git a/gnuefi/crt0-efi-mips64el.S b/gnuefi/crt0-efi-mips64el.S -index 6a62aca..6d26f66 100644 ---- a/gnuefi/crt0-efi-mips64el.S -+++ b/gnuefi/crt0-efi-mips64el.S -@@ -35,7 +35,7 @@ coff_header: - .short 2 // nr_sections - .long 0 // TimeDateStamp - .long 0 // PointerToSymbolTable -- .long 1 // NumberOfSymbols -+ .long 0 // NumberOfSymbols - .short section_table - optional_header // SizeOfOptionalHeader - .short 0x206 // Characteristics. - // IMAGE_FILE_DEBUG_STRIPPED | -diff --git a/gnuefi/crt0-efi-riscv64.S b/gnuefi/crt0-efi-riscv64.S -index f8949a7..1bc536b 100644 ---- a/gnuefi/crt0-efi-riscv64.S -+++ b/gnuefi/crt0-efi-riscv64.S -@@ -38,7 +38,7 @@ coff_header: - .short 2 // nr_sections - .long 0 // TimeDateStamp - .long 0 // PointerToSymbolTable -- .long 1 // NumberOfSymbols -+ .long 0 // NumberOfSymbols - .short section_table - optional_header // SizeOfOptionalHeader - .short 0x206 // Characteristics. - // IMAGE_FILE_DEBUG_STRIPPED | --- -2.25.1 - diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/debian/patches/series gnu-efi-3.0.15/debian/patches/series --- gnu-efi-3.0.13+git20210716.269ef9d/debian/patches/series 2022-02-08 17:12:16.000000000 +0000 +++ gnu-efi-3.0.15/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -0001-Set-NumberOfSymbols-to-zero.patch diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/gnuefi/crt0-efi-aarch64.S gnu-efi-3.0.15/gnuefi/crt0-efi-aarch64.S --- gnu-efi-3.0.13+git20210716.269ef9d/gnuefi/crt0-efi-aarch64.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/gnuefi/crt0-efi-aarch64.S 2022-08-08 15:38:33.000000000 +0000 @@ -34,7 +34,7 @@ .short 2 // nr_sections .long 0 // TimeDateStamp .long 0 // PointerToSymbolTable - .long 1 // NumberOfSymbols + .long 0 // NumberOfSymbols .short section_table - optional_header // SizeOfOptionalHeader .short 0x206 // Characteristics. // IMAGE_FILE_DEBUG_STRIPPED | @@ -128,3 +128,7 @@ 0: ldp x29, x30, [sp], #32 ret + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/gnuefi/crt0-efi-arm.S gnu-efi-3.0.15/gnuefi/crt0-efi-arm.S --- gnu-efi-3.0.13+git20210716.269ef9d/gnuefi/crt0-efi-arm.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/gnuefi/crt0-efi-arm.S 2022-08-08 15:38:33.000000000 +0000 @@ -34,7 +34,7 @@ .short 2 // nr_sections .long 0 // TimeDateStamp .long 0 // PointerToSymbolTable - .long 1 // NumberOfSymbols + .long 0 // NumberOfSymbols .short section_table - optional_header // SizeOfOptionalHeader .short 0x306 // Characteristics. // IMAGE_FILE_32BIT_MACHINE | @@ -143,3 +143,7 @@ .L_DYNAMIC: .word _DYNAMIC - . + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/gnuefi/crt0-efi-ia32.S gnu-efi-3.0.15/gnuefi/crt0-efi-ia32.S --- gnu-efi-3.0.13+git20210716.269ef9d/gnuefi/crt0-efi-ia32.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/gnuefi/crt0-efi-ia32.S 2022-08-08 15:38:33.000000000 +0000 @@ -75,3 +75,7 @@ .long 12 // Block Size (2*4+2*2), must be aligned by 32 Bits .word (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy .word (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/gnuefi/crt0-efi-ia64.S gnu-efi-3.0.15/gnuefi/crt0-efi-ia64.S --- gnu-efi-3.0.13+git20210716.269ef9d/gnuefi/crt0-efi-ia64.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/gnuefi/crt0-efi-ia64.S 2022-08-08 15:38:33.000000000 +0000 @@ -85,3 +85,7 @@ data4 12 // Block Size (2*4+2*2), must be aligned by 32 Bits data2 (IMAGE_REL_BASED_DIR64<<12) + 0 // reloc for plabel's entry point data2 (IMAGE_REL_BASED_DIR64<<12) + 8 // reloc for plabel's global pointer + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/gnuefi/crt0-efi-mips64el.S gnu-efi-3.0.15/gnuefi/crt0-efi-mips64el.S --- gnu-efi-3.0.13+git20210716.269ef9d/gnuefi/crt0-efi-mips64el.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/gnuefi/crt0-efi-mips64el.S 2022-08-08 15:38:33.000000000 +0000 @@ -35,7 +35,7 @@ .short 2 // nr_sections .long 0 // TimeDateStamp .long 0 // PointerToSymbolTable - .long 1 // NumberOfSymbols + .long 0 // NumberOfSymbols .short section_table - optional_header // SizeOfOptionalHeader .short 0x206 // Characteristics. // IMAGE_FILE_DEBUG_STRIPPED | @@ -186,3 +186,7 @@ .end _start .set pop + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/gnuefi/crt0-efi-riscv64.S gnu-efi-3.0.15/gnuefi/crt0-efi-riscv64.S --- gnu-efi-3.0.13+git20210716.269ef9d/gnuefi/crt0-efi-riscv64.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/gnuefi/crt0-efi-riscv64.S 2022-08-08 15:38:33.000000000 +0000 @@ -38,7 +38,7 @@ .short 2 // nr_sections .long 0 // TimeDateStamp .long 0 // PointerToSymbolTable - .long 1 // NumberOfSymbols + .long 0 // NumberOfSymbols .short section_table - optional_header // SizeOfOptionalHeader .short 0x206 // Characteristics. // IMAGE_FILE_DEBUG_STRIPPED | @@ -134,3 +134,7 @@ ld ra, 16(sp) 0: addi sp, sp, 24 ret + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/gnuefi/crt0-efi-x86_64.S gnu-efi-3.0.15/gnuefi/crt0-efi-x86_64.S --- gnu-efi-3.0.13+git20210716.269ef9d/gnuefi/crt0-efi-x86_64.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/gnuefi/crt0-efi-x86_64.S 2022-08-08 15:38:33.000000000 +0000 @@ -75,3 +75,6 @@ .word (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy .word (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/gnuefi/reloc_ia64.S gnu-efi-3.0.15/gnuefi/reloc_ia64.S --- gnu-efi-3.0.13+git20210716.269ef9d/gnuefi/reloc_ia64.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/gnuefi/reloc_ia64.S 2022-08-08 15:38:33.000000000 +0000 @@ -225,3 +225,7 @@ fptr_mem_base: .space MAX_FUNCTION_DESCRIPTORS*16 fptr_mem_limit: + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/inc/efi.h gnu-efi-3.0.15/inc/efi.h --- gnu-efi-3.0.13+git20210716.269ef9d/inc/efi.h 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/inc/efi.h 2022-08-08 15:38:33.000000000 +0000 @@ -48,7 +48,7 @@ #include "aarch64/efibind.h" #elif defined (_M_ARM) || defined(__arm__) #include "arm/efibind.h" -#elif defined (_M_MIPS64) || defined(__mips64__) +#elif defined (_M_MIPS64) || defined(__mips64__) || defined(__mips64) #include "mips64el/efibind.h" #elif defined (__riscv) && __riscv_xlen == 64 #include "riscv64/efibind.h" diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/inc/efilib.h gnu-efi-3.0.15/inc/efilib.h --- gnu-efi-3.0.13+git20210716.269ef9d/inc/efilib.h 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/inc/efilib.h 2022-08-08 15:38:33.000000000 +0000 @@ -31,7 +31,7 @@ #include "aarch64/efilibplat.h" #elif defined (_M_ARM) || defined(__arm__) #include "arm/efilibplat.h" -#elif defined (_M_MIPS64) || defined(__mips64__) +#elif defined (_M_MIPS64) || defined(__mips64__) || defined(__mips64) #include "mips64el/efilibplat.h" #elif defined (__riscv) && __riscv_xlen == 64 #include "riscv64/efilibplat.h" diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/inc/efirtlib.h gnu-efi-3.0.15/inc/efirtlib.h --- gnu-efi-3.0.13+git20210716.269ef9d/inc/efirtlib.h 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/inc/efirtlib.h 2022-08-08 15:38:33.000000000 +0000 @@ -30,7 +30,7 @@ #include "aarch64/efilibplat.h" #elif defined (_M_ARM) || defined(__arm__) #include "arm/efilibplat.h" -#elif defined (_M_MIPS64) || defined(__mips64__) +#elif defined (_M_MIPS64) || defined(__mips64__) || defined(__mips64) #include "mips64el/efilibplat.h" #elif defined (__riscv) && __riscv_xlen == 64 #include "riscv64/efilibplat.h" diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/inc/riscv64/efibind.h gnu-efi-3.0.15/inc/riscv64/efibind.h --- gnu-efi-3.0.13+git20210716.269ef9d/inc/riscv64/efibind.h 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/inc/riscv64/efibind.h 2022-08-08 15:38:33.000000000 +0000 @@ -1,33 +1,131 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copright (C) 2014 - 2015 Linaro Ltd. + * Author: Ard Biesheuvel + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice and this list of conditions, without modification. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * Alternatively, this software may be distributed under the terms of the + * GNU General Public License as published by the Free Software Foundation; + * either version 2 of the License, or (at your option) any later version. + */ #include -#define EFIAPI -#define EFI_ERROR_MASK 0x8000000000000000 -#define EFIERR(a) (EFI_ERROR_MASK | a) -#define INTERFACE_DECL(x) struct x -#define MIN_ALIGNMENT_SIZE 8 -#define RUNTIMEFUNCTION -#define VOID void +// +// Basic EFI types of various widths +// -typedef uint8_t BOOLEAN; -typedef int64_t INTN; -typedef uint64_t UINTN; -typedef int8_t INT8; -typedef uint8_t UINT8; -typedef int16_t INT16; -typedef uint16_t UINT16; -typedef int32_t INT32; -typedef uint32_t UINT32; -typedef int64_t INT64; -typedef uint64_t UINT64; -typedef uint16_t WCHAR; -#define BREAKPOINT() while(1); -#define uefi_call_wrapper(func, va_num, ...) func(__VA_ARGS__) +typedef uint64_t UINT64; +typedef int64_t INT64; +typedef uint32_t UINT32; +typedef int32_t INT32; +typedef uint16_t UINT16; +typedef int16_t INT16; +typedef uint8_t UINT8; +typedef int8_t INT8; +#ifndef __WCHAR_TYPE__ +#define __WCHAR_TYPE__ short +#endif +typedef __WCHAR_TYPE__ WCHAR; +#ifndef BOOLEAN +typedef uint8_t BOOLEAN; +#endif +#undef VOID +#define VOID void +typedef int64_t INTN; +typedef uint64_t UINTN; + +#define EFI_ERROR_MASK 0x8000000000000000 +#define EFIERR(a) (EFI_ERROR_MASK | a) +#define EFIERR_OEM(a) (0xc000000000000000 | a) + +#define BAD_POINTER 0xFBFBFBFBFBFBFBFB +#define MAX_ADDRESS 0xFFFFFFFFFFFFFFFF + +#define BREAKPOINT() while(1); + +// +// Pointers must be aligned to these address to function +// +#define MIN_ALIGNMENT_SIZE 8 + +#define ALIGN_VARIABLE(Value, Adjustment) \ + (UINTN)Adjustment = 0; \ + if((UINTN)Value % MIN_ALIGNMENT_SIZE) \ + (UINTN)Adjustment = MIN_ALIGNMENT_SIZE - ((UINTN)Value % MIN_ALIGNMENT_SIZE); \ + Value = (UINTN)Value + (UINTN)Adjustment + +// +// Define macros to build data structure signatures from characters. +// #define EFI_SIGNATURE_16(A,B) ((A) | (B<<8)) #define EFI_SIGNATURE_32(A,B,C,D) (EFI_SIGNATURE_16(A,B) | (EFI_SIGNATURE_16(C,D) << 16)) #define EFI_SIGNATURE_64(A,B,C,D,E,F,G,H) (EFI_SIGNATURE_32(A,B,C,D) | ((UINT64)(EFI_SIGNATURE_32(E,F,G,H)) << 32)) +// +// EFIAPI - prototype calling convention for EFI function pointers +// BOOTSERVICE - prototype for implementation of a boot service interface +// RUNTIMESERVICE - prototype for implementation of a runtime service interface +// RUNTIMEFUNCTION - prototype for implementation of a runtime function that is not a service +// RUNTIME_CODE - pragma macro for declaring runtime code +// +#ifndef EFIAPI // Forces EFI calling conventions reguardless of compiler options +#define EFIAPI // Substitute expresion to force C calling convention +#endif +#define BOOTSERVICE +#define RUNTIMESERVICE +#define RUNTIMEFUNCTION +#define RUNTIME_CODE(a) alloc_text("rtcode", a) +#define BEGIN_RUNTIME_DATA() data_seg("rtdata") +#define END_RUNTIME_DATA() data_seg("") + +#define VOLATILE volatile +#define MEMORY_FENCE __sync_synchronize + +// +// When build similiar to FW, then link everything together as +// one big module. For the MSVC toolchain, we simply tell the +// linker what our driver init function is using /ENTRY. +// +#if defined(_MSC_EXTENSIONS) +#define EFI_DRIVER_ENTRY_POINT(InitFunction) \ + __pragma(comment(linker, "/ENTRY:" # InitFunction)) +#else +#define EFI_DRIVER_ENTRY_POINT(InitFunction) \ + UINTN \ + InitializeDriver ( \ + VOID *ImageHandle, \ + VOID *SystemTable \ + ) \ + { \ + return InitFunction(ImageHandle, \ + SystemTable); \ + } \ + \ + EFI_STATUS efi_main( \ + EFI_HANDLE image, \ + EFI_SYSTEM_TABLE *systab \ + ) __attribute__((weak, \ + alias ("InitializeDriver"))); +#endif + +#define LOAD_INTERNAL_DRIVER(_if, type, name, entry) \ + (_if)->LoadInternal(type, name, entry) + +// +// Some compilers don't support the forward reference construct: +// typedef struct XXXXX +// +// The following macro provide a workaround for such cases. +#define INTERFACE_DECL(x) struct x + +#define uefi_call_wrapper(func, va_num, ...) func(__VA_ARGS__) #define EFI_FUNCTION diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/aarch64/efi_stub.S gnu-efi-3.0.15/lib/aarch64/efi_stub.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/aarch64/efi_stub.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/aarch64/efi_stub.S 2022-08-08 15:38:33.000000000 +0000 @@ -1 +1,5 @@ /* This stub is a stub to make the build happy */ + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/aarch64/setjmp.S gnu-efi-3.0.15/lib/aarch64/setjmp.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/aarch64/setjmp.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/aarch64/setjmp.S 2022-08-08 15:38:33.000000000 +0000 @@ -58,3 +58,7 @@ mov w0, #1 csel w0, w1, w0, ne br x30 + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/arm/div.S gnu-efi-3.0.15/lib/arm/div.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/arm/div.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/arm/div.S 2022-08-08 15:38:33.000000000 +0000 @@ -153,3 +153,7 @@ @ What to do about division by zero? For now, just return. ASM_PFX(__aeabi_idiv0): bx r14 + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/arm/efi_stub.S gnu-efi-3.0.15/lib/arm/efi_stub.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/arm/efi_stub.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/arm/efi_stub.S 2022-08-08 15:38:33.000000000 +0000 @@ -1 +1,5 @@ /* This stub is a stub to make the build happy */ + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/arm/ldivmod.S gnu-efi-3.0.15/lib/arm/ldivmod.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/arm/ldivmod.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/arm/ldivmod.S 2022-08-08 15:38:33.000000000 +0000 @@ -57,5 +57,6 @@ L_Exit: pop {r4,pc} - - +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/arm/llsl.S gnu-efi-3.0.15/lib/arm/llsl.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/arm/llsl.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/arm/llsl.S 2022-08-08 15:38:33.000000000 +0000 @@ -39,3 +39,7 @@ lsl r1,r0,r3 mov r0,#0 bx lr + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/arm/llsr.S gnu-efi-3.0.15/lib/arm/llsr.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/arm/llsr.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/arm/llsr.S 2022-08-08 15:38:33.000000000 +0000 @@ -39,3 +39,7 @@ lsr r0,r1,r3 mov r1,#0 bx lr + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/arm/mullu.S gnu-efi-3.0.15/lib/arm/mullu.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/arm/mullu.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/arm/mullu.S 2022-08-08 15:38:33.000000000 +0000 @@ -31,3 +31,7 @@ mla r1, r2, r1, ip mla r1, r3, lr, r1 ldmia sp!, {pc} + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/arm/setjmp.S gnu-efi-3.0.15/lib/arm/setjmp.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/arm/setjmp.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/arm/setjmp.S 2022-08-08 15:38:33.000000000 +0000 @@ -23,3 +23,7 @@ .type longjmp, %function longjmp: ldmia r0, {r3-r12,r14} + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/arm/uldiv.S gnu-efi-3.0.15/lib/arm/uldiv.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/arm/uldiv.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/arm/uldiv.S 2022-08-08 15:38:33.000000000 +0000 @@ -264,4 +264,6 @@ ASM_PFX(__aeabi_ldiv0): bx r14 - +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/ia32/efi_stub.S gnu-efi-3.0.15/lib/ia32/efi_stub.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/ia32/efi_stub.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/ia32/efi_stub.S 2022-08-08 15:38:33.000000000 +0000 @@ -1 +1,5 @@ /* This stub is a stub to make the build happy */ + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/ia32/setjmp.S gnu-efi-3.0.15/lib/ia32/setjmp.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/ia32/setjmp.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/ia32/setjmp.S 2022-08-08 15:38:33.000000000 +0000 @@ -43,3 +43,7 @@ movl (%edx), %ebx movl 4(%edx), %esi movl 8(%edx), %edi + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/ia64/palproc.S gnu-efi-3.0.15/lib/ia64/palproc.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/ia64/palproc.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/ia64/palproc.S 2022-08-08 15:38:33.000000000 +0000 @@ -159,3 +159,6 @@ PROCEDURE_EXIT(MakeStackedPALCall) +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/ia64/setjmp.S gnu-efi-3.0.15/lib/ia64/setjmp.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/ia64/setjmp.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/ia64/setjmp.S 2022-08-08 15:38:33.000000000 +0000 @@ -197,3 +197,7 @@ invala mov ar.rsc = r16 br.ret.sptk b0 + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/Makefile gnu-efi-3.0.15/lib/Makefile --- gnu-efi-3.0.13+git20210716.269ef9d/lib/Makefile 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/Makefile 2022-08-08 15:38:33.000000000 +0000 @@ -74,6 +74,8 @@ libsubdirs: for sdir in $(SUBDIRS); do mkdir -p $$sdir; done +$(OBJS): libsubdirs + libefi.a: $(OBJS) $(AR) $(ARFLAGS) $@ $^ @@ -89,5 +91,3 @@ install: $(LIBDIRINSTALL)/libefi.a include $(SRCDIR)/../Make.rules - -.PHONY: libsubdirs diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/mips64el/efi_stub.S gnu-efi-3.0.15/lib/mips64el/efi_stub.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/mips64el/efi_stub.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/mips64el/efi_stub.S 2022-08-08 15:38:33.000000000 +0000 @@ -1 +1,5 @@ /* This stub is a stub to make the build happy */ + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/mips64el/setjmp.S gnu-efi-3.0.15/lib/mips64el/setjmp.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/mips64el/setjmp.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/mips64el/setjmp.S 2022-08-08 15:38:33.000000000 +0000 @@ -90,3 +90,7 @@ li $v0, 1 movn $v0, $a1, $a1 jr $ra + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/riscv64/setjmp.S gnu-efi-3.0.15/lib/riscv64/setjmp.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/riscv64/setjmp.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/riscv64/setjmp.S 2022-08-08 15:38:33.000000000 +0000 @@ -67,3 +67,7 @@ seqz a0, a1 add a0, a0, a1 ret + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/x86_64/efi_stub.S gnu-efi-3.0.15/lib/x86_64/efi_stub.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/x86_64/efi_stub.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/x86_64/efi_stub.S 2022-08-08 15:38:33.000000000 +0000 @@ -187,3 +187,7 @@ ret #endif + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/lib/x86_64/setjmp.S gnu-efi-3.0.15/lib/x86_64/setjmp.S --- gnu-efi-3.0.13+git20210716.269ef9d/lib/x86_64/setjmp.S 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/lib/x86_64/setjmp.S 2022-08-08 15:38:33.000000000 +0000 @@ -39,3 +39,7 @@ cmp %rax,%rdx cmove %rcx,%rax jmp *0x38(%rdi) + +#if defined(__ELF__) && defined(__linux__) + .section .note.GNU-stack,"",%progbits +#endif diff -Nru gnu-efi-3.0.13+git20210716.269ef9d/Makefile gnu-efi-3.0.15/Makefile --- gnu-efi-3.0.13+git20210716.269ef9d/Makefile 2021-07-16 16:48:28.000000000 +0000 +++ gnu-efi-3.0.15/Makefile 2022-08-08 15:38:33.000000000 +0000 @@ -34,7 +34,7 @@ # SUCH DAMAGE. # -VERSION = 3.0.13 +VERSION = 3.0.15 MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST))) SRCDIR = $(dir $(MKFILE_PATH))