90e6999a07
- Update to the stuff in master to fix the issue at: https://bodhi.fedoraproject.org/updates/FEDORA-2020-050993b283#comment-1208958 - Update to 3.0.11 (via patches generated from git) - Plus newer upstream fixes (also via patches generated from git) - Fix shell exit failures in make - Fix .reloc section generation - Fix CHAR8 definition - Fix "make DESTDIR=..." - Change the installed .a/.o layout - Provide makefiles for consumers to use. - Make the -devel noarch since it's just headers. - Add a bunch of compatibility symlinks for our older packages. These will go away once we've migrated everything using them in fedora to use the newer make system... Signed-off-by: Peter Jones <pjones@redhat.com>
112 lines
3.8 KiB
Diff
112 lines
3.8 KiB
Diff
From 1a53d8f88a452847b25f9689f9a08dbcf82c86e4 Mon Sep 17 00:00:00 2001
|
|
From: Esben Haabendal <esben@esben1.localdomain>
|
|
Date: Fri, 15 Mar 2019 11:57:51 +0100
|
|
Subject: [PATCH 05/46] Fix for problem with undeclared intptr_t type
|
|
|
|
When building gnu-efi with old compilers with pre C90 compilers:
|
|
|
|
In file included from gnu-efi-3.0.9/lib/../inc/efilib.h:25:0,
|
|
from gnu-efi-3.0.9/lib/lib.h:24,
|
|
from gnu-efi-3.0.9/lib/dpath.c:25:
|
|
gnu-efi-3.0.9/lib/dpath.c: In function 'FileDevicePath':
|
|
gnu-efi-3.0.9/lib/../inc/efilink.h:145:47: error: 'intptr_t' undeclared (first use in this function)
|
|
#define EFI_FIELD_OFFSET(TYPE,Field) ((UINTN)(intptr_t)(&(((TYPE *) 0)->Field)))
|
|
|
|
Problem introduced with commit a46a62b12b58139c31d4288384808365c4053bf2
|
|
(Fix some types gcc doesn't like).
|
|
|
|
Avoid this by adding intptr_t (and uintptr_t) typedefs for builds that does
|
|
not include stdint.h.
|
|
|
|
Signed-off-by: Esben Haabendal <esben@esben1.localdomain>
|
|
---
|
|
inc/aarch64/efibind.h | 2 ++
|
|
inc/arm/efibind.h | 2 ++
|
|
inc/ia32/efibind.h | 2 ++
|
|
inc/ia64/efibind.h | 2 ++
|
|
inc/mips64el/efibind.h | 2 ++
|
|
inc/x86_64/efibind.h | 2 ++
|
|
6 files changed, 12 insertions(+)
|
|
|
|
diff --git a/inc/aarch64/efibind.h b/inc/aarch64/efibind.h
|
|
index bdaa5238e84..3c8cf963c31 100644
|
|
--- a/inc/aarch64/efibind.h
|
|
+++ b/inc/aarch64/efibind.h
|
|
@@ -27,6 +27,8 @@ typedef unsigned short uint16_t;
|
|
typedef short int16_t;
|
|
typedef unsigned char uint8_t;
|
|
typedef signed char int8_t; // unqualified 'char' is unsigned on ARM
|
|
+typedef uint64_t uintptr_t;
|
|
+typedef int64_t intptr_t;
|
|
|
|
#else
|
|
#include <stdint.h>
|
|
diff --git a/inc/arm/efibind.h b/inc/arm/efibind.h
|
|
index 40a5a9cd428..7a22b9c8458 100644
|
|
--- a/inc/arm/efibind.h
|
|
+++ b/inc/arm/efibind.h
|
|
@@ -27,6 +27,8 @@ typedef unsigned short uint16_t;
|
|
typedef short int16_t;
|
|
typedef unsigned char uint8_t;
|
|
typedef signed char int8_t; // unqualified 'char' is unsigned on ARM
|
|
+typedef uint32_t uintptr_t;
|
|
+typedef int32_t intptr_t;
|
|
|
|
#else
|
|
#include <stdint.h>
|
|
diff --git a/inc/ia32/efibind.h b/inc/ia32/efibind.h
|
|
index 1b11f10a6d3..dd0138573d9 100644
|
|
--- a/inc/ia32/efibind.h
|
|
+++ b/inc/ia32/efibind.h
|
|
@@ -75,6 +75,8 @@ Revision History
|
|
typedef unsigned char uint8_t;
|
|
typedef char int8_t;
|
|
#endif
|
|
+ typedef uint32_t uintptr_t;
|
|
+ typedef int32_t intptr_t;
|
|
#elif defined(__GNUC__)
|
|
#include <stdint.h>
|
|
#endif
|
|
diff --git a/inc/ia64/efibind.h b/inc/ia64/efibind.h
|
|
index b415461b10c..b9b2e624657 100644
|
|
--- a/inc/ia64/efibind.h
|
|
+++ b/inc/ia64/efibind.h
|
|
@@ -62,6 +62,8 @@ Revision History
|
|
typedef unsigned char uint8_t;
|
|
typedef char int8_t;
|
|
#endif
|
|
+ typedef uint64_t uintptr_t;
|
|
+ typedef int64_t intptr_t;
|
|
#elif defined(__GNUC__)
|
|
#include <stdint.h>
|
|
#endif
|
|
diff --git a/inc/mips64el/efibind.h b/inc/mips64el/efibind.h
|
|
index 4adbca31d63..32241e5ad46 100644
|
|
--- a/inc/mips64el/efibind.h
|
|
+++ b/inc/mips64el/efibind.h
|
|
@@ -29,6 +29,8 @@ typedef unsigned short uint16_t;
|
|
typedef short int16_t;
|
|
typedef unsigned char uint8_t;
|
|
typedef signed char int8_t; // unqualified 'char' is unsigned on ARM
|
|
+typedef uint64_t uintptr_t;
|
|
+typedef int64_t intptr_t;
|
|
|
|
#else
|
|
#include <stdint.h>
|
|
diff --git a/inc/x86_64/efibind.h b/inc/x86_64/efibind.h
|
|
index 4309f9f0e17..ae40595be0b 100644
|
|
--- a/inc/x86_64/efibind.h
|
|
+++ b/inc/x86_64/efibind.h
|
|
@@ -84,6 +84,8 @@ Revision History
|
|
typedef unsigned char uint8_t;
|
|
typedef char int8_t;
|
|
#endif
|
|
+ typedef uint64_t uintptr_t;
|
|
+ typedef int64_t intptr_t;
|
|
#elif defined(__GNUC__)
|
|
#include <stdint.h>
|
|
#endif
|
|
--
|
|
2.24.1
|
|
|