[pushed] Remove symbol-related static asserts

Sourceware to Gerrit sync (Code Review) gerrit@gnutoolchain-gerrit.osci.io
Wed Nov 13 20:05:00 GMT 2019


The original change was created by Tom Tromey.

Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/611
......................................................................

Remove symbol-related static asserts

commit 3573abe1d added static asserts to ensure that symbol sizes
don't vary.  However, this failed to build on Windows, on at least one
ARM platform (see PR build/25182) and internally at AdaCore for PPC.

So, I think it is probably best to just remove these assertions,
effectively reverting 3573abe1d.

gdb/ChangeLog
2019-11-13  Tom Tromey  <tromey@adacore.com>

	PR build/25182:
	* psympriv.h (partial_symbol): Remove static assert.
	* symtab.h (general_symbol_info, symbol): Remove static assert.

Change-Id: I51940fb2240c474838b48494b5072081701789bb
---
M gdb/ChangeLog
M gdb/psympriv.h
M gdb/symtab.h
3 files changed, 6 insertions(+), 19 deletions(-)



diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 4f40ea8..be4c5a5 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2019-11-13  Tom Tromey  <tromey@adacore.com>
+
+	PR build/25182:
+	* psympriv.h (partial_symbol): Remove static assert.
+	* symtab.h (general_symbol_info, symbol): Remove static assert.
+
 2019-11-12  Andrew Burgess  <andrew.burgess@embecosm.com>
 
 	* gdbsupport/format.c (format_pieces::format_pieces): Support
diff --git a/gdb/psympriv.h b/gdb/psympriv.h
index c81261a..19d692b 100644
--- a/gdb/psympriv.h
+++ b/gdb/psympriv.h
@@ -82,12 +82,6 @@
   ENUM_BITFIELD(address_class) aclass : SYMBOL_ACLASS_BITS;
 };
 
-/* This struct is size-critical (see comment at the to of symtab.h), so this
-   assert makes sure the size doesn't change accidentally.  Be careful when
-   purposely increasing the size.  */
-gdb_static_assert ((sizeof (void *) == 8 && sizeof (partial_symbol) == 40)
-		   || (sizeof (void *) == 4 && sizeof (partial_symbol) == 24));
-
 /* A convenience enum to give names to some constants used when
    searching psymtabs.  This is internal to psymtab and should not be
    used elsewhere.  */
diff --git a/gdb/symtab.h b/gdb/symtab.h
index 390aee4..a6bd3c4 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -447,13 +447,6 @@
   short section;
 };
 
-/* This struct is size-critical (see comment at the top), so this assert
-   makes sure the size doesn't change accidentally.  Be careful when
-   purposely increasing the size.  */
-gdb_static_assert ((sizeof (void *) == 8 && sizeof (general_symbol_info) == 32)
-		   || (sizeof (void *) == 4
-		       && sizeof (general_symbol_info) == 20));
-
 extern void symbol_set_demangled_name (struct general_symbol_info *,
 				       const char *,
                                        struct obstack *);
@@ -1204,12 +1197,6 @@
   struct symbol *hash_next = nullptr;
 };
 
-/* This struct is size-critical (see comment at the top), so this assert
-   makes sure the size doesn't change accidentally.  Be careful when
-   purposely increasing the size.  */
-gdb_static_assert ((sizeof (void *) == 8 && sizeof (symbol) == 72)
-		   || (sizeof (void *) == 4 && sizeof (symbol) == 40));
-
 /* Several lookup functions return both a symbol and the block in which the
    symbol is found.  This structure is used in these cases.  */
 

-- 
Gerrit-Project: binutils-gdb
Gerrit-Branch: master
Gerrit-Change-Id: I51940fb2240c474838b48494b5072081701789bb
Gerrit-Change-Number: 611
Gerrit-PatchSet: 3
Gerrit-Owner: Tom Tromey <tromey@sourceware.org>
Gerrit-Reviewer: Christian Biesinger <cbiesinger@google.com>
Gerrit-Reviewer: Pedro Alves <palves@redhat.com>
Gerrit-Reviewer: Tom Tromey <tromey@sourceware.org>
Gerrit-MessageType: newpatchset



More information about the Gdb-patches mailing list