aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2019-11-11 07:43:13 -0700
committerTom Tromey <tromey@adacore.com>2019-11-13 12:52:40 -0700
commitd1aa3cf0bb1a9d7162fc9790258f64f5abffaa55 (patch)
treec9ceeb405e96fc61434e2a6de03463f14146b2d5
parentFix the rule for building C files in the gprof makefile. (diff)
downloadbinutils-gdb-d1aa3cf0bb1a9d7162fc9790258f64f5abffaa55.tar.gz
binutils-gdb-d1aa3cf0bb1a9d7162fc9790258f64f5abffaa55.tar.bz2
binutils-gdb-d1aa3cf0bb1a9d7162fc9790258f64f5abffaa55.zip
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
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/psympriv.h6
-rw-r--r--gdb/symtab.h13
3 files changed, 6 insertions, 19 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 4f40ea82ee9..be4c5a51f13 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 c81261a38f6..19d692bd230 100644
--- a/gdb/psympriv.h
+++ b/gdb/psympriv.h
@@ -82,12 +82,6 @@ struct partial_symbol
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 390aee4218b..a6bd3c44b80 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -447,13 +447,6 @@ struct general_symbol_info
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 : public general_symbol_info, public allocate_on_obstack
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. */