803b49c4 | 06-Aug-2022 |
Sergei Trofimovich <slyich@gmail.com> |
*/*.S: add non-executable GNU stack marking on ELF-linux
binutils-2.39 enabed a few warning by default (https://sourceware.org/pipermail/binutils/2022-August/122246.html):
> The ELF linker will now
*/*.S: add non-executable GNU stack marking on ELF-linux
binutils-2.39 enabed a few warning by default (https://sourceware.org/pipermail/binutils/2022-August/122246.html):
> The ELF linker will now generate a warning message if the stack is made executable.
Let's suppress the warnings in assembly files by adding non-executables stack markings. This fixes at least systemd build which uses '-Wl,--fatal-warnings':
https://github.com/systemd/systemd/issues/24226
show more ...
|
b1d426ce | 06-Nov-2017 |
Nigel Croxon <ncroxon@redhat.com> |
Move memcpy/memset definition to global init.c
Following up on previous patch, I think we should move memcpy/memset definitions to the global init.c, since MSVC does also inserts calls to memset/mem
Move memcpy/memset definition to global init.c
Following up on previous patch, I think we should move memcpy/memset definitions to the global init.c, since MSVC does also inserts calls to memset/memcpy for the x86_32 platform, even when disabling standard libraries and intrinsics.
All in all, it looks like, for all platforms, we should assume that a compiler may still insert these calls regardless.
Signed-off-by: Pete Batard <pete@akeo.ie> Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
show more ...
|
39ce220c | 06-Nov-2017 |
Nigel Croxon <ncroxon@redhat.com> |
Make sure stdint.h is always used with MSVC on ARM/ARM64, since all the versions of Visual Studio that support ARM or ARM64 have that header. Without this, uint64_t would be defined to unsigned long,
Make sure stdint.h is always used with MSVC on ARM/ARM64, since all the versions of Visual Studio that support ARM or ARM64 have that header. Without this, uint64_t would be defined to unsigned long, which is 32-bits in the Microsoft world.
Also fix aarch64/initplat.c so that memset/memcpy only apply to gcc. Otherwise MSVC throws an error for __SIZE_TYPE__.
Updating this patch to v2, since it turns out MSVC will also emit memset and memcpy intrinsics that we can use an implementation for. This is true for both ARM and ARM64. To make this work, I'm defining __SIZE_TYPE__ to UINTN if not already defined.
Signed-off-by: Pete Batard <pete@akeo.ie> Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
show more ...
|
574b48d8 | 30-Mar-2017 |
Nigel Croxon <ncroxon@redhat.com> |
This is mere refactoring of the code and is not linked to any specific issue.
I think ARM's DivU64x32() would be better located along MultU64x32() and other calls in ARM's math.c, as having it in a
This is mere refactoring of the code and is not linked to any specific issue.
I think ARM's DivU64x32() would be better located along MultU64x32() and other calls in ARM's math.c, as having it in a header seems weird, even with the goal of inlining it. I doubt there's much performance to be lost from having it non-inline in math.c and it should make the code breakdown more logical.
Signed-off-by: Pete Batard <pete@akeo.ie> Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
show more ...
|
58e6955b | 28-Mar-2016 |
Nigel Croxon <nigel.croxon@hpe.com> |
The following fixes a couple GCC specifics for the ARM platform, that MSVC compilers will complain about (such as Visual Studio 2015 with ARM target).
Signed-off-by: Pete Batard <pbatard@users.sf.ne
The following fixes a couple GCC specifics for the ARM platform, that MSVC compilers will complain about (such as Visual Studio 2015 with ARM target).
Signed-off-by: Pete Batard <pbatard@users.sf.net> Signed-off-by: Nigel Croxon <nigel.croxon@hpe.com>
show more ...
|
5ff74eca | 25-Mar-2016 |
Nigel Croxon <nigel.croxon@hpe.com> |
Commit 3dd05c and subsequent ones introduced the use of the GNU specific __attribute__((__unused__)), which breaks MSVC compilation...
I'll use this as a reminder that gnu-efi is compiled with more
Commit 3dd05c and subsequent ones introduced the use of the GNU specific __attribute__((__unused__)), which breaks MSVC compilation...
I'll use this as a reminder that gnu-efi is compiled with more than GNU toolchains, and that contributors might want to be careful about adding GNU-specific extensions...
This patch does the following: Create a new eficompiler.h header that sets all compiler-specific options and extensions Create a new EFI_UNUSED macro to be used in lieu of __attribute__((__unused__)) and applies it to the relevant sources Move the ALIGN(x) macro, previously defined in efisetjmp.h to the new header
Oh, and it also fixes a bunch of trailing whitespaces (because my code editor is set to do just that by default).
Signed-off-by: Pete Batard <pbatard@users.sf.net> Signed-off-by: Nigel Croxon <nigel.croxon@hpe.com>
show more ...
|
3dd05c7b | 03-Mar-2016 |
Nigel Croxon <nigel.croxon@hpe.com> |
This makes "-Werror=unused-parameter" not fail.
Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Nigel Croxon <nigel.croxon@hpe.com> |
d119b0d7 | 23-Dec-2015 |
Nigel Croxon <nigel.croxon@hpe.com> |
From: Ard Biesheuvel <ard.biesheuvel@linaro.org> Subject: [PATCH 2/2] Replace ARM arithmetic support routines with EDK2 versions.
Replace the incomplete GPL licensed ARM arithmetic support routines
From: Ard Biesheuvel <ard.biesheuvel@linaro.org> Subject: [PATCH 2/2] Replace ARM arithmetic support routines with EDK2 versions.
Replace the incomplete GPL licensed ARM arithmetic support routines with the ones from the EDK2 project. These cover long long multiplication and long long logical shift as well.
Also remove the special case for small dividends in DivU64x32: we can simply let the compiler handle this, and emit calls to the support routines where appropriate.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Nigel Croxon <nigel.croxon@hpe.com>
show more ...
|
88e3cf95 | 23-Dec-2015 |
Nigel Croxon <nigel.croxon@hpe.com> |
From: Ard Biesheuvel <ard.biesheuvel@linaro.org> Subject: [PATCH 1/2] Relicense ARM and AARCH64 source files as both BSD and GPL
This updates the licenses of the files authored by me under lib/arm a
From: Ard Biesheuvel <ard.biesheuvel@linaro.org> Subject: [PATCH 1/2] Relicense ARM and AARCH64 source files as both BSD and GPL
This updates the licenses of the files authored by me under lib/arm and lib/aarch64 to be both 2-clause BSD and GPL v2+
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Nigel Croxon <nigel.croxon@hpe.com>
show more ...
|
1ae8baef | 30-Nov-2015 |
Nigel Croxon <nigel.croxon@hpe.com> |
From: Julian Andres Klode <jak@debian.org> Subject: [PATCH gnu-efi] lib/arm/setjmp.S: Use %function instead of @function
@ is a comment character on ARM, so use % instead.
Nigel adjusted the wordwr
From: Julian Andres Klode <jak@debian.org> Subject: [PATCH gnu-efi] lib/arm/setjmp.S: Use %function instead of @function
@ is a comment character on ARM, so use % instead.
Nigel adjusted the wordwrap on the copyright header.
Signed-off-by: Julian Andres Klode <jak@degian.org> Signed-off-by: Nigel Croxon <nigel.croxon@hpe.com>
show more ...
|
dae0b4b0 | 14-May-2015 |
Nigel Croxon <nigel.croxon@hp.com> |
Turns out we actually need setjmp in one of gnu-efi's prominent users, and it seems to make more sense to put it here than in the application.
All of these are derived from the Tiano code, but I re-
Turns out we actually need setjmp in one of gnu-efi's prominent users, and it seems to make more sense to put it here than in the application.
All of these are derived from the Tiano code, but I re-wrote the x86_64 one because we use the ELF psABI calling conventions instead of the MS ABI calling conventions. Which is to say you probably shouldn't setjmp()/longjmp() between functions with EFIAPI (aka __attribute__((ms_abi))) and those without.
Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
show more ...
|
530d68ba | 25-Nov-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
The gnu-efi-3.0 toplevel subdirectory is really annoying. Kill it.
Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Nigel Croxon <nigel.croxon@hp.com> |