forked from acidanthera/OpenCorePkg
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Build: Made stack-protector guard use global addressing instead of TLS (
acidanthera#295) This fixes fs-relative access in OpenRuntime killing Windows
- Loading branch information
1 parent
80d09a6
commit 63694f0
Showing
4 changed files
with
54 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
37 changes: 37 additions & 0 deletions
37
Patches/0006-Fix-for-NOOPT-CLANG38-compilation-with-clang-13.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
From 76be193a80051662fe6a83307285e5fdde71be6f Mon Sep 17 00:00:00 2001 | ||
From: ocbuild <[email protected]> | ||
Date: Fri, 22 Oct 2021 16:20:16 +0300 | ||
Subject: [PATCH] Fix for NOOPT CLANG38 compilation with clang-13. | ||
|
||
--- | ||
BaseTools/Source/C/GenFw/Elf32Convert.c | 4 ++-- | ||
1 file changed, 2 insertions(+), 2 deletions(-) | ||
|
||
diff --git a/BaseTools/Source/C/GenFw/Elf32Convert.c b/BaseTools/Source/C/GenFw/Elf32Convert.c | ||
index d917a44..b785998 100644 | ||
--- a/BaseTools/Source/C/GenFw/Elf32Convert.c | ||
+++ b/BaseTools/Source/C/GenFw/Elf32Convert.c | ||
@@ -779,6 +779,7 @@ WriteSections32 ( | ||
*(UINT32 *)Targ = *(UINT32 *)Targ - SymShdr->sh_addr | ||
+ mCoffSectionsOffset[Sym->st_shndx]; | ||
break; | ||
+ case R_386_PLT32: | ||
case R_386_PC32: | ||
// | ||
// Relative relocation: Symbol - Ip + Addend | ||
@@ -900,6 +901,7 @@ WriteRelocations32 ( | ||
if (mEhdr->e_machine == EM_386) { | ||
switch (ELF_R_TYPE(Rel->r_info)) { | ||
case R_386_NONE: | ||
+ case R_386_PLT32: | ||
case R_386_PC32: | ||
// | ||
// No fixup entry required. | ||
@@ -1168,5 +1170,3 @@ CleanUp32 ( | ||
free (mCoffSectionsOffset); | ||
} | ||
} | ||
- | ||
- | ||
-- | ||
2.20.1 |