From 67b5f33d4643428fb5f3a678bb22731caadc9e5d Mon Sep 17 00:00:00 2001 From: "Justin C. Miller" Date: Fri, 29 May 2020 00:24:24 -0700 Subject: [PATCH] [general] Remove the last bits of gnu-efi With the new bootloader changes that use clang to directly build an EFI application, the last piece of GNU-EFI that was used (the linker script) is no longer necessary. Thanks for being a great starting point, GNU-EFI! --- other_software.md | 43 ---------------------- src/arch/x86_64/boot.ld | 79 ----------------------------------------- 2 files changed, 122 deletions(-) delete mode 100644 src/arch/x86_64/boot.ld diff --git a/other_software.md b/other_software.md index 674847c..d0734f6 100644 --- a/other_software.md +++ b/other_software.md @@ -87,46 +87,3 @@ which is also released under the terms of the MIT license: > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE > SOFTWARE. - -## GNU-EFI - -jsix's UEFI bootloader initially used [GNU-EFI][], and still uses one file (the -linker script for the bootloader) from that project. GNU-EFI claims to be -released under the BSD license. Again, I could not find its specific license -file, so I am reproducing a generic 3-clause BSD license (the most restrictive, -so as not to assume any extra rights that may not actually be granted) for it -here: - -[GNU-EFI]: https://gnu-efi.sourceforge.net - -> Copyright (c) Nigel Croxon -> -> 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, this -> list of conditions and the following disclaimer. -> -> 2. Redistributions in binary form must reproduce the above copyright notice, -> this list of conditions and the following disclaimer in the documentation -> and/or other materials provided with the distribution. -> -> 3. Neither the name of the copyright holder nor the names of its contributors -> may be used to endorse or promote products derived from this software -> without specific prior written permission. -> -> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -> ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -> WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -> DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -> FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -> DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -> SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -> CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -> OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -> OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -## Intel EFI Application Toolkit - -jsix's UEFI loader uses code from Intel's EFI Application toolkit. Relevant -code includes license statements at the top of each file. diff --git a/src/arch/x86_64/boot.ld b/src/arch/x86_64/boot.ld deleted file mode 100644 index fb8e35f..0000000 --- a/src/arch/x86_64/boot.ld +++ /dev/null @@ -1,79 +0,0 @@ -/* Linker script originally from GNU-EFI project - * https://sourceforge.net/p/gnu-efi/ - */ - -OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") -OUTPUT_ARCH(i386:x86-64) -ENTRY(_start) -SECTIONS -{ - . = 0; - ImageBase = .; - /* .hash and/or .gnu.hash MUST come first! */ - .hash : { *(.hash) } - .gnu.hash : { *(.gnu.hash) } - . = ALIGN(4096); - .eh_frame : - { - *(.eh_frame) - } - . = ALIGN(4096); - .text : - { - _text = .; - *(.text) - *(.text.*) - *(.gnu.linkonce.t.*) - . = ALIGN(16); - } - _etext = .; - _text_size = . - _text; - . = ALIGN(4096); - .reloc : - { - *(.reloc) - } - . = ALIGN(4096); - .data : - { - _data = .; - *(.rodata*) - *(.got.plt) - *(.got) - *(.data*) - *(.sdata) - /* the EFI loader doesn't seem to like a .bss section, so we stick - it all into .data: */ - *(.sbss) - *(.scommon) - *(.dynbss) - *(.bss) - *(COMMON) - *(.rel.local) - } - .note.gnu.build-id : { *(.note.gnu.build-id) } - - _edata = .; - _data_size = . - _etext; - . = ALIGN(4096); - .dynamic : { *(.dynamic) } - . = ALIGN(4096); - .rela : - { - *(.rela.data*) - *(.rela.got) - *(.rela.stab) - } - . = ALIGN(4096); - .dynsym : { *(.dynsym) } - . = ALIGN(4096); - .dynstr : { *(.dynstr) } - . = ALIGN(4096); - .ignored.reloc : - { - *(.rela.reloc) - *(.eh_frame) - *(.note.GNU-stack) - } - .comment 0 : { *(.comment) } -}