This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug breakpoints/15826] Slow symbol lookups during conditional breakpoints
- From: "mjw at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Sun, 01 Sep 2013 10:23:40 +0000
- Subject: [Bug breakpoints/15826] Slow symbol lookups during conditional breakpoints
- Auto-submitted: auto-generated
- References: <bug-15826-4717 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=15826
--- Comment #6 from Mark Wielaard <mjw at redhat dot com> ---
Sigh, although the patch in comment #5 works, and bool is a built-in type for
C++, the standard says:
Â5.3.3/1, abridged:
sizeof(char), sizeof(signed char) and sizeof(unsigned char) are 1; the
result of sizeof applied to any other fundamental type is
implementation-defined. [Note: in particular, sizeof(bool) and sizeof(wchar_t)
are implementation-defined.69)]
Footnote 69):
sizeof(bool) is not required to be 1.
The (Itanium) C++ ABI, which GCC follows now, specifies (2.2 POD Data Types):
Type bool has size and alignment 1.
Can we easily detect the ABI used in language_bool_type?
Note that as far as I can see this special casing for bool_type was introduced
specifically for C++ (plain C doesn't do these symbol lookups). But then
adopted for all other languages introduced after that. Even if they have a
built-in boolean type with a well defined size. In those cases it IMHO doesn't
make sense to explicitly define bool_type_symbol for the language. Because it
will generate these symbol table lookups each time language_bool_type () is
called.
--
You are receiving this mail because:
You are on the CC list for the bug.