History log of /DragonStub/lib/arm/ (Results 1 – 12 of 12)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
803b49c406-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 ...


/DragonStub/Make.defaults
/DragonStub/Make.rules
/DragonStub/Makefile
/DragonStub/README.gnuefi
/DragonStub/apps/AllocPages.c
/DragonStub/apps/FreePages.c
/DragonStub/apps/Makefile
/DragonStub/apps/bltgrid.c
/DragonStub/apps/debughook.c
/DragonStub/apps/lfbgrid.c
/DragonStub/apps/modelist.c
/DragonStub/apps/route80h.c
/DragonStub/apps/setdbg.c
/DragonStub/apps/setjmp.c
/DragonStub/apps/trivial.S
/DragonStub/apps/unsetdbg.c
/DragonStub/gnuefi/Makefile
/DragonStub/gnuefi/crt0-efi-aarch64.S
/DragonStub/gnuefi/crt0-efi-arm.S
/DragonStub/gnuefi/crt0-efi-ia32.S
/DragonStub/gnuefi/crt0-efi-ia64.S
/DragonStub/gnuefi/crt0-efi-mips64el.S
/DragonStub/gnuefi/crt0-efi-riscv64.S
/DragonStub/gnuefi/crt0-efi-x86_64.S
/DragonStub/gnuefi/elf_ia32_efi.lds
/DragonStub/gnuefi/elf_ia32_fbsd_efi.lds
/DragonStub/gnuefi/elf_ia64_efi.lds
/DragonStub/gnuefi/elf_riscv64_efi.lds
/DragonStub/gnuefi/elf_x86_64_efi.lds
/DragonStub/gnuefi/elf_x86_64_fbsd_efi.lds
/DragonStub/gnuefi/reloc_ia64.S
/DragonStub/gnuefi/reloc_riscv64.c
/DragonStub/inc/aarch64/efibind.h
/DragonStub/inc/aarch64/efisetjmp_arch.h
/DragonStub/inc/arm/efibind.h
/DragonStub/inc/arm/efisetjmp_arch.h
/DragonStub/inc/efi.h
/DragonStub/inc/efiapi.h
/DragonStub/inc/eficonex.h
/DragonStub/inc/efidevp.h
/DragonStub/inc/efierr.h
/DragonStub/inc/efilib.h
/DragonStub/inc/efilink.h
/DragonStub/inc/efiprot.h
/DragonStub/inc/efipxebc.h
/DragonStub/inc/efirtlib.h
/DragonStub/inc/efisetjmp.h
/DragonStub/inc/efishell.h
/DragonStub/inc/efistdarg.h
/DragonStub/inc/ia32/efibind.h
/DragonStub/inc/ia32/efisetjmp_arch.h
/DragonStub/inc/ia64/efibind.h
/DragonStub/inc/ia64/efisetjmp_arch.h
/DragonStub/inc/lib.h
/DragonStub/inc/libsmbios.h
/DragonStub/inc/mips64el/efibind.h
/DragonStub/inc/mips64el/efisetjmp_arch.h
/DragonStub/inc/riscv64/efibind.h
/DragonStub/inc/riscv64/efilibplat.h
/DragonStub/inc/riscv64/efisetjmp_arch.h
/DragonStub/inc/x86_64/efibind.h
/DragonStub/inc/x86_64/efisetjmp_arch.h
/DragonStub/lib/Makefile
/DragonStub/lib/aarch64/efi_stub.S
/DragonStub/lib/aarch64/setjmp.S
div.S
efi_stub.S
ldivmod.S
llsl.S
llsr.S
mullu.S
setjmp.S
uldiv.S
/DragonStub/lib/cmdline.c
/DragonStub/lib/data.c
/DragonStub/lib/dpath.c
/DragonStub/lib/error.c
/DragonStub/lib/guid.c
/DragonStub/lib/hand.c
/DragonStub/lib/ia32/efi_stub.S
/DragonStub/lib/ia32/math.c
/DragonStub/lib/ia32/setjmp.S
/DragonStub/lib/ia64/palproc.S
/DragonStub/lib/ia64/setjmp.S
/DragonStub/lib/mips64el/efi_stub.S
/DragonStub/lib/mips64el/setjmp.S
/DragonStub/lib/misc.c
/DragonStub/lib/pause.c
/DragonStub/lib/print.c
/DragonStub/lib/riscv64/initplat.c
/DragonStub/lib/riscv64/math.c
/DragonStub/lib/riscv64/setjmp.S
/DragonStub/lib/runtime/efirtlib.c
/DragonStub/lib/runtime/rtstr.c
/DragonStub/lib/smbios.c
/DragonStub/lib/str.c
/DragonStub/lib/x86_64/efi_stub.S
/DragonStub/lib/x86_64/setjmp.S
b1d426ce06-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 ...

39ce220c06-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 ...

574b48d830-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 ...

58e6955b28-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 ...

5ff74eca25-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 ...

3dd05c7b03-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>

d119b0d723-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 ...

88e3cf9523-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 ...

1ae8baef30-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 ...

dae0b4b014-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 ...

530d68ba25-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>


/DragonStub/ChangeLog
/DragonStub/Make.defaults
/DragonStub/Make.rules
/DragonStub/Makefile
/DragonStub/README.efilib
/DragonStub/README.elilo
/DragonStub/README.gnuefi
/DragonStub/apps/AllocPages.c
/DragonStub/apps/FreePages.c
/DragonStub/apps/Makefile
/DragonStub/apps/drv0.c
/DragonStub/apps/drv0.h
/DragonStub/apps/drv0_use.c
/DragonStub/apps/modelist.c
/DragonStub/apps/printenv.c
/DragonStub/apps/route80h.c
/DragonStub/apps/t.c
/DragonStub/apps/t2.c
/DragonStub/apps/t3.c
/DragonStub/apps/t4.c
/DragonStub/apps/t5.c
/DragonStub/apps/t6.c
/DragonStub/apps/t7.c
/DragonStub/apps/t8.c
/DragonStub/apps/tcc.c
/DragonStub/apps/tpause.c
/DragonStub/apps/trivial.S
/DragonStub/gnuefi/Makefile
/DragonStub/gnuefi/crt0-efi-aarch64.S
/DragonStub/gnuefi/crt0-efi-arm.S
/DragonStub/gnuefi/crt0-efi-ia32.S
/DragonStub/gnuefi/crt0-efi-ia64.S
/DragonStub/gnuefi/crt0-efi-x86_64.S
/DragonStub/gnuefi/elf_aarch64_efi.lds
/DragonStub/gnuefi/elf_arm_efi.lds
/DragonStub/gnuefi/elf_ia32_efi.lds
/DragonStub/gnuefi/elf_ia32_fbsd_efi.lds
/DragonStub/gnuefi/elf_ia64_efi.lds
/DragonStub/gnuefi/elf_x86_64_efi.lds
/DragonStub/gnuefi/elf_x86_64_fbsd_efi.lds
/DragonStub/gnuefi/reloc_aarch64.c
/DragonStub/gnuefi/reloc_arm.c
/DragonStub/gnuefi/reloc_ia32.c
/DragonStub/gnuefi/reloc_ia64.S
/DragonStub/gnuefi/reloc_x86_64.c
/DragonStub/inc/Makefile
/DragonStub/inc/aarch64/efibind.h
/DragonStub/inc/aarch64/efilibplat.h
/DragonStub/inc/arm/efibind.h
/DragonStub/inc/arm/efilibplat.h
/DragonStub/inc/efi.h
/DragonStub/inc/efi_nii.h
/DragonStub/inc/efi_pxe.h
/DragonStub/inc/efiapi.h
/DragonStub/inc/eficon.h
/DragonStub/inc/efidebug.h
/DragonStub/inc/efidef.h
/DragonStub/inc/efidevp.h
/DragonStub/inc/efierr.h
/DragonStub/inc/efifs.h
/DragonStub/inc/efigpt.h
/DragonStub/inc/efiip.h
/DragonStub/inc/efilib.h
/DragonStub/inc/efilink.h
/DragonStub/inc/efinet.h
/DragonStub/inc/efipart.h
/DragonStub/inc/efipciio.h
/DragonStub/inc/efipoint.h
/DragonStub/inc/efiprot.h
/DragonStub/inc/efipxebc.h
/DragonStub/inc/efirtlib.h
/DragonStub/inc/efiser.h
/DragonStub/inc/efishellintf.h
/DragonStub/inc/efishellparm.h
/DragonStub/inc/efistdarg.h
/DragonStub/inc/efitcp.h
/DragonStub/inc/efiudp.h
/DragonStub/inc/efiui.h
/DragonStub/inc/ia32/efibind.h
/DragonStub/inc/ia32/efilibplat.h
/DragonStub/inc/ia32/pe.h
/DragonStub/inc/ia64/efibind.h
/DragonStub/inc/ia64/efilibplat.h
/DragonStub/inc/ia64/pe.h
/DragonStub/inc/ia64/salproc.h
/DragonStub/inc/inc.mak
/DragonStub/inc/libsmbios.h
/DragonStub/inc/make.inf
/DragonStub/inc/makefile.hdr
/DragonStub/inc/pci22.h
/DragonStub/inc/protocol/adapterdebug.h
/DragonStub/inc/protocol/eficonsplit.h
/DragonStub/inc/protocol/efidbg.h
/DragonStub/inc/protocol/efivar.h
/DragonStub/inc/protocol/ia64/eficontext.h
/DragonStub/inc/protocol/intload.h
/DragonStub/inc/protocol/legacyboot.h
/DragonStub/inc/protocol/make.inf
/DragonStub/inc/protocol/makefile.hdr
/DragonStub/inc/protocol/piflash64.h
/DragonStub/inc/protocol/readme.txt
/DragonStub/inc/protocol/vgaclass.h
/DragonStub/inc/romload.h
/DragonStub/inc/x86_64/efibind.h
/DragonStub/inc/x86_64/efilibplat.h
/DragonStub/inc/x86_64/pe.h
/DragonStub/lib/Makefile
/DragonStub/lib/aarch64/efi_stub.S
/DragonStub/lib/aarch64/initplat.c
/DragonStub/lib/aarch64/math.c
div64.S
efi_stub.S
initplat.c
lib1funcs.S
math.c
/DragonStub/lib/boxdraw.c
/DragonStub/lib/cmdline.c
/DragonStub/lib/console.c
/DragonStub/lib/crc.c
/DragonStub/lib/data.c
/DragonStub/lib/debug.c
/DragonStub/lib/dpath.c
/DragonStub/lib/error.c
/DragonStub/lib/event.c
/DragonStub/lib/guid.c
/DragonStub/lib/hand.c
/DragonStub/lib/hw.c
/DragonStub/lib/ia32/efi_stub.S
/DragonStub/lib/ia32/initplat.c
/DragonStub/lib/ia32/math.c
/DragonStub/lib/ia64/initplat.c
/DragonStub/lib/ia64/math.c
/DragonStub/lib/ia64/palproc.S
/DragonStub/lib/ia64/palproc.h
/DragonStub/lib/ia64/salpal.c
/DragonStub/lib/init.c
/DragonStub/lib/lib.h
/DragonStub/lib/lock.c
/DragonStub/lib/misc.c
/DragonStub/lib/print.c
/DragonStub/lib/runtime/efirtlib.c
/DragonStub/lib/runtime/rtdata.c
/DragonStub/lib/runtime/rtlock.c
/DragonStub/lib/runtime/rtstr.c
/DragonStub/lib/runtime/vm.c
/DragonStub/lib/smbios.c
/DragonStub/lib/sread.c
/DragonStub/lib/str.c
/DragonStub/lib/x86_64/callwrap.c
/DragonStub/lib/x86_64/efi_stub.S
/DragonStub/lib/x86_64/initplat.c
/DragonStub/lib/x86_64/math.c