Commit Graph

500 Commits

Author SHA1 Message Date
Callum Farmer
aa2ad0329b
Fix calling of gnuefi install with local lds
* Local lds wasn't being installed on RISC-V

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-24 14:24:03 +01:00
Callum Farmer
21ea877a01
IA32 local: Fix up crt0 symbols
* This should use a fully split version of the CRT0 not the old ARM un-split version

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-24 13:28:41 +01:00
Callum Farmer
e9b6ac7126
ARM64 local: Remove NR_SECTIONS
* NR_SECTIONS is part of the crt0 generator for fwupd-efi
* This isn't implemented here

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-24 13:28:41 +01:00
Callum Farmer
24a4cd0e56
ARM32: Split headers and code
* Force code to be at known dest of 4096
* Move _start into .text
* Load the _start symbol address and then minus 4096 to get the load
  address

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-24 13:28:41 +01:00
Callum Farmer
57d2e370d8
Add more detail to ABI notice
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-24 13:28:41 +01:00
Callum Farmer
aa8151c3d2
Add more notes to GitHub release info
* Just to ensure GitHub doesn't run anyway with the hills

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-24 13:28:41 +01:00
Callum Farmer
b5a7f60a6b
Clarify CompareGuid change
* Update guid.c to display correct output code in description
* Add warning about failure in ABI README

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-24 13:28:40 +01:00
Callum Farmer
e5b75c4482
Remove unused files
* tpause wasn't included in Makefile and is very basic
(also removed from VS references)
* trivial.S doesn't actually use gnu-efi and wasn't built
* Remove make stuff likely intended for Intel make??

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-24 13:28:32 +01:00
Nigel Croxon
c0c9fbb198
Merge pull request #42 from sertonix/usr-bin-env
Replace /bin/env with /usr/bin/env
2024-09-19 07:49:04 -04:00
Nigel Croxon
e5f21388a4
Merge pull request #44 from gmbr3/v4_0
Repo clean up
2024-09-19 07:48:23 -04:00
Callum Farmer
ae2ca1e051
lib: Avoid install dependency on build target
install was depending on libefi.a which can sometimes trigger a project rebuild if make variables change

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-18 17:59:00 +01:00
Callum Farmer
860132349f
Add notice about new subdirectories
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-18 12:52:37 +01:00
Callum Farmer
48c7e47771
Clarify current compiler requirements
Clang+lld now works, looks like MSVC does aswell so update the text

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-18 12:41:02 +01:00
Callum Farmer
79eb20b5d1
Move docs to Markdown
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-16 16:07:23 +01:00
Callum Farmer
c9edd83549
Update release details for GitHub
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-16 16:06:44 +01:00
Callum Farmer
34c694069c
Add shared objects to gitignore
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-16 15:37:19 +01:00
Callum Farmer
9ec31629f5
Remove old ChangeLog
Hasn't been updated in ages and isn't required

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-16 15:37:18 +01:00
Callum Farmer
632b6b45e3
Move non-main README to separate folder
Create docs subdirectory

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-16 15:37:18 +01:00
Callum Farmer
618037c0cb
Update GPL-2.0 SPDX notation
GPL-2.0+ is now GPL-2.0-or-later

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-16 15:37:18 +01:00
Callum Farmer
3e9899b233
Setup Dependabot for GH Actions
Requires 'Dependabot version updates' be enabled on GitHub
2024-09-16 15:37:18 +01:00
Callum Farmer
68101114ce
Add security policy
Requires 'Private vulnerability reporting' be enabled on GitHub
2024-09-16 15:37:18 +01:00
Callum Farmer
dfc27f3416
Re-format README
* Make it look right in Markdown format
* Fix PE32+ spec link

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-16 15:37:17 +01:00
Callum Farmer
2a3244d2e5
Sort licenses and the main README
* Set main license to GPL-2.0-or-later (seems to be generally)
* Denote efilib license as a license
* Add edk2 license due to files using it

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-16 15:37:17 +01:00
Callum Farmer
189cf4ec73
Add missed CompareGuid fixup
Missed from ncroxon/gnu-efi@c14705b746

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-16 15:37:17 +01:00
Callum Farmer
86239d7bdf
Add notice section on the .rodata change
Change made in ncroxon/gnu-efi@262c1f4604

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-16 15:37:17 +01:00
Callum Farmer
7bf718da57
Add notice about functional changes
* As this may break compilation and cause runtime errors, supply a notice on how to fix it

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-09-16 15:36:12 +01:00
Sertonix
5a36c05277 Replace /bin/env with /usr/bin/env
The correct path for the env binary on systems without a usr-merge is /usr/bin/env

Signed-off-by: Sertonix <sertonix@posteo.net>
2024-09-09 00:25:46 +02:00
Callum Farmer
5aaf99b474
Update some things for v4
* Create macro to detect v4
* Update section info text
* Set version to 4.0.0

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-08-23 11:46:35 +01:00
Callum Farmer
f505aa71e6
Add missed clean-up for FreeBSD
Missed from ncroxon/gnu-efi@13c46e46a6

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-08-19 14:00:13 +01:00
Nigel Croxon
5560e57038
Merge pull request #41 from NotsoanoNimus/NotsoanoNimus/feature/add-mp-support
Add MP Services Protocol Support
2024-08-09 09:05:47 -04:00
Zack Puhl
7b409340e4 Add MP Services Protocol Support 2024-08-08 08:31:26 -04:00
Nigel Croxon
b4cde1c031
Merge pull request #40 from gmbr3/v4_0
FreeBSD update + CompareGuid ABI change
2024-08-05 06:56:40 -04:00
Callum Farmer
88f0e1cca8
Update old_ABI test for CompareGuid
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-08-04 19:23:50 +01:00
Callum Farmer
b23462d47c
Add single option to revert to old ABI
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-08-04 19:13:32 +01:00
Callum Farmer
81321deb03
Move STATIC to efidef.h
* Allows use in legacy.h

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-08-03 16:21:38 +01:00
Callum Farmer
c14705b746
Fix up for new CompareGuid
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-08-03 16:21:38 +01:00
Callum Farmer
a093fe0378
Make CompareGuid match EDK2 ABI
* return BOOLEAN instead of INTN
* Use EFIAPI
* Opposite return codes

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-08-03 16:21:38 +01:00
Callum Farmer
13c46e46a6
Sync FreeBSD
* Always use objcopy -O (--target doesn't make sense)
  and isn't available on freebsd
* No efi-bsdrv target (but has efi-app)(bug in binutils??)
* Sync linker scripts (all features are supported)
* Use clang as HOSTCC (there is no default gcc)

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-08-03 16:21:00 +01:00
Callum Farmer
3398bf0dd9
Align REL(A) def with GLIBC
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-07-28 15:43:37 +01:00
Callum Farmer
939dffb06f
Allow forcefully ignoring glibc headers on Linux
* Sometimes it may not be available so allow use of the substitute version

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-07-28 15:43:32 +01:00
Nigel Croxon
a5e8881923
Merge pull request #38 from gmbr3/v4_0
Add ix86 and ARM32 MacOS (embedded ELF) CI/CD
2024-07-18 06:57:21 -04:00
Callum Farmer
06320f8fb3
Don't edit the riscv subsystem if using objcopy
* Only needed in binary mode

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-07-16 14:49:52 +01:00
Callum Farmer
e092a94869
Add non-objcopy IA32 crt0/lds
* Needed by embedded (MacOS) ELF toolchain

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-07-16 14:49:52 +01:00
Callum Farmer
644e03821e
Tune for new MacOS toolchains
* Doesn't seem to like nocombreloc
* i686 doesn't have the efi-app-ia32 target (bug in binutils??)
* Set float manually on ARM32 due to generic toolchain
* Ensure _DYNAMIC symbol exists

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-07-16 14:49:52 +01:00
Callum Farmer
8f5c321507
Better detect the correct MacOS toolchain
* We need ELF not Mach-O

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-07-16 14:49:52 +01:00
Callum Farmer
5d4ada9352
Add missing parts to elf.h
* Missing LGPL-2.1+ license
* Add missing REL definitions

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-07-16 14:49:36 +01:00
Callum Farmer
d416122fd8
Add extra archs to MacOS CI/CD
* Add x86, ARM32
* RISC-V won't work until binutils remove the shared library embedded
  ELF blocker

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-07-16 14:49:20 +01:00
Nigel Croxon
feddb5ad3c
Merge pull request #37 from gmbr3/v4_0
Add macOS support
2024-07-15 07:37:24 -04:00
Callum Farmer
16a913e01c
Disable norelro on macOS
The no platform GNU ELF linker rejects it

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-07-14 18:50:40 +01:00
Callum Farmer
b6f99c7ac5
Add substitute elf.h for macOS
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2024-07-14 18:50:39 +01:00