[PATCH] Remove PEI_HEADERS define
Tom Tromey
tromey@adacore.com
Wed Aug 2 16:47:20 GMT 2023
From: Tom Tromey <tom@tromey.com>
I noticed a few files double-included libcoff.h, and digging deeper I
found that the PEI_HEADERS define is a sort of external include guard.
This patch adds include guards to the few files in include/coff that
were missing one, and then removes the PEI_HEADERS workaround and the
redundant includes.
I didn't see anything in these files that indicated that
double-inclusion would be useful, so it seems to me that this approach
is ok.
Tested by rebuilding with --enable-targets=all.
bfd/ChangeLog
2023-08-02 Tom Tromey <tromey@adacore.com>
* pei-x86_64.c (PEI_HEADERS): Do not define.
* pei-loongarch64.c (PEI_HEADERS): Do not define.
* pei-aarch64.c (PEI_HEADERS): Do not define.
* pe-x86_64.c (PEI_HEADERS): Do not define.
* pe-aarch64.c (PEI_HEADERS): Do not define.
* libpei.h (_LIBPEI_H): Add include guard.
* coff-x86_64.c (PEI_HEADERS): Do not check.
* coff-loongarch64.c (PEI_HEADERS): Do not check.
* coff-aarch64.c (PEI_HEADERS): Do not check.
include/ChangeLog
2023-08-02 Tom Tromey <tromey@adacore.com>
* coff/x86_64.h (COFF_X86_64_H): Add include guard.
* coff/loongarch64.h (COFF_LOONGARCH64_H): Add include guard.
* coff/aarch64.h (COFF_AARCH64_H): Add include guard.
---
bfd/ChangeLog | 12 ++++++++++++
bfd/coff-aarch64.c | 7 -------
bfd/coff-loongarch64.c | 7 -------
bfd/coff-x86_64.c | 5 -----
bfd/libpei.h | 3 +++
bfd/pe-aarch64.c | 1 -
bfd/pe-x86_64.c | 1 -
bfd/pei-aarch64.c | 1 -
bfd/pei-loongarch64.c | 1 -
bfd/pei-x86_64.c | 4 ----
include/ChangeLog | 6 ++++++
include/coff/aarch64.h | 5 +++++
include/coff/loongarch64.h | 5 +++++
include/coff/x86_64.h | 5 +++++
14 files changed, 36 insertions(+), 27 deletions(-)
diff --git a/bfd/coff-aarch64.c b/bfd/coff-aarch64.c
index 659cd4f162d..60e23134344 100644
--- a/bfd/coff-aarch64.c
+++ b/bfd/coff-aarch64.c
@@ -23,10 +23,6 @@
#define COFF_WITH_peAArch64
#endif
-/* Note we have to make sure not to include headers twice.
- Not all headers are wrapped in #ifdef guards, so we define
- PEI_HEADERS to prevent double including here. */
-#ifndef PEI_HEADERS
#include "sysdep.h"
#include "bfd.h"
#include "libbfd.h"
@@ -35,9 +31,6 @@
#include "coff/pe.h"
#include "libcoff.h"
#include "libiberty.h"
-#endif
-
-#include "libcoff.h"
/* For these howto special functions,
output_bfd == NULL => final link, or objdump -W and other calls to
diff --git a/bfd/coff-loongarch64.c b/bfd/coff-loongarch64.c
index 9136e06fea2..8ae3f842271 100644
--- a/bfd/coff-loongarch64.c
+++ b/bfd/coff-loongarch64.c
@@ -23,10 +23,6 @@
#define COFF_WITH_peLoongArch64
#endif
-/* Note we have to make sure not to include headers twice.
- Not all headers are wrapped in #ifdef guards, so we define
- PEI_HEADERS to prevent double including here. */
-#ifndef PEI_HEADERS
#include "sysdep.h"
#include "bfd.h"
#include "libbfd.h"
@@ -35,9 +31,6 @@
#include "coff/pe.h"
#include "libcoff.h"
#include "libiberty.h"
-#endif
-
-#include "libcoff.h"
/* The page size is a guess based on ELF. */
diff --git a/bfd/coff-x86_64.c b/bfd/coff-x86_64.c
index f5bd5a27c40..9a3f85cd1e5 100644
--- a/bfd/coff-x86_64.c
+++ b/bfd/coff-x86_64.c
@@ -20,10 +20,6 @@
Written by Kai Tietz, OneVision Software GmbH&CoKg. */
-/* Note we have to make sure not to include headers twice.
- Not all headers are wrapped in #ifdef guards, so we define
- PEI_HEADERS to prevent double including here. */
-#ifndef PEI_HEADERS
#include "sysdep.h"
#include "bfd.h"
#include "libbfd.h"
@@ -31,7 +27,6 @@
#include "coff/internal.h"
#include "libcoff.h"
#include "libiberty.h"
-#endif
#define BADMAG(x) AMD64BADMAG(x)
diff --git a/bfd/libpei.h b/bfd/libpei.h
index eafb9cf92c2..9837d4628dd 100644
--- a/bfd/libpei.h
+++ b/bfd/libpei.h
@@ -19,6 +19,8 @@
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
+#ifndef _LIBPEI_H
+#define _LIBPEI_H
/* Most of this hacked by Steve Chamberlain,
sac@cygnus.com
@@ -445,3 +447,4 @@ bool _bfd_peAArch64_print_ce_compressed_pdata (bfd *, void *);
bool _bfd_peLoongArch64_print_ce_compressed_pdata (bfd *, void *);
bool _bfd_pep_print_ce_compressed_pdata (bfd *, void *);
+#endif /* _LIBPEI_H */
diff --git a/bfd/pe-aarch64.c b/bfd/pe-aarch64.c
index 9abc1cce5ea..2d5a7e25cea 100644
--- a/bfd/pe-aarch64.c
+++ b/bfd/pe-aarch64.c
@@ -55,7 +55,6 @@
{ COFF_SECTION_NAME_PARTIAL_MATCH (".gnu.linkonce.wi."), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 0 }
-#define PEI_HEADERS
#include "sysdep.h"
#include "bfd.h"
#include "libbfd.h"
diff --git a/bfd/pe-x86_64.c b/bfd/pe-x86_64.c
index 04bf98e007c..b9c241edc7f 100644
--- a/bfd/pe-x86_64.c
+++ b/bfd/pe-x86_64.c
@@ -20,7 +20,6 @@
Written by Kai Tietz, OneVision Software GmbH&CoKg. */
-#define PEI_HEADERS
#include "sysdep.h"
#include "bfd.h"
#include "libbfd.h"
diff --git a/bfd/pei-aarch64.c b/bfd/pei-aarch64.c
index 3fa2ff84b70..2ec1254ea85 100644
--- a/bfd/pei-aarch64.c
+++ b/bfd/pei-aarch64.c
@@ -56,7 +56,6 @@
{ COFF_SECTION_NAME_PARTIAL_MATCH (".gnu.linkonce.wi."), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 0 }
-#define PEI_HEADERS
#include "sysdep.h"
#include "bfd.h"
#include "libbfd.h"
diff --git a/bfd/pei-loongarch64.c b/bfd/pei-loongarch64.c
index 89401291da4..3b7751a2b38 100644
--- a/bfd/pei-loongarch64.c
+++ b/bfd/pei-loongarch64.c
@@ -56,7 +56,6 @@
{ COFF_SECTION_NAME_PARTIAL_MATCH (".gnu.linkonce.wi."), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 0 }
-#define PEI_HEADERS
#include "sysdep.h"
#include "bfd.h"
#include "libbfd.h"
diff --git a/bfd/pei-x86_64.c b/bfd/pei-x86_64.c
index 4d2ba71def9..65bd83e917d 100644
--- a/bfd/pei-x86_64.c
+++ b/bfd/pei-x86_64.c
@@ -58,10 +58,6 @@
{ COFF_SECTION_NAME_PARTIAL_MATCH (".gnu.linkonce.wi."), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 0 }
-/* Note we have to make sure not to include headers twice.
- Not all headers are wrapped in #ifdef guards, so we define
- PEI_HEADERS to prevent double including in coff-x86_64.c */
-#define PEI_HEADERS
#include "sysdep.h"
#include "bfd.h"
#include "libbfd.h"
diff --git a/include/coff/aarch64.h b/include/coff/aarch64.h
index 4616cfef2b8..a3f2bcb76f7 100644
--- a/include/coff/aarch64.h
+++ b/include/coff/aarch64.h
@@ -17,6 +17,9 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
+#ifndef COFF_AARCH64_H
+#define COFF_AARCH64_H
+
#define COFFAARCH64 1
#define L_LNNO_SIZE 2
@@ -82,3 +85,5 @@ struct external_reloc
#define IMAGE_REL_ARM64_REL32 0x0011 /* The 32-bit relative address from the byte following the relocation. */
#define ARM_NOTE_SECTION ".note"
+
+#endif /* COFF_AARCH64_H */
diff --git a/include/coff/loongarch64.h b/include/coff/loongarch64.h
index 5a21bcf9976..d273881623a 100644
--- a/include/coff/loongarch64.h
+++ b/include/coff/loongarch64.h
@@ -17,6 +17,9 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
+#ifndef COFF_LOONGARCH64_H
+#define COFF_LOONGARCH64_H
+
#define COFFLOONGARCH64 1
#define L_LNNO_SIZE 2
@@ -59,3 +62,5 @@ struct external_reloc
#define RELOC struct external_reloc
#define RELSZ 14
+
+#endif /* COFF_LOONGARCH64_H */
diff --git a/include/coff/x86_64.h b/include/coff/x86_64.h
index 9980a84a835..3be9ee3874c 100644
--- a/include/coff/x86_64.h
+++ b/include/coff/x86_64.h
@@ -20,6 +20,9 @@
Written by Kai Tietz, OneVision Software GmbH&CoKg. */
+#ifndef COFF_X86_64_H
+#define COFF_X86_64_H
+
#define L_LNNO_SIZE 2
#define INCLUDE_COMDAT_FIELDS_IN_AUXENT
@@ -105,3 +108,5 @@ struct external_reloc
#define R_PCRBYTE 18
#define R_PCRWORD 19
#define R_PCRLONG 20
+
+#endif /* COFF_X86_64_H */
--
2.40.1
More information about the Binutils
mailing list