mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-11-16 12:34:43 +00:00
This commit aims to allow a user to enable or disable mdebug support at compilation time. To do that, a new configure option is added, called --enable-gdb-mdebug-support (and the accompanying --disable version). By default, support is enabled, and if a user decides to disable support, the file mdebugread.c won't be compiled in the final binary, and the macro MDEBUG_FORMAT_AVAILABLE won't be defined. That macro is used to control the definitions of mdebug reading, either the actual definition in mdebugread.c, or a static inline version that only emits the following warning: > No mdebug support available. Ideally, we'd like to guard the entirity of mdebugread in the macro, but the alpha-mdebug-tdep file uses those directly, and I don't think we should restrict alpha hosts to requiring that debug format compiled in, nor do I understand the tdep file enough to be comfortable disentangling the requirements. Reviewed-By: Eli Zaretskii <eliz@gnu.org> Approved-By: Andrew Burgess <aburgess@redhat.com>
75 lines
2.2 KiB
C
75 lines
2.2 KiB
C
/* Read a symbol table in ECOFF format (Third-Eye).
|
|
|
|
Copyright (C) 2004-2025 Free Software Foundation, Inc.
|
|
|
|
This file is part of GDB.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
|
#ifndef GDB_MDEBUGREAD_H
|
|
#define GDB_MDEBUGREAD_H
|
|
|
|
#include "coff/sym.h"
|
|
#include "coff/symconst.h"
|
|
|
|
/* Specific information about a procedure. Architectures (ab)uses
|
|
this to save memory. */
|
|
|
|
struct mdebug_extra_func_info
|
|
{
|
|
long numargs; /* Number of args to procedure (was iopt). */
|
|
PDR pdr; /* Procedure descriptor record. */
|
|
};
|
|
|
|
/* Special symbol found in blocks associated with routines. We can
|
|
hang mdebug_extra_func_info's off of this. */
|
|
|
|
#define MDEBUG_EFI_SYMBOL_NAME "__GDB_EFI_INFO__"
|
|
|
|
#if defined(MDEBUG_FORMAT_AVAILABLE)
|
|
|
|
extern void elfmdebug_build_psymtabs (struct objfile *,
|
|
const struct ecoff_debug_swap *,
|
|
asection *);
|
|
|
|
/* Read ECOFF debugging information from a BFD section. This is
|
|
called from mipsread.c. It parses the section into a
|
|
ecoff_debug_info struct, and then lets the rest of the file handle
|
|
it as normal. */
|
|
extern void mipsmdebug_build_psymtabs (struct objfile *,
|
|
const struct ecoff_debug_swap *,
|
|
struct ecoff_debug_info *);
|
|
|
|
#else /* MDEBUG_FORMAT_AVAILABLE */
|
|
|
|
static inline void
|
|
elfmdebug_build_psymtabs (struct objfile *,
|
|
const struct ecoff_debug_swap *,
|
|
asection *)
|
|
{
|
|
warning (_("No mdebug support available"));
|
|
}
|
|
|
|
static inline void
|
|
mipsmdebug_build_psymtabs (struct objfile *,
|
|
const struct ecoff_debug_swap *,
|
|
struct ecoff_debug_info *)
|
|
{
|
|
warning (_("No mdebug support available"));
|
|
}
|
|
|
|
#endif /* MDEBUG_FORMAT_AVAILABLE */
|
|
|
|
#endif /* GDB_MDEBUGREAD_H */
|