mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-05 20:36:40 +02:00
Revert "main/gnu-efi: upgrade to 3.0.17"
This reverts commit dbdba28d06c92d275444691287b8a9ca90c797c5. This reverts commit ac432793fc5b445124c1a5edc21b131a1da8b9e4. Broken on arm, and patch from redhat fails on armv7.
This commit is contained in:
parent
dbdba28d06
commit
605653ced7
@ -1,7 +1,7 @@
|
||||
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
||||
pkgname=gnu-efi
|
||||
pkgver=3.0.17
|
||||
pkgrel=1
|
||||
pkgver=3.0.15
|
||||
pkgrel=4
|
||||
pkgdesc="Development Libraries and headers for EFI"
|
||||
url="https://sourceforge.net/projects/gnu-efi/"
|
||||
arch="all !armhf !s390x !ppc64le !mips !mips64"
|
||||
@ -10,11 +10,9 @@ subpackages="$pkgname-dev"
|
||||
depends_dev="$pkgname"
|
||||
source="https://downloads.sourceforge.net/project/gnu-efi/gnu-efi-$pkgver.tar.bz2
|
||||
no-werror.patch
|
||||
avoid-processor-dependent-sizes-in-assembly.patch
|
||||
"
|
||||
|
||||
build() {
|
||||
unset LDFLAGS
|
||||
make -j1
|
||||
}
|
||||
|
||||
@ -23,7 +21,6 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
0893ca234272584f889b1ae1c75341a9ceee60acfd32765daa5d704191ba00450536a287b949304c6d055d1bf125cc29e24fc41df8e5230e0da4f9d944876512 gnu-efi-3.0.17.tar.bz2
|
||||
271b12d516f1e5eeb6fc5b0d02879f0c3c4875539f4a9419d10ee88cc27b74b8dd5f5677b78f04062bb29120b3b44727d800efc50d82b3d6626517ce113759e7 no-werror.patch
|
||||
7e22ef4d1170b44ad1b7c00d5bb2d4e428a90de40e2a24145561ccc9da12968d46012ba6ade7377e9336ce87473f4449a9be9d3f5361589d33126c682c3c9970 avoid-processor-dependent-sizes-in-assembly.patch
|
||||
64d408b6d115bdc6eebae12fbd6cd907ed5f847f54e506c1e8f8ea5de38a95cf6fac66ab1009bd1d0bd2d54ad45ad598d29bcc303926a5899bf5cc25448cbb2f gnu-efi-3.0.15.tar.bz2
|
||||
f384597dc967cc9b1cf738d4002dc75847606c8ab10efbaf9e23844c767f5b9a33518374321b2ae5c5d7e4c9c3abaed996d0690ea81a7906355cabec1426d248 no-werror.patch
|
||||
"
|
||||
|
||||
@ -1,754 +0,0 @@
|
||||
From 9e6cb2150bee08e83ec0cdfb8d6c2f83975dd3df Mon Sep 17 00:00:00 2001
|
||||
From: Callum Farmer <gmbr3@opensuse.org>
|
||||
Date: Sat, 20 May 2023 13:37:04 +0100
|
||||
Subject: [PATCH] Avoid processor dependent sizes in assembly
|
||||
|
||||
.word -> .2byte
|
||||
.short -> .2byte
|
||||
.long -> .4byte
|
||||
.quad -> .8byte
|
||||
|
||||
Reference: https://github.com/rhboot/gnu-efi/commit/b83f0845b556506265d25d6a839a23c77b037ae4
|
||||
Fixes: https://sourceforge.net/p/gnu-efi/bugs/37/
|
||||
|
||||
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
|
||||
---
|
||||
gnuefi/crt0-efi-aarch64.S | 10 +--
|
||||
gnuefi/crt0-efi-arm.S | 128 +++++++++++++++++-----------------
|
||||
gnuefi/crt0-efi-ia32.S | 10 +--
|
||||
gnuefi/crt0-efi-loongarch64.S | 126 ++++++++++++++++-----------------
|
||||
gnuefi/crt0-efi-mips64el.S | 126 ++++++++++++++++-----------------
|
||||
gnuefi/crt0-efi-riscv64.S | 120 +++++++++++++++----------------
|
||||
gnuefi/crt0-efi-x86_64.S | 10 +--
|
||||
7 files changed, 265 insertions(+), 265 deletions(-)
|
||||
|
||||
diff --git a/gnuefi/crt0-efi-aarch64.S b/gnuefi/crt0-efi-aarch64.S
|
||||
index 6016698..0652b73 100644
|
||||
--- a/gnuefi/crt0-efi-aarch64.S
|
||||
+++ b/gnuefi/crt0-efi-aarch64.S
|
||||
@@ -42,15 +42,15 @@ _start:
|
||||
// hand-craft a dummy .reloc section so EFI knows it's a relocatable executable:
|
||||
|
||||
.data
|
||||
-dummy: .long 0
|
||||
+dummy: .4byte 0
|
||||
|
||||
#define IMAGE_REL_ABSOLUTE 0
|
||||
.section .reloc, "a"
|
||||
label1:
|
||||
- .long dummy-label1 // Page RVA
|
||||
- .long 12 // Block Size (2*4+2*2), must be aligned by 32 Bits
|
||||
- .word (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy
|
||||
- .word (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy
|
||||
+ .4byte dummy-label1 // Page RVA
|
||||
+ .4byte 12 // Block Size (2*4+2*2), must be aligned by 32 Bits
|
||||
+ .2byte (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy
|
||||
+ .2byte (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy
|
||||
|
||||
#if defined(__ELF__) && defined(__linux__)
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
diff --git a/gnuefi/crt0-efi-arm.S b/gnuefi/crt0-efi-arm.S
|
||||
index 716699b..21e92b9 100644
|
||||
--- a/gnuefi/crt0-efi-arm.S
|
||||
+++ b/gnuefi/crt0-efi-arm.S
|
||||
@@ -25,65 +25,65 @@
|
||||
ImageBase:
|
||||
.ascii "MZ"
|
||||
.skip 58 // 'MZ' + pad + offset == 64
|
||||
- .long pe_header - ImageBase // Offset to the PE header.
|
||||
+ .4byte pe_header - ImageBase // Offset to the PE header.
|
||||
pe_header:
|
||||
.ascii "PE"
|
||||
- .short 0
|
||||
+ .2byte 0
|
||||
coff_header:
|
||||
- .short 0x1c2 // Mixed ARM/Thumb
|
||||
- .short 2 // nr_sections
|
||||
- .long 0 // TimeDateStamp
|
||||
- .long 0 // PointerToSymbolTable
|
||||
- .long 0 // NumberOfSymbols
|
||||
- .short section_table - optional_header // SizeOfOptionalHeader
|
||||
- .short 0x306 // Characteristics.
|
||||
+ .2byte 0x1c2 // Mixed ARM/Thumb
|
||||
+ .2byte 2 // nr_sections
|
||||
+ .4byte 0 // TimeDateStamp
|
||||
+ .4byte 0 // PointerToSymbolTable
|
||||
+ .4byte 0 // NumberOfSymbols
|
||||
+ .2byte section_table - optional_header // SizeOfOptionalHeader
|
||||
+ .2byte 0x306 // Characteristics.
|
||||
// IMAGE_FILE_32BIT_MACHINE |
|
||||
// IMAGE_FILE_DEBUG_STRIPPED |
|
||||
// IMAGE_FILE_EXECUTABLE_IMAGE |
|
||||
// IMAGE_FILE_LINE_NUMS_STRIPPED
|
||||
optional_header:
|
||||
- .short 0x10b // PE32+ format
|
||||
+ .2byte 0x10b // PE32+ format
|
||||
.byte 0x02 // MajorLinkerVersion
|
||||
.byte 0x14 // MinorLinkerVersion
|
||||
- .long _edata - _start // SizeOfCode
|
||||
- .long 0 // SizeOfInitializedData
|
||||
- .long 0 // SizeOfUninitializedData
|
||||
- .long _start - ImageBase // AddressOfEntryPoint
|
||||
- .long _start - ImageBase // BaseOfCode
|
||||
- .long 0 // BaseOfData
|
||||
+ .4byte _edata - _start // SizeOfCode
|
||||
+ .4byte 0 // SizeOfInitializedData
|
||||
+ .4byte 0 // SizeOfUninitializedData
|
||||
+ .4byte _start - ImageBase // AddressOfEntryPoint
|
||||
+ .4byte _start - ImageBase // BaseOfCode
|
||||
+ .4byte 0 // BaseOfData
|
||||
|
||||
extra_header_fields:
|
||||
- .long 0 // ImageBase
|
||||
- .long 0x20 // SectionAlignment
|
||||
- .long 0x8 // FileAlignment
|
||||
- .short 0 // MajorOperatingSystemVersion
|
||||
- .short 0 // MinorOperatingSystemVersion
|
||||
- .short 0 // MajorImageVersion
|
||||
- .short 0 // MinorImageVersion
|
||||
- .short 0 // MajorSubsystemVersion
|
||||
- .short 0 // MinorSubsystemVersion
|
||||
- .long 0 // Win32VersionValue
|
||||
-
|
||||
- .long _edata - ImageBase // SizeOfImage
|
||||
+ .4byte 0 // ImageBase
|
||||
+ .4byte 0x20 // SectionAlignment
|
||||
+ .4byte 0x8 // FileAlignment
|
||||
+ .2byte 0 // MajorOperatingSystemVersion
|
||||
+ .2byte 0 // MinorOperatingSystemVersion
|
||||
+ .2byte 0 // MajorImageVersion
|
||||
+ .2byte 0 // MinorImageVersion
|
||||
+ .2byte 0 // MajorSubsystemVersion
|
||||
+ .2byte 0 // MinorSubsystemVersion
|
||||
+ .4byte 0 // Win32VersionValue
|
||||
+
|
||||
+ .4byte _edata - ImageBase // SizeOfImage
|
||||
|
||||
// Everything before the kernel image is considered part of the header
|
||||
- .long _start - ImageBase // SizeOfHeaders
|
||||
- .long 0 // CheckSum
|
||||
- .short EFI_SUBSYSTEM // Subsystem
|
||||
- .short 0 // DllCharacteristics
|
||||
- .long 0 // SizeOfStackReserve
|
||||
- .long 0 // SizeOfStackCommit
|
||||
- .long 0 // SizeOfHeapReserve
|
||||
- .long 0 // SizeOfHeapCommit
|
||||
- .long 0 // LoaderFlags
|
||||
- .long 0x6 // NumberOfRvaAndSizes
|
||||
-
|
||||
- .quad 0 // ExportTable
|
||||
- .quad 0 // ImportTable
|
||||
- .quad 0 // ResourceTable
|
||||
- .quad 0 // ExceptionTable
|
||||
- .quad 0 // CertificationTable
|
||||
- .quad 0 // BaseRelocationTable
|
||||
+ .4byte _start - ImageBase // SizeOfHeaders
|
||||
+ .4byte 0 // CheckSum
|
||||
+ .2byte EFI_SUBSYSTEM // Subsystem
|
||||
+ .2byte 0 // DllCharacteristics
|
||||
+ .4byte 0 // SizeOfStackReserve
|
||||
+ .4byte 0 // SizeOfStackCommit
|
||||
+ .4byte 0 // SizeOfHeapReserve
|
||||
+ .4byte 0 // SizeOfHeapCommit
|
||||
+ .4byte 0 // LoaderFlags
|
||||
+ .4byte 0x6 // NumberOfRvaAndSizes
|
||||
+
|
||||
+ .8byte 0 // ExportTable
|
||||
+ .8byte 0 // ImportTable
|
||||
+ .8byte 0 // ResourceTable
|
||||
+ .8byte 0 // ExceptionTable
|
||||
+ .8byte 0 // CertificationTable
|
||||
+ .8byte 0 // BaseRelocationTable
|
||||
|
||||
// Section table
|
||||
section_table:
|
||||
@@ -96,31 +96,31 @@ section_table:
|
||||
.ascii ".reloc"
|
||||
.byte 0
|
||||
.byte 0 // end of 0 padding of section name
|
||||
- .long 0
|
||||
- .long 0
|
||||
- .long 0 // SizeOfRawData
|
||||
- .long 0 // PointerToRawData
|
||||
- .long 0 // PointerToRelocations
|
||||
- .long 0 // PointerToLineNumbers
|
||||
- .short 0 // NumberOfRelocations
|
||||
- .short 0 // NumberOfLineNumbers
|
||||
- .long 0x42100040 // Characteristics (section flags)
|
||||
+ .4byte 0
|
||||
+ .4byte 0
|
||||
+ .4byte 0 // SizeOfRawData
|
||||
+ .4byte 0 // PointerToRawData
|
||||
+ .4byte 0 // PointerToRelocations
|
||||
+ .4byte 0 // PointerToLineNumbers
|
||||
+ .2byte 0 // NumberOfRelocations
|
||||
+ .2byte 0 // NumberOfLineNumbers
|
||||
+ .4byte 0x42100040 // Characteristics (section flags)
|
||||
|
||||
|
||||
.ascii ".text"
|
||||
.byte 0
|
||||
.byte 0
|
||||
.byte 0 // end of 0 padding of section name
|
||||
- .long _edata - _start // VirtualSize
|
||||
- .long _start - ImageBase // VirtualAddress
|
||||
- .long _edata - _start // SizeOfRawData
|
||||
- .long _start - ImageBase // PointerToRawData
|
||||
+ .4byte _edata - _start // VirtualSize
|
||||
+ .4byte _start - ImageBase // VirtualAddress
|
||||
+ .4byte _edata - _start // SizeOfRawData
|
||||
+ .4byte _start - ImageBase // PointerToRawData
|
||||
|
||||
- .long 0 // PointerToRelocations (0 for executables)
|
||||
- .long 0 // PointerToLineNumbers (0 for executables)
|
||||
- .short 0 // NumberOfRelocations (0 for executables)
|
||||
- .short 0 // NumberOfLineNumbers (0 for executables)
|
||||
- .long 0xe0500020 // Characteristics (section flags)
|
||||
+ .4byte 0 // PointerToRelocations (0 for executables)
|
||||
+ .4byte 0 // PointerToLineNumbers (0 for executables)
|
||||
+ .2byte 0 // NumberOfRelocations (0 for executables)
|
||||
+ .2byte 0 // NumberOfLineNumbers (0 for executables)
|
||||
+ .4byte 0xe0500020 // Characteristics (section flags)
|
||||
|
||||
_start:
|
||||
stmfd sp!, {r0-r2, lr}
|
||||
@@ -142,7 +142,7 @@ _start:
|
||||
ldr pc, [sp], #4
|
||||
|
||||
.L_DYNAMIC:
|
||||
- .word _DYNAMIC - .
|
||||
+ .2byte _DYNAMIC - .
|
||||
|
||||
#if defined(__ELF__) && defined(__linux__)
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
diff --git a/gnuefi/crt0-efi-ia32.S b/gnuefi/crt0-efi-ia32.S
|
||||
index df3340a..4e9439b 100644
|
||||
--- a/gnuefi/crt0-efi-ia32.S
|
||||
+++ b/gnuefi/crt0-efi-ia32.S
|
||||
@@ -67,14 +67,14 @@ _start:
|
||||
// hand-craft a dummy .reloc section so EFI knows it's a relocatable executable:
|
||||
|
||||
.data
|
||||
-dummy: .long 0
|
||||
+dummy: .4byte 0
|
||||
|
||||
#define IMAGE_REL_ABSOLUTE 0
|
||||
.section .reloc
|
||||
- .long dummy // Page RVA
|
||||
- .long 12 // Block Size (2*4+2*2), must be aligned by 32 Bits
|
||||
- .word (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy
|
||||
- .word (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy
|
||||
+ .4byte dummy // Page RVA
|
||||
+ .4byte 12 // Block Size (2*4+2*2), must be aligned by 32 Bits
|
||||
+ .2byte (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy
|
||||
+ .2byte (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy
|
||||
|
||||
#if defined(__ELF__) && defined(__linux__)
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
diff --git a/gnuefi/crt0-efi-loongarch64.S b/gnuefi/crt0-efi-loongarch64.S
|
||||
index af45d46..4c89e1b 100644
|
||||
--- a/gnuefi/crt0-efi-loongarch64.S
|
||||
+++ b/gnuefi/crt0-efi-loongarch64.S
|
||||
@@ -29,63 +29,63 @@
|
||||
ImageBase:
|
||||
.ascii "MZ"
|
||||
.skip 58 // 'MZ' + pad + offset == 64
|
||||
- .long pe_header - ImageBase // Offset to the PE header.
|
||||
+ .4byte pe_header - ImageBase // Offset to the PE header.
|
||||
pe_header:
|
||||
.ascii "PE"
|
||||
- .short 0
|
||||
+ .2byte 0
|
||||
coff_header:
|
||||
- .short 0x6264 // loongarch64 little endian
|
||||
- .short 2 // nr_sections
|
||||
- .long 0 // TimeDateStamp
|
||||
- .long 0 // PointerToSymbolTable
|
||||
- .long 1 // NumberOfSymbols
|
||||
- .short section_table - optional_header // SizeOfOptionalHeader
|
||||
- .short 0x206 // Characteristics.
|
||||
+ .2byte 0x6264 // loongarch64 little endian
|
||||
+ .2byte 2 // nr_sections
|
||||
+ .4byte 0 // TimeDateStamp
|
||||
+ .4byte 0 // PointerToSymbolTable
|
||||
+ .4byte 1 // NumberOfSymbols
|
||||
+ .2byte section_table - optional_header // SizeOfOptionalHeader
|
||||
+ .2byte 0x206 // Characteristics.
|
||||
// IMAGE_FILE_DEBUG_STRIPPED |
|
||||
// IMAGE_FILE_EXECUTABLE_IMAGE |
|
||||
// IMAGE_FILE_LINE_NUMS_STRIPPED
|
||||
optional_header:
|
||||
- .short 0x20b // PE32+ format
|
||||
+ .2byte 0x20b // PE32+ format
|
||||
.byte 0x02 // MajorLinkerVersion
|
||||
.byte 0x14 // MinorLinkerVersion
|
||||
- .long _edata - _start // SizeOfCode
|
||||
- .long 0 // SizeOfInitializedData
|
||||
- .long 0 // SizeOfUninitializedData
|
||||
- .long _start - ImageBase // AddressOfEntryPoint
|
||||
- .long _start - ImageBase // BaseOfCode
|
||||
+ .4byte _edata - _start // SizeOfCode
|
||||
+ .4byte 0 // SizeOfInitializedData
|
||||
+ .4byte 0 // SizeOfUninitializedData
|
||||
+ .4byte _start - ImageBase // AddressOfEntryPoint
|
||||
+ .4byte _start - ImageBase // BaseOfCode
|
||||
|
||||
extra_header_fields:
|
||||
- .quad 0 // ImageBase
|
||||
- .long 0x20 // SectionAlignment
|
||||
- .long 0x8 // FileAlignment
|
||||
- .short 0 // MajorOperatingSystemVersion
|
||||
- .short 0 // MinorOperatingSystemVersion
|
||||
- .short 0 // MajorImageVersion
|
||||
- .short 0 // MinorImageVersion
|
||||
- .short 0 // MajorSubsystemVersion
|
||||
- .short 0 // MinorSubsystemVersion
|
||||
- .long 0 // Win32VersionValue
|
||||
-
|
||||
- .long _edata - ImageBase // SizeOfImage
|
||||
+ .8byte 0 // ImageBase
|
||||
+ .4byte 0x20 // SectionAlignment
|
||||
+ .4byte 0x8 // FileAlignment
|
||||
+ .2byte 0 // MajorOperatingSystemVersion
|
||||
+ .2byte 0 // MinorOperatingSystemVersion
|
||||
+ .2byte 0 // MajorImageVersion
|
||||
+ .2byte 0 // MinorImageVersion
|
||||
+ .2byte 0 // MajorSubsystemVersion
|
||||
+ .2byte 0 // MinorSubsystemVersion
|
||||
+ .4byte 0 // Win32VersionValue
|
||||
+
|
||||
+ .4byte _edata - ImageBase // SizeOfImage
|
||||
|
||||
// Everything before the kernel image is considered part of the header
|
||||
- .long _start - ImageBase // SizeOfHeaders
|
||||
- .long 0 // CheckSum
|
||||
- .short EFI_SUBSYSTEM // Subsystem
|
||||
- .short 0 // DllCharacteristics
|
||||
- .quad 0 // SizeOfStackReserve
|
||||
- .quad 0 // SizeOfStackCommit
|
||||
- .quad 0 // SizeOfHeapReserve
|
||||
- .quad 0 // SizeOfHeapCommit
|
||||
- .long 0 // LoaderFlags
|
||||
- .long 0x6 // NumberOfRvaAndSizes
|
||||
-
|
||||
- .quad 0 // ExportTable
|
||||
- .quad 0 // ImportTable
|
||||
- .quad 0 // ResourceTable
|
||||
- .quad 0 // ExceptionTable
|
||||
- .quad 0 // CertificationTable
|
||||
- .quad 0 // BaseRelocationTable
|
||||
+ .4byte _start - ImageBase // SizeOfHeaders
|
||||
+ .4byte 0 // CheckSum
|
||||
+ .2byte EFI_SUBSYSTEM // Subsystem
|
||||
+ .2byte 0 // DllCharacteristics
|
||||
+ .8byte 0 // SizeOfStackReserve
|
||||
+ .8byte 0 // SizeOfStackCommit
|
||||
+ .8byte 0 // SizeOfHeapReserve
|
||||
+ .8byte 0 // SizeOfHeapCommit
|
||||
+ .4byte 0 // LoaderFlags
|
||||
+ .4byte 0x6 // NumberOfRvaAndSizes
|
||||
+
|
||||
+ .8byte 0 // ExportTable
|
||||
+ .8byte 0 // ImportTable
|
||||
+ .8byte 0 // ResourceTable
|
||||
+ .8byte 0 // ExceptionTable
|
||||
+ .8byte 0 // CertificationTable
|
||||
+ .8byte 0 // BaseRelocationTable
|
||||
|
||||
// Section table
|
||||
section_table:
|
||||
@@ -98,31 +98,31 @@ section_table:
|
||||
.ascii ".reloc"
|
||||
.byte 0
|
||||
.byte 0 // end of 0 padding of section name
|
||||
- .long 0
|
||||
- .long 0
|
||||
- .long 0 // SizeOfRawData
|
||||
- .long 0 // PointerToRawData
|
||||
- .long 0 // PointerToRelocations
|
||||
- .long 0 // PointerToLineNumbers
|
||||
- .short 0 // NumberOfRelocations
|
||||
- .short 0 // NumberOfLineNumbers
|
||||
- .long 0x42100040 // Characteristics (section flags)
|
||||
+ .4byte 0
|
||||
+ .4byte 0
|
||||
+ .4byte 0 // SizeOfRawData
|
||||
+ .4byte 0 // PointerToRawData
|
||||
+ .4byte 0 // PointerToRelocations
|
||||
+ .4byte 0 // PointerToLineNumbers
|
||||
+ .2byte 0 // NumberOfRelocations
|
||||
+ .2byte 0 // NumberOfLineNumbers
|
||||
+ .4byte 0x42100040 // Characteristics (section flags)
|
||||
|
||||
|
||||
.ascii ".text"
|
||||
.byte 0
|
||||
.byte 0
|
||||
.byte 0 // end of 0 padding of section name
|
||||
- .long _edata - _start // VirtualSize
|
||||
- .long _start - ImageBase // VirtualAddress
|
||||
- .long _edata - _start // SizeOfRawData
|
||||
- .long _start - ImageBase // PointerToRawData
|
||||
-
|
||||
- .long 0 // PointerToRelocations (0 for executables)
|
||||
- .long 0 // PointerToLineNumbers (0 for executables)
|
||||
- .short 0 // NumberOfRelocations (0 for executables)
|
||||
- .short 0 // NumberOfLineNumbers (0 for executables)
|
||||
- .long 0xe0500020 // Characteristics (section flags)
|
||||
+ .4byte _edata - _start // VirtualSize
|
||||
+ .4byte _start - ImageBase // VirtualAddress
|
||||
+ .4byte _edata - _start // SizeOfRawData
|
||||
+ .4byte _start - ImageBase // PointerToRawData
|
||||
+
|
||||
+ .4byte 0 // PointerToRelocations (0 for executables)
|
||||
+ .4byte 0 // PointerToLineNumbers (0 for executables)
|
||||
+ .2byte 0 // NumberOfRelocations (0 for executables)
|
||||
+ .2byte 0 // NumberOfLineNumbers (0 for executables)
|
||||
+ .4byte 0xe0500020 // Characteristics (section flags)
|
||||
|
||||
.align 4
|
||||
|
||||
diff --git a/gnuefi/crt0-efi-mips64el.S b/gnuefi/crt0-efi-mips64el.S
|
||||
index cecabfb..7fe6585 100644
|
||||
--- a/gnuefi/crt0-efi-mips64el.S
|
||||
+++ b/gnuefi/crt0-efi-mips64el.S
|
||||
@@ -26,63 +26,63 @@
|
||||
ImageBase:
|
||||
.ascii "MZ"
|
||||
.skip 58 // 'MZ' + pad + offset == 64
|
||||
- .long pe_header - ImageBase // Offset to the PE header.
|
||||
+ .4byte pe_header - ImageBase // Offset to the PE header.
|
||||
pe_header:
|
||||
.ascii "PE"
|
||||
- .short 0
|
||||
+ .2byte 0
|
||||
coff_header:
|
||||
- .short 0x166 // MIPS little endian
|
||||
- .short 2 // nr_sections
|
||||
- .long 0 // TimeDateStamp
|
||||
- .long 0 // PointerToSymbolTable
|
||||
- .long 0 // NumberOfSymbols
|
||||
- .short section_table - optional_header // SizeOfOptionalHeader
|
||||
- .short 0x206 // Characteristics.
|
||||
+ .2byte 0x166 // MIPS little endian
|
||||
+ .2byte 2 // nr_sections
|
||||
+ .4byte 0 // TimeDateStamp
|
||||
+ .4byte 0 // PointerToSymbolTable
|
||||
+ .4byte 0 // NumberOfSymbols
|
||||
+ .2byte section_table - optional_header // SizeOfOptionalHeader
|
||||
+ .2byte 0x206 // Characteristics.
|
||||
// IMAGE_FILE_DEBUG_STRIPPED |
|
||||
// IMAGE_FILE_EXECUTABLE_IMAGE |
|
||||
// IMAGE_FILE_LINE_NUMS_STRIPPED
|
||||
optional_header:
|
||||
- .short 0x20b // PE32+ format
|
||||
+ .2byte 0x20b // PE32+ format
|
||||
.byte 0x02 // MajorLinkerVersion
|
||||
.byte 0x14 // MinorLinkerVersion
|
||||
- .long _edata - _start // SizeOfCode
|
||||
- .long 0 // SizeOfInitializedData
|
||||
- .long 0 // SizeOfUninitializedData
|
||||
- .long _start - ImageBase // AddressOfEntryPoint
|
||||
- .long _start - ImageBase // BaseOfCode
|
||||
+ .4byte _edata - _start // SizeOfCode
|
||||
+ .4byte 0 // SizeOfInitializedData
|
||||
+ .4byte 0 // SizeOfUninitializedData
|
||||
+ .4byte _start - ImageBase // AddressOfEntryPoint
|
||||
+ .4byte _start - ImageBase // BaseOfCode
|
||||
|
||||
extra_header_fields:
|
||||
- .quad 0 // ImageBase
|
||||
- .long 0x20 // SectionAlignment
|
||||
- .long 0x8 // FileAlignment
|
||||
- .short 0 // MajorOperatingSystemVersion
|
||||
- .short 0 // MinorOperatingSystemVersion
|
||||
- .short 0 // MajorImageVersion
|
||||
- .short 0 // MinorImageVersion
|
||||
- .short 0 // MajorSubsystemVersion
|
||||
- .short 0 // MinorSubsystemVersion
|
||||
- .long 0 // Win32VersionValue
|
||||
-
|
||||
- .long _edata - ImageBase // SizeOfImage
|
||||
+ .8byte 0 // ImageBase
|
||||
+ .4byte 0x20 // SectionAlignment
|
||||
+ .4byte 0x8 // FileAlignment
|
||||
+ .2byte 0 // MajorOperatingSystemVersion
|
||||
+ .2byte 0 // MinorOperatingSystemVersion
|
||||
+ .2byte 0 // MajorImageVersion
|
||||
+ .2byte 0 // MinorImageVersion
|
||||
+ .2byte 0 // MajorSubsystemVersion
|
||||
+ .2byte 0 // MinorSubsystemVersion
|
||||
+ .4byte 0 // Win32VersionValue
|
||||
+
|
||||
+ .4byte _edata - ImageBase // SizeOfImage
|
||||
|
||||
// Everything before the kernel image is considered part of the header
|
||||
- .long _start - ImageBase // SizeOfHeaders
|
||||
- .long 0 // CheckSum
|
||||
- .short EFI_SUBSYSTEM // Subsystem
|
||||
- .short 0 // DllCharacteristics
|
||||
- .quad 0 // SizeOfStackReserve
|
||||
- .quad 0 // SizeOfStackCommit
|
||||
- .quad 0 // SizeOfHeapReserve
|
||||
- .quad 0 // SizeOfHeapCommit
|
||||
- .long 0 // LoaderFlags
|
||||
- .long 0x6 // NumberOfRvaAndSizes
|
||||
-
|
||||
- .quad 0 // ExportTable
|
||||
- .quad 0 // ImportTable
|
||||
- .quad 0 // ResourceTable
|
||||
- .quad 0 // ExceptionTable
|
||||
- .quad 0 // CertificationTable
|
||||
- .quad 0 // BaseRelocationTable
|
||||
+ .4byte _start - ImageBase // SizeOfHeaders
|
||||
+ .4byte 0 // CheckSum
|
||||
+ .2byte EFI_SUBSYSTEM // Subsystem
|
||||
+ .2byte 0 // DllCharacteristics
|
||||
+ .8byte 0 // SizeOfStackReserve
|
||||
+ .8byte 0 // SizeOfStackCommit
|
||||
+ .8byte 0 // SizeOfHeapReserve
|
||||
+ .8byte 0 // SizeOfHeapCommit
|
||||
+ .4byte 0 // LoaderFlags
|
||||
+ .4byte 0x6 // NumberOfRvaAndSizes
|
||||
+
|
||||
+ .8byte 0 // ExportTable
|
||||
+ .8byte 0 // ImportTable
|
||||
+ .8byte 0 // ResourceTable
|
||||
+ .8byte 0 // ExceptionTable
|
||||
+ .8byte 0 // CertificationTable
|
||||
+ .8byte 0 // BaseRelocationTable
|
||||
|
||||
// Section table
|
||||
section_table:
|
||||
@@ -95,31 +95,31 @@ section_table:
|
||||
.ascii ".reloc"
|
||||
.byte 0
|
||||
.byte 0 // end of 0 padding of section name
|
||||
- .long 0
|
||||
- .long 0
|
||||
- .long 0 // SizeOfRawData
|
||||
- .long 0 // PointerToRawData
|
||||
- .long 0 // PointerToRelocations
|
||||
- .long 0 // PointerToLineNumbers
|
||||
- .short 0 // NumberOfRelocations
|
||||
- .short 0 // NumberOfLineNumbers
|
||||
- .long 0x42100040 // Characteristics (section flags)
|
||||
+ .4byte 0
|
||||
+ .4byte 0
|
||||
+ .4byte 0 // SizeOfRawData
|
||||
+ .4byte 0 // PointerToRawData
|
||||
+ .4byte 0 // PointerToRelocations
|
||||
+ .4byte 0 // PointerToLineNumbers
|
||||
+ .2byte 0 // NumberOfRelocations
|
||||
+ .2byte 0 // NumberOfLineNumbers
|
||||
+ .4byte 0x42100040 // Characteristics (section flags)
|
||||
|
||||
|
||||
.ascii ".text"
|
||||
.byte 0
|
||||
.byte 0
|
||||
.byte 0 // end of 0 padding of section name
|
||||
- .long _edata - _start // VirtualSize
|
||||
- .long _start - ImageBase // VirtualAddress
|
||||
- .long _edata - _start // SizeOfRawData
|
||||
- .long _start - ImageBase // PointerToRawData
|
||||
-
|
||||
- .long 0 // PointerToRelocations (0 for executables)
|
||||
- .long 0 // PointerToLineNumbers (0 for executables)
|
||||
- .short 0 // NumberOfRelocations (0 for executables)
|
||||
- .short 0 // NumberOfLineNumbers (0 for executables)
|
||||
- .long 0xe0500020 // Characteristics (section flags)
|
||||
+ .4byte _edata - _start // VirtualSize
|
||||
+ .4byte _start - ImageBase // VirtualAddress
|
||||
+ .4byte _edata - _start // SizeOfRawData
|
||||
+ .4byte _start - ImageBase // PointerToRawData
|
||||
+
|
||||
+ .4byte 0 // PointerToRelocations (0 for executables)
|
||||
+ .4byte 0 // PointerToLineNumbers (0 for executables)
|
||||
+ .2byte 0 // NumberOfRelocations (0 for executables)
|
||||
+ .2byte 0 // NumberOfLineNumbers (0 for executables)
|
||||
+ .4byte 0xe0500020 // Characteristics (section flags)
|
||||
|
||||
.set push
|
||||
.set noreorder
|
||||
diff --git a/gnuefi/crt0-efi-riscv64.S b/gnuefi/crt0-efi-riscv64.S
|
||||
index 2322b56..8b62574 100644
|
||||
--- a/gnuefi/crt0-efi-riscv64.S
|
||||
+++ b/gnuefi/crt0-efi-riscv64.S
|
||||
@@ -29,63 +29,63 @@
|
||||
ImageBase:
|
||||
.ascii "MZ"
|
||||
.skip 58 // 'MZ' + pad + offset == 64
|
||||
- .long pe_header - ImageBase // Offset to the PE header.
|
||||
+ .4byte pe_header - ImageBase // Offset to the PE header.
|
||||
pe_header:
|
||||
.ascii "PE"
|
||||
- .short 0
|
||||
+ .2byte 0
|
||||
coff_header:
|
||||
- .short 0x5064 // riscv64
|
||||
- .short 2 // nr_sections
|
||||
- .long 0 // TimeDateStamp
|
||||
- .long 0 // PointerToSymbolTable
|
||||
- .long 0 // NumberOfSymbols
|
||||
- .short section_table - optional_header // SizeOfOptionalHeader
|
||||
- .short 0x206 // Characteristics.
|
||||
+ .2byte 0x5064 // riscv64
|
||||
+ .2byte 2 // nr_sections
|
||||
+ .4byte 0 // TimeDateStamp
|
||||
+ .4byte 0 // PointerToSymbolTable
|
||||
+ .4byte 0 // NumberOfSymbols
|
||||
+ .2byte section_table - optional_header // SizeOfOptionalHeader
|
||||
+ .2byte 0x206 // Characteristics.
|
||||
// IMAGE_FILE_DEBUG_STRIPPED |
|
||||
// IMAGE_FILE_EXECUTABLE_IMAGE |
|
||||
// IMAGE_FILE_LINE_NUMS_STRIPPED
|
||||
optional_header:
|
||||
- .short 0x20b // PE32+ format
|
||||
+ .2byte 0x20b // PE32+ format
|
||||
.byte 0x02 // MajorLinkerVersion
|
||||
.byte 0x14 // MinorLinkerVersion
|
||||
- .long _data - _start // SizeOfCode
|
||||
- .long _data_size // SizeOfInitializedData
|
||||
- .long 0 // SizeOfUninitializedData
|
||||
- .long _start - ImageBase // AddressOfEntryPoint
|
||||
- .long _start - ImageBase // BaseOfCode
|
||||
+ .4byte _data - _start // SizeOfCode
|
||||
+ .4byte _data_size // SizeOfInitializedData
|
||||
+ .4byte 0 // SizeOfUninitializedData
|
||||
+ .4byte _start - ImageBase // AddressOfEntryPoint
|
||||
+ .4byte _start - ImageBase // BaseOfCode
|
||||
|
||||
extra_header_fields:
|
||||
- .quad 0 // ImageBase
|
||||
- .long 0x1000 // SectionAlignment
|
||||
- .long 0x200 // FileAlignment
|
||||
- .short 0 // MajorOperatingSystemVersion
|
||||
- .short 0 // MinorOperatingSystemVersion
|
||||
- .short 0 // MajorImageVersion
|
||||
- .short 0 // MinorImageVersion
|
||||
- .short 0 // MajorSubsystemVersion
|
||||
- .short 0 // MinorSubsystemVersion
|
||||
- .long 0 // Win32VersionValue
|
||||
+ .8byte 0 // ImageBase
|
||||
+ .4byte 0x1000 // SectionAlignment
|
||||
+ .4byte 0x200 // FileAlignment
|
||||
+ .2byte 0 // MajorOperatingSystemVersion
|
||||
+ .2byte 0 // MinorOperatingSystemVersion
|
||||
+ .2byte 0 // MajorImageVersion
|
||||
+ .2byte 0 // MinorImageVersion
|
||||
+ .2byte 0 // MajorSubsystemVersion
|
||||
+ .2byte 0 // MinorSubsystemVersion
|
||||
+ .4byte 0 // Win32VersionValue
|
||||
|
||||
- .long _edata - ImageBase // SizeOfImage
|
||||
+ .4byte _edata - ImageBase // SizeOfImage
|
||||
|
||||
// Everything before the kernel image is considered part of the header
|
||||
- .long _start - ImageBase // SizeOfHeaders
|
||||
- .long 0 // CheckSum
|
||||
- .short EFI_SUBSYSTEM // Subsystem
|
||||
- .short 0 // DllCharacteristics
|
||||
- .quad 0 // SizeOfStackReserve
|
||||
- .quad 0 // SizeOfStackCommit
|
||||
- .quad 0 // SizeOfHeapReserve
|
||||
- .quad 0 // SizeOfHeapCommit
|
||||
- .long 0 // LoaderFlags
|
||||
- .long 0x6 // NumberOfRvaAndSizes
|
||||
+ .4byte _start - ImageBase // SizeOfHeaders
|
||||
+ .4byte 0 // CheckSum
|
||||
+ .2byte EFI_SUBSYSTEM // Subsystem
|
||||
+ .2byte 0 // DllCharacteristics
|
||||
+ .8byte 0 // SizeOfStackReserve
|
||||
+ .8byte 0 // SizeOfStackCommit
|
||||
+ .8byte 0 // SizeOfHeapReserve
|
||||
+ .8byte 0 // SizeOfHeapCommit
|
||||
+ .4byte 0 // LoaderFlags
|
||||
+ .4byte 0x6 // NumberOfRvaAndSizes
|
||||
|
||||
- .quad 0 // ExportTable
|
||||
- .quad 0 // ImportTable
|
||||
- .quad 0 // ResourceTable
|
||||
- .quad 0 // ExceptionTable
|
||||
- .quad 0 // CertificationTable
|
||||
- .quad 0 // BaseRelocationTable
|
||||
+ .8byte 0 // ExportTable
|
||||
+ .8byte 0 // ImportTable
|
||||
+ .8byte 0 // ResourceTable
|
||||
+ .8byte 0 // ExceptionTable
|
||||
+ .8byte 0 // CertificationTable
|
||||
+ .8byte 0 // BaseRelocationTable
|
||||
|
||||
// Section table
|
||||
section_table:
|
||||
@@ -95,27 +95,27 @@ section_table:
|
||||
* dummy section as far as we are concerned.
|
||||
*/
|
||||
.ascii ".reloc\0\0"
|
||||
- .long 0
|
||||
- .long 0
|
||||
- .long 0 // SizeOfRawData
|
||||
- .long 0 // PointerToRawData
|
||||
- .long 0 // PointerToRelocations
|
||||
- .long 0 // PointerToLineNumbers
|
||||
- .short 0 // NumberOfRelocations
|
||||
- .short 0 // NumberOfLineNumbers
|
||||
- .long 0x42100040 // Characteristics (section flags)
|
||||
+ .4byte 0
|
||||
+ .4byte 0
|
||||
+ .4byte 0 // SizeOfRawData
|
||||
+ .4byte 0 // PointerToRawData
|
||||
+ .4byte 0 // PointerToRelocations
|
||||
+ .4byte 0 // PointerToLineNumbers
|
||||
+ .2byte 0 // NumberOfRelocations
|
||||
+ .2byte 0 // NumberOfLineNumbers
|
||||
+ .4byte 0x42100040 // Characteristics (section flags)
|
||||
|
||||
.ascii ".text\0\0\0"
|
||||
- .long _edata - _start // VirtualSize
|
||||
- .long _start - ImageBase // VirtualAddress
|
||||
- .long _edata - _start // SizeOfRawData
|
||||
- .long _start - ImageBase // PointerToRawData
|
||||
+ .4byte _edata - _start // VirtualSize
|
||||
+ .4byte _start - ImageBase // VirtualAddress
|
||||
+ .4byte _edata - _start // SizeOfRawData
|
||||
+ .4byte _start - ImageBase // PointerToRawData
|
||||
|
||||
- .long 0 // PointerToRelocations (0 for executables)
|
||||
- .long 0 // PointerToLineNumbers (0 for executables)
|
||||
- .short 0 // NumberOfRelocations (0 for executables)
|
||||
- .short 0 // NumberOfLineNumbers (0 for executables)
|
||||
- .long 0xe0500020 // Characteristics (section flags)
|
||||
+ .4byte 0 // PointerToRelocations (0 for executables)
|
||||
+ .4byte 0 // PointerToLineNumbers (0 for executables)
|
||||
+ .2byte 0 // NumberOfRelocations (0 for executables)
|
||||
+ .2byte 0 // NumberOfLineNumbers (0 for executables)
|
||||
+ .4byte 0xe0500020 // Characteristics (section flags)
|
||||
|
||||
.align 12
|
||||
.globl _start
|
||||
diff --git a/gnuefi/crt0-efi-x86_64.S b/gnuefi/crt0-efi-x86_64.S
|
||||
index 5179439..71c0048 100644
|
||||
--- a/gnuefi/crt0-efi-x86_64.S
|
||||
+++ b/gnuefi/crt0-efi-x86_64.S
|
||||
@@ -65,15 +65,15 @@ _start:
|
||||
// hand-craft a dummy .reloc section so EFI knows it's a relocatable executable:
|
||||
|
||||
.data
|
||||
-dummy: .long 0
|
||||
+dummy: .4byte 0
|
||||
|
||||
#define IMAGE_REL_ABSOLUTE 0
|
||||
.section .reloc, "a"
|
||||
label1:
|
||||
- .long dummy-label1 // Page RVA
|
||||
- .long 12 // Block Size (2*4+2*2), must be aligned by 32 Bits
|
||||
- .word (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy
|
||||
- .word (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy
|
||||
+ .4byte dummy-label1 // Page RVA
|
||||
+ .4byte 12 // Block Size (2*4+2*2), must be aligned by 32 Bits
|
||||
+ .2byte (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy
|
||||
+ .2byte (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy
|
||||
|
||||
#if defined(__ELF__) && defined(__linux__)
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
@ -1,27 +1,13 @@
|
||||
diff --git a/Make.defaults b/Make.defaults
|
||||
index 1277d14..731af6b 100755
|
||||
index ba743f1..5fd1b66 100755
|
||||
--- a/Make.defaults
|
||||
+++ b/Make.defaults
|
||||
@@ -138,7 +138,7 @@ endif
|
||||
|
||||
ifneq (,$(filter $(ARCH),ia32 x86_64))
|
||||
# Disable AVX, if the compiler supports that.
|
||||
- CC_CAN_DISABLE_AVX=$(shell $(CC) -Werror -c -o /dev/null -xc -mno-avx - </dev/null >/dev/null 2>&1 && echo 1)
|
||||
+ CC_CAN_DISABLE_AVX=$(shell $(CC) -c -o /dev/null -xc -mno-avx - </dev/null >/dev/null 2>&1 && echo 1)
|
||||
ifeq ($(CC_CAN_DISABLE_AVX), 1)
|
||||
CFLAGS += -mno-avx
|
||||
endif
|
||||
@@ -183,11 +183,11 @@ ifneq (mingw32,$(findstring mingw32, $(GCCMACHINE)))
|
||||
endif
|
||||
|
||||
ifeq (FreeBSD, $(findstring FreeBSD, $(OS)))
|
||||
-CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \
|
||||
+CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra \
|
||||
-funsigned-char -fshort-wchar -fno-strict-aliasing \
|
||||
@@ -170,7 +170,7 @@ CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \
|
||||
-fshort-wchar -fno-strict-aliasing \
|
||||
-ffreestanding -fno-stack-protector
|
||||
else
|
||||
-CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Wno-pointer-sign -Werror \
|
||||
+CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Wno-pointer-sign \
|
||||
-funsigned-char -fshort-wchar -fno-strict-aliasing \
|
||||
-CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \
|
||||
+CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra \
|
||||
-fshort-wchar -fno-strict-aliasing \
|
||||
-ffreestanding -fno-stack-protector -fno-stack-check \
|
||||
-fno-stack-check \
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user