Always default to DWARF2 debug for cygwin and mingw

This removes the fallback to STABS as default for cygwin and mingw
when the assembler does not support .secrel32 and the default is
to emit 32bit code.  Support for .secrel32 was added to binutils 2.16
released in 2005 so instead document that as requirement.

I left the now unused check for .secrel32 in configure around
in case somebody wants to turn that into an error or warning.

2021-09-10  Richard Biener  <rguenther@suse.de>

	* config/i386/cygming.h: Always default to DWARF2 debugging.
	Do not define DBX_DEBUGGING_INFO, that's done via dbxcoff.h
	already.
	* doc/install.texi: Document binutils 2.16 as minimum
	requirement for mingw.
This commit is contained in:
Richard Biener 2021-09-10 08:18:45 +02:00
parent fc4a29c078
commit 2ebb6f6e51
2 changed files with 4 additions and 9 deletions

View File

@ -18,17 +18,10 @@ You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#define DBX_DEBUGGING_INFO 1
#if TARGET_64BIT_DEFAULT || defined (HAVE_GAS_PE_SECREL32_RELOC)
#define DWARF2_DEBUGGING_INFO 1
#endif
#undef PREFERRED_DEBUGGING_TYPE
#if (DWARF2_DEBUGGING_INFO)
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
#else
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
#endif
#undef TARGET_SEH
#define TARGET_SEH (TARGET_64BIT_MS_ABI && flag_unwind_tables)
@ -97,7 +90,6 @@ along with GCC; see the file COPYING3. If not see
#undef DWARF_FRAME_REGISTERS
#define DWARF_FRAME_REGISTERS (TARGET_64BIT ? 33 : 17)
#ifdef HAVE_GAS_PE_SECREL32_RELOC
/* Use section relative relocations for debugging offsets. Unlike
other targets that fake this by putting the section VMA at 0, PE
won't allow it. */
@ -129,7 +121,6 @@ along with GCC; see the file COPYING3. If not see
gcc_unreachable (); \
} \
} while (0)
#endif
#define TARGET_EXECUTABLE_SUFFIX ".exe"

View File

@ -5131,6 +5131,10 @@ GCC will build with and support only MinGW runtime 3.12 and later.
Earlier versions of headers are incompatible with the new default semantics
of @code{extern inline} in @code{-std=c99} and @code{-std=gnu99} modes.
To support emitting DWARF debugging info you need to use GNU binutils
version 2.16 or above containing support for the @code{.secrel32}
assembler pseudo-op.
@html
<hr />
@end html