3e6106c4 | 30-Nov-2023 |
LoGin <longjin@DragonOS.org> |
引入libfdt并进行平台特性检测 (#6) |
78b790fa | 28-Nov-2023 |
LoGin <longjin@DragonOS.org> |
完善命令行参数解析 (#4) |
f412fd2a | 28-Nov-2023 |
LoGin <longjin@DragonOS.org> |
命令行参数解析 (#3)
* 命令行参数解析 |
de6f9259 | 09-Jul-2023 |
Callum Farmer <gmbr3@opensuse.org> |
Update error/warning codes to 2.10
Signed-off-by: Callum Farmer <gmbr3@opensuse.org> |
deb8a7f2 | 04-Aug-2021 |
Peter Jones <pjones@redhat.com> |
Make CopyMem() and SetMem() be EFIAPI
For wildly unknown reasons, EFI Boot Services includes CopyMem() and SetMem() functions, and they are marked as EFIAPI functions.
This patch marks gnu-efi's Co
Make CopyMem() and SetMem() be EFIAPI
For wildly unknown reasons, EFI Boot Services includes CopyMem() and SetMem() functions, and they are marked as EFIAPI functions.
This patch marks gnu-efi's CopyMem() and SetMem() as EFIAPI functions, and makes their exposed API match the misguided nonsense in the EFI spec, so that they can be used there in a test environment.
Signed-off-by: Peter Jones <pjones@redhat.com>
show more ...
|
584425eb | 23-May-2023 |
Callum Farmer <gmbr3@opensuse.org> |
ctors.S: Fix section definitions
Using @ doesn't work on ARM32
Signed-off-by: Callum Farmer <gmbr3@opensuse.org> |
99730f29 | 11-May-2023 |
Callum Farmer <gmbr3@opensuse.org> |
Structs with no linkage
Signed-off-by: Callum Farmer <gmbr3@opensuse.org> |
7dac1844 | 06-May-2023 |
Callum Farmer <gmbr3@opensuse.org> |
Re-write entry.c/ctors.S to work better
* Make entry.c work correctly in reverse order * Remove incorrectly sized (on non-32bit) NULLs from ctors.S
Signed-off-by: Callum Farmer <gmbr3@opensuse.org> |
4c696245 | 04-May-2023 |
Callum Farmer <gmbr3@opensuse.org> |
entry.c: fini_array is run backwards
fini_array is 65535 to 0 but stored 0 to 65535
Signed-off-by: Callum Farmer <gmbr3@opensuse.org> |
74b7b5e9 | 03-May-2023 |
Callum Farmer <gmbr3@opensuse.org> |
entry.c: Fix null pointer exception
Signed-off-by: Callum Farmer <gmbr3@opensuse.org> |
9c5403e1 | 30-Apr-2023 |
Callum Farmer <gmbr3@opensuse.org> |
Copy marker names from binutils for init/fini
Signed-off-by: Callum Farmer <gmbr3@opensuse.org> |
b3cc412a | 28-Apr-2023 |
Callum Farmer <gmbr3@opensuse.org> |
entry.c: .ctors is run backwards
Store forwards, run backwards (65535 to 0) Ref: https://github.com/bminor/binutils-gdb/blob/5a8e7e1332c35d4d5bed67adccd9d66f5cf62c4e/ld/scripttempl/elf.sc#L310 Ref:
entry.c: .ctors is run backwards
Store forwards, run backwards (65535 to 0) Ref: https://github.com/bminor/binutils-gdb/blob/5a8e7e1332c35d4d5bed67adccd9d66f5cf62c4e/ld/scripttempl/elf.sc#L310 Ref: https://sourceware.org/binutils/docs/ld/Input-Section-Wildcards.html
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
show more ...
|
97499a0c | 26-Apr-2023 |
Callum Farmer <gmbr3@opensuse.org> |
ctors.S: Use LSB defined section perms
Seems to not be correct at the moment, causes errors.
error: expected the entry size .section .fini_array, "aM", @fini_array
Change per https://refspecs.linu
ctors.S: Use LSB defined section perms
Seems to not be correct at the moment, causes errors.
error: expected the entry size .section .fini_array, "aM", @fini_array
Change per https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/specialsections.html
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
show more ...
|
fd3d9751 | 21-Apr-2023 |
Callum Farmer <gmbr3@opensuse.org> |
ia32 GNUC: Use __asm__ instead of asm
Causes an error when using strict ISO modes as then asm isn't defined
Signed-off-by: Callum Farmer <gmbr3@opensuse.org> |
7c89273d | 28-Mar-2023 |
Richard Hughes <richard@hughsie.com> |
make: Fix shell exit status handling
Right now whenever we have shell commands with loops, errors in the middle are accidentally ignored, and make continues to process commands.
This adds 'set -e'
make: Fix shell exit status handling
Right now whenever we have shell commands with loops, errors in the middle are accidentally ignored, and make continues to process commands.
This adds 'set -e' to all of those, so they'll propagate back up.
Signed-off-by: Peter Jones <pjones@redhat.com>
show more ...
|
4b5db35e | 18-Nov-2019 |
Peter Jones <pjones@redhat.com> |
Implement Print(L"%p", ptr);
Signed-off-by: Peter Jones <pjones@redhat.com> |
4f8b339f | 28-Mar-2023 |
Peter Jones <pjones@redhat.com> |
Make ELF constructors and destructors work
This makes setup and teardown functions defined with __attribute__((__constructor__) and __attribute__((__destructor__)) work in normal circumstances in EF
Make ELF constructors and destructors work
This makes setup and teardown functions defined with __attribute__((__constructor__) and __attribute__((__destructor__)) work in normal circumstances in EFI binaries.
A couple of notes: - it implements both the old-style .ctors/.dtors methods and the newer style .init_array/.fini_array ELF constructor and destructor arrays, processed in the order: .init_array[] .ctors[] efi_main() .dtors[] .fini_array[] - Destructors will only be called if efi_main() exits using "return"; any call to Exit() will still longjmp() past them. - InitializeLib() has already been called before constructors run, so they don't need to call it (and neither does anything else.) For compatibility, it has been altered so calling it more than once is safe. - No attempt is made to handle any constructor or destructor with a prototype other than "void func(void);", but note that InitializeLib has been called, so LibImageHandle, ST, BS, and RT are set. - The init_array/ctor/dtor/fini_array lists aren't the using the GNU "CONSTRUCTOR" output section command, so they don't start with a size. - The lists are individually sorted during the link stage via SORT_BY_NAME() in the linker script. - The default (empty) init_array/ctor/dtor/fini_array lists are padded out to 8-byte alignment with ".p2align 3, 0", and each list always has at least one ".long 0" at the end of it (even if it's completely empty). As a result, they can have NULLs that need to be skipped. The sections they're in are mergeable, so the NULLs don't have to be exclusively at the end. - The ia64 and mips64el arches have not been tested.
Signed-off-by: Peter Jones <pjones@redhat.com>
show more ...
|
f7bf4302 | 18-Nov-2019 |
Peter Jones <pjones@redhat.com> |
Semi-asciibetize _Print()'s formatters.
This is ascii order but with upper and lower case letters mixed, so things like 'X' and 'x' that use fallthrough still stay together.
Signed-off-by: Peter Jo
Semi-asciibetize _Print()'s formatters.
This is ascii order but with upper and lower case letters mixed, so things like 'X' and 'x' that use fallthrough still stay together.
Signed-off-by: Peter Jones <pjones@redhat.com>
show more ...
|
cc4ef911 | 14-Nov-2019 |
Peter Jones <pjones@redhat.com> |
Remove the accidentally created lib/Makefile.orig
This was added in dae0b4b0b0d522caecf09123db2cf0250c37a169.
Signed-off-by: Peter Jones <pjones@redhat.com> |
0f9c15fe | 08-Mar-2023 |
bmeng@tinylab.org <bmeng@tinylab.org> |
riscv: Update SPDX license identifiers
The whole gnu-efi project is licensed under BSD license, see [1]. However some of the RISC-V codes have conflict license identifiers:
- Some mention GPL-2.0+
riscv: Update SPDX license identifiers
The whole gnu-efi project is licensed under BSD license, see [1]. However some of the RISC-V codes have conflict license identifiers:
- Some mention GPL-2.0+ in the SPDX license part, but the long license header indicates it's actually BSD and GPL-2.0+ dual-licensed - Some mention GPL-2.0+ in the SPDX license part only - Some do not have any license indication
To have a matching license with the whole project, this commit updates all RISC-V codes to have the correct SPDX license identifiers (GPL-2.0+ or BSD dual-license).
Link: https://sourceforge.net/p/gnu-efi/ [1] Signed-off-by: Bin Meng <bmeng@tinylab.org> Acked-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
show more ...
|
c2102ae0 | 16-Nov-2022 |
b'Nigel Croxon <allura@localhost> |
Merge /u/mingtaoxt/gnu-efi/ branch master into master
https://sourceforge.net/p/gnu-efi/code/merge-requests/29/ |
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 ...
|
2ed64868 | 22-Jun-2022 |
Sergei Trofimovich <slyich@gmail.com> |
lib/Makefile: add .o file dependency on libsubdirs targets
Without the change there is no guarantee that .o files will be built after directories are created for them and build fails as:
gcc -I
lib/Makefile: add .o file dependency on libsubdirs targets
Without the change there is no guarantee that .o files will be built after directories are created for them and build fails as:
gcc -I/build/gnu-efi-code//lib ... -c lib/runtime/rtstr.c -o runtime/rtstr.o Assembler messages: Fatal error: can't create runtime/rtstr.o: No such file or directory
show more ...
|
5849eacd | 07-Jul-2022 |
zhoumingtao <zhoumingtao@loongson.cn> |
use jr instead of jirl
jirl -> jr |
e7db4418 | 30-Dec-2021 |
zhoumingtao <zhoumingtao@loongson.cn> |
Add support for LoongArch64 architecture |