Re: GDB 18.0.90 available for testing

Eli Zaretskii <[email protected]>
Newsgroups gmane.comp.gdb.patches
Message-ID <[email protected]>
> Date: Thu, 06 Aug 2026 19:12:40 +0100
> From: Andrew Burgess <[email protected]>
> 
> Hello,
> 
> I have just finished creating the gdb-18.0.90 pre-release.
> It is available for download at the following location:
> 
>     https://sourceware.org/pub/gdb/snapshots/branch/gdb-18.0.90.tar.xz
> 
> A gzip'ed version is also available: gdb-18.0.90.tar.gz.
> 
> Please give it a test if you can and report any problems you might find.

I've built this pretest for native MinGW debugging on MS-Windows, and
encountered the following minor issues:

1. When configured with  --enable-binary-file-formats='coff,xcoff,elf,macho',
the build fails during final linking of GDB:

       CXXLD  gdb.exe
     d:/usr/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: machoread.o: in function `macho_check_dsym':
     d:\gnu\gdb-18.0.90\gdb/machoread.c:738:(.text+0xb16): undefined reference to `bfd_mach_o_lookup_command'
     d:/usr/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: d:\gnu\gdb-18.0.90\gdb/machoread.c:757:(.text+0xbe6): undefined reference to `bfd_mach_o_lookup_command'
     collect2.exe: error: ld returned 1 exit status

This is because bfd/mach-o.c is not compiled for some reason, although
the configure script specified 'macho' as a binary format to support.
I see that when I built GDB 17, I used mach-o, not macho.  But the
configure --help screen says to use 'macho':

  --enable-binary-file-formats=FORMATS
                          enable support for selected file formats (default
                          'all') available formats: coff, elf, macho, xcoff,
                          all

  (I fixed this by reconfiguring without 'macho'.)

2. Recompilation of libsframe/sframe.c emits warnings:

       CC       libsframe_la-sframe.lo
     In file included from ./../libctf/swap.h:23,
		      from sframe.c:27:
     ./../libctf/config.h:127: warning: "PACKAGE" redefined
       127 | #define PACKAGE "libctf"
	   |
     In file included from sframe.c:20:
     config.h:66: note: this is the location of the previous definition
	66 | #define PACKAGE "libsframe"
	   |
     In file included from ./../libctf/swap.h:23,
		      from sframe.c:27:
     ./../libctf/config.h:133: warning: "PACKAGE_NAME" redefined
       133 | #define PACKAGE_NAME "libctf"
	   |
     In file included from sframe.c:20:
     config.h:72: note: this is the location of the previous definition
	72 | #define PACKAGE_NAME "libsframe"
	   |
     In file included from ./../libctf/swap.h:23,
		      from sframe.c:27:
     ./../libctf/config.h:136: warning: "PACKAGE_STRING" redefined
       136 | #define PACKAGE_STRING "libctf 1.2.0"
	   |
     In file included from sframe.c:20:
     config.h:75: note: this is the location of the previous definition
	75 | #define PACKAGE_STRING "libsframe BFD_VERSION"
	   |
     In file included from ./../libctf/swap.h:23,
		      from sframe.c:27:
     ./../libctf/config.h:139: warning: "PACKAGE_TARNAME" redefined
       139 | #define PACKAGE_TARNAME "libctf"
	   |
     In file included from sframe.c:20:
     config.h:78: note: this is the location of the previous definition
	78 | #define PACKAGE_TARNAME "libsframe"
	   |
     In file included from ./../libctf/swap.h:23,
		      from sframe.c:27:
     ./../libctf/config.h:145: warning: "PACKAGE_VERSION" redefined
       145 | #define PACKAGE_VERSION "1.2.0"
	   |
     In file included from sframe.c:20:
     config.h:84: note: this is the location of the previous definition
	84 | #define PACKAGE_VERSION "BFD_VERSION"
	   |
     In file included from ./../libctf/swap.h:23,
		      from sframe.c:27:
     ./../libctf/config.h:173: warning: "VERSION" redefined
       173 | #define VERSION "1.2.0"
	   |
     In file included from sframe.c:20:
     config.h:112: note: this is the location of the previous definition
       112 | #define VERSION "BFD_VERSION"
	   |

This is because sframe.c includes libctf/swap.h, which includes
libctf/config.h, which defines these macros for libctf, not for
libsframe.  Strangely, the initial compilation didn't produce these
warnings, but when I needed to recompile sframe.c later, it did.

Other than that, the MinGW GDB builds okay, passes all the self-tests
("maint selftest"), and seems to work fine.

Thanks.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.