[binutils-gdb] [gdb/build] Fix gdb build with gcc 4.8.5

Tom de Vries vries@sourceware.org
Thu Jul 14 08:20:20 GMT 2022


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2df41bda2f80a1fbd443c44ee1bd54da579fc8a2

commit 2df41bda2f80a1fbd443c44ee1bd54da579fc8a2
Author: Tom de Vries <tdevries@suse.de>
Date:   Thu Jul 14 10:20:16 2022 +0200

    [gdb/build] Fix gdb build with gcc 4.8.5
    
    When building gdb with gcc 4.8.5, we run into:
    ...
    In file included from /usr/include/c++/4.8/future:43:0,
                     from gdbsupport/thread-pool.h:30,
                     from gdb/dwarf2/cooked-index.h:33,
                     from gdb/dwarf2/read.h:26,
                     from gdb/dwarf2/abbrev-cache.c:21:
    /usr/include/c++/4.8/atomic: In instantiation of \
      ‘_Tp std::atomic<_Tp>::load(std::memory_order) const [with _Tp = \
      packed<dwarf_unit_type, 1ul>; std::memory_order = std::memory_order]’:
    gdb/dwarf2/read.h:332:44:   required from here
    /usr/include/c++/4.8/atomic:208:13: error: no matching function for call to \
      ‘packed<dwarf_unit_type, 1ul>::packed()’
             _Tp tmp;
                 ^
    ...
    
    Fix this by adding the default constructor for packed.
    
    Tested on x86_64-linux, with gdb build with gcc 4.8.5.

Diff:
---
 gdbsupport/packed.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gdbsupport/packed.h b/gdbsupport/packed.h
index cd331b5477d..3468cf44207 100644
--- a/gdbsupport/packed.h
+++ b/gdbsupport/packed.h
@@ -31,6 +31,8 @@ template<typename T, size_t Bytes = sizeof (T)>
 struct packed
 {
 public:
+  packed () noexcept = default;
+
   packed (T val)
   {
     m_val = val;


More information about the Gdb-cvs mailing list