add gcc12 fixes
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
ced5d89940
commit
e3d786aa1d
50
0030-BaseTools-fix-gcc12-warning.patch
Normal file
50
0030-BaseTools-fix-gcc12-warning.patch
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
From 84d64059dd0082609a43c7938a8a35e10da10706 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Mon, 24 Jan 2022 11:03:25 +0100
|
||||||
|
Subject: [PATCH 30/32] BaseTools: fix gcc12 warning
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
GenFfs.c:545:5: error: pointer ‘InFileHandle’ used after ‘fclose’ [-Werror=use-after-free]
|
||||||
|
545 | Error(NULL, 0, 4001, "Resource", "memory cannot be allocated of %s", InFileHandle);
|
||||||
|
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
GenFfs.c:544:5: note: call to ‘fclose’ here
|
||||||
|
544 | fclose (InFileHandle);
|
||||||
|
| ^~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
---
|
||||||
|
BaseTools/Source/C/GenFfs/GenFfs.c | 2 +-
|
||||||
|
BaseTools/Source/C/GenSec/GenSec.c | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/BaseTools/Source/C/GenFfs/GenFfs.c b/BaseTools/Source/C/GenFfs/GenFfs.c
|
||||||
|
index 949025c33325..d78d62ab3689 100644
|
||||||
|
--- a/BaseTools/Source/C/GenFfs/GenFfs.c
|
||||||
|
+++ b/BaseTools/Source/C/GenFfs/GenFfs.c
|
||||||
|
@@ -542,7 +542,7 @@ GetAlignmentFromFile(char *InFile, UINT32 *Alignment)
|
||||||
|
PeFileBuffer = (UINT8 *) malloc (PeFileSize);
|
||||||
|
if (PeFileBuffer == NULL) {
|
||||||
|
fclose (InFileHandle);
|
||||||
|
- Error(NULL, 0, 4001, "Resource", "memory cannot be allocated of %s", InFileHandle);
|
||||||
|
+ Error(NULL, 0, 4001, "Resource", "memory cannot be allocated for %s", InFile);
|
||||||
|
return EFI_OUT_OF_RESOURCES;
|
||||||
|
}
|
||||||
|
fread (PeFileBuffer, sizeof (UINT8), PeFileSize, InFileHandle);
|
||||||
|
diff --git a/BaseTools/Source/C/GenSec/GenSec.c b/BaseTools/Source/C/GenSec/GenSec.c
|
||||||
|
index d54a4f9e0a7d..b1d05367ec0b 100644
|
||||||
|
--- a/BaseTools/Source/C/GenSec/GenSec.c
|
||||||
|
+++ b/BaseTools/Source/C/GenSec/GenSec.c
|
||||||
|
@@ -1062,7 +1062,7 @@ GetAlignmentFromFile(char *InFile, UINT32 *Alignment)
|
||||||
|
PeFileBuffer = (UINT8 *) malloc (PeFileSize);
|
||||||
|
if (PeFileBuffer == NULL) {
|
||||||
|
fclose (InFileHandle);
|
||||||
|
- Error(NULL, 0, 4001, "Resource", "memory cannot be allocated of %s", InFileHandle);
|
||||||
|
+ Error(NULL, 0, 4001, "Resource", "memory cannot be allocated for %s", InFile);
|
||||||
|
return EFI_OUT_OF_RESOURCES;
|
||||||
|
}
|
||||||
|
fread (PeFileBuffer, sizeof (UINT8), PeFileSize, InFileHandle);
|
||||||
|
--
|
||||||
|
2.35.1
|
||||||
|
|
52
0031-BaseTools-fix-gcc12-warning.patch
Normal file
52
0031-BaseTools-fix-gcc12-warning.patch
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
From c537b93adc2dc2243c6e53dfbbe8cd10fb073b7a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Mon, 24 Jan 2022 11:04:55 +0100
|
||||||
|
Subject: [PATCH 31/32] BaseTools: fix gcc12 warning
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Sdk/C/LzmaEnc.c: In function ‘LzmaEnc_CodeOneMemBlock’:
|
||||||
|
Sdk/C/LzmaEnc.c:2828:19: error: storing the address of local variable ‘outStream’ in ‘*p.rc.outStream’ [-Werror=dangling-pointer=]
|
||||||
|
2828 | p->rc.outStream = &outStream.vt;
|
||||||
|
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
|
||||||
|
Sdk/C/LzmaEnc.c:2811:28: note: ‘outStream’ declared here
|
||||||
|
2811 | CLzmaEnc_SeqOutStreamBuf outStream;
|
||||||
|
| ^~~~~~~~~
|
||||||
|
Sdk/C/LzmaEnc.c:2811:28: note: ‘pp’ declared here
|
||||||
|
Sdk/C/LzmaEnc.c:2828:19: error: storing the address of local variable ‘outStream’ in ‘*(CLzmaEnc *)pp.rc.outStream’ [-Werror=dangling-pointer=]
|
||||||
|
2828 | p->rc.outStream = &outStream.vt;
|
||||||
|
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
|
||||||
|
Sdk/C/LzmaEnc.c:2811:28: note: ‘outStream’ declared here
|
||||||
|
2811 | CLzmaEnc_SeqOutStreamBuf outStream;
|
||||||
|
| ^~~~~~~~~
|
||||||
|
Sdk/C/LzmaEnc.c:2811:28: note: ‘pp’ declared here
|
||||||
|
cc1: all warnings being treated as errors
|
||||||
|
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
---
|
||||||
|
BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c
|
||||||
|
index 4e9b499f8d80..4b9f5fa69248 100644
|
||||||
|
--- a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c
|
||||||
|
+++ b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c
|
||||||
|
@@ -2825,12 +2825,13 @@ SRes LzmaEnc_CodeOneMemBlock(CLzmaEncHandle pp, BoolInt reInit,
|
||||||
|
|
||||||
|
nowPos64 = p->nowPos64;
|
||||||
|
RangeEnc_Init(&p->rc);
|
||||||
|
- p->rc.outStream = &outStream.vt;
|
||||||
|
|
||||||
|
if (desiredPackSize == 0)
|
||||||
|
return SZ_ERROR_OUTPUT_EOF;
|
||||||
|
|
||||||
|
+ p->rc.outStream = &outStream.vt;
|
||||||
|
res = LzmaEnc_CodeOneBlock(p, desiredPackSize, *unpackSize);
|
||||||
|
+ p->rc.outStream = NULL;
|
||||||
|
|
||||||
|
*unpackSize = (UInt32)(p->nowPos64 - nowPos64);
|
||||||
|
*destLen -= outStream.rem;
|
||||||
|
--
|
||||||
|
2.35.1
|
||||||
|
|
42
0032-Basetools-turn-off-gcc12-warning.patch
Normal file
42
0032-Basetools-turn-off-gcc12-warning.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
From 15e8ff0438387a1737f136ab8f1ad513cfb52993 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Thu, 24 Mar 2022 10:28:45 +0100
|
||||||
|
Subject: [PATCH 32/32] Basetools: turn off gcc12 warning
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
In function ‘SetDevicePathEndNode’,
|
||||||
|
inlined from ‘FileDevicePath’ at DevicePathUtilities.c:857:5:
|
||||||
|
DevicePathUtilities.c:321:3: error: writing 4 bytes into a region of size 1 [-Werror=stringop-overflow=]
|
||||||
|
321 | memcpy (Node, &mUefiDevicePathLibEndDevicePath, sizeof (mUefiDevicePathLibEndDevicePath));
|
||||||
|
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
In file included from UefiDevicePathLib.h:22,
|
||||||
|
from DevicePathUtilities.c:16:
|
||||||
|
../Include/Protocol/DevicePath.h: In function ‘FileDevicePath’:
|
||||||
|
../Include/Protocol/DevicePath.h:51:9: note: destination object ‘Type’ of size 1
|
||||||
|
51 | UINT8 Type; ///< 0x01 Hardware Device Path.
|
||||||
|
| ^~~~
|
||||||
|
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
---
|
||||||
|
BaseTools/Source/C/DevicePath/GNUmakefile | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/BaseTools/Source/C/DevicePath/GNUmakefile b/BaseTools/Source/C/DevicePath/GNUmakefile
|
||||||
|
index 7ca08af9662d..b05d2bddfa68 100644
|
||||||
|
--- a/BaseTools/Source/C/DevicePath/GNUmakefile
|
||||||
|
+++ b/BaseTools/Source/C/DevicePath/GNUmakefile
|
||||||
|
@@ -13,6 +13,9 @@ OBJECTS = DevicePath.o UefiDevicePathLib.o DevicePathFromText.o DevicePathUtili
|
||||||
|
|
||||||
|
include $(MAKEROOT)/Makefiles/app.makefile
|
||||||
|
|
||||||
|
+# gcc 12 trips over device path handling
|
||||||
|
+BUILD_CFLAGS += -Wno-error=stringop-overflow
|
||||||
|
+
|
||||||
|
LIBS = -lCommon
|
||||||
|
ifeq ($(CYGWIN), CYGWIN)
|
||||||
|
LIBS += -L/lib/e2fsprogs -luuid
|
||||||
|
--
|
||||||
|
2.35.1
|
||||||
|
|
@ -105,6 +105,10 @@ Patch0019: 0019-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch
|
|||||||
Patch0020: 0020-OvmfPkg-Microvm-take-PcdResizeXterm-from-the-QEMU-co.patch
|
Patch0020: 0020-OvmfPkg-Microvm-take-PcdResizeXterm-from-the-QEMU-co.patch
|
||||||
Patch0021: 0021-Tweak-the-tools_def-to-support-cross-compiling.patch
|
Patch0021: 0021-Tweak-the-tools_def-to-support-cross-compiling.patch
|
||||||
|
|
||||||
|
Patch0030: 0030-BaseTools-fix-gcc12-warning.patch
|
||||||
|
Patch0031: 0031-BaseTools-fix-gcc12-warning.patch
|
||||||
|
Patch0032: 0032-Basetools-turn-off-gcc12-warning.patch
|
||||||
|
|
||||||
# python3-devel and libuuid-devel are required for building tools.
|
# python3-devel and libuuid-devel are required for building tools.
|
||||||
# python3-devel is also needed for varstore template generation and
|
# python3-devel is also needed for varstore template generation and
|
||||||
# verification with "ovmf-vars-generator".
|
# verification with "ovmf-vars-generator".
|
||||||
|
Loading…
Reference in New Issue
Block a user