xref: /netbsd-src/external/gpl3/binutils.old/dist/include/gdb/section-scripts.h (revision e992f068c547fd6e84b3f104dc2340adcc955732)
175fd0b74Schristos /* Definition of kinds of records in section .debug_gdb_scripts.
275fd0b74Schristos 
3*e992f068Schristos    Copyright (C) 2014-2022 Free Software Foundation, Inc.
475fd0b74Schristos 
575fd0b74Schristos    This file is part of GDB.
675fd0b74Schristos 
775fd0b74Schristos    This program is free software; you can redistribute it and/or modify
875fd0b74Schristos    it under the terms of the GNU General Public License as published by
975fd0b74Schristos    the Free Software Foundation; either version 3 of the License, or
1075fd0b74Schristos    (at your option) any later version.
1175fd0b74Schristos 
1275fd0b74Schristos    This program is distributed in the hope that it will be useful,
1375fd0b74Schristos    but WITHOUT ANY WARRANTY; without even the implied warranty of
1475fd0b74Schristos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1575fd0b74Schristos    GNU General Public License for more details.
1675fd0b74Schristos 
1775fd0b74Schristos    You should have received a copy of the GNU General Public License
1875fd0b74Schristos    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
1975fd0b74Schristos 
2075fd0b74Schristos #ifndef GDB_SECTION_SCRIPTS_H
2175fd0b74Schristos #define GDB_SECTION_SCRIPTS_H
2275fd0b74Schristos 
2375fd0b74Schristos /* Each entry in section .debug_gdb_scripts begins with a byte that is used to
2475fd0b74Schristos    identify the entry.  This byte is to use as we choose.
2575fd0b74Schristos    0 is reserved so that it is never used (to catch errors).
2675fd0b74Schristos    It is recommended to avoid ASCII values 32-127 to help catch (most) cases
2775fd0b74Schristos    of forgetting to include this byte.
2875fd0b74Schristos    Other unused values needn't specify different scripting languages,
2975fd0b74Schristos    but we have no need for anything else at the moment.
3075fd0b74Schristos 
3175fd0b74Schristos    These values are defined as macros so that they can be used in embedded
3275fd0b74Schristos    asms and assembler source files.  */
3375fd0b74Schristos 
3475fd0b74Schristos /* Reserved.  */
3575fd0b74Schristos #define SECTION_SCRIPT_ID_NEVER_USE 0
3675fd0b74Schristos 
3775fd0b74Schristos /* The record is a nul-terminated file name to load as a python file.  */
3875fd0b74Schristos #define SECTION_SCRIPT_ID_PYTHON_FILE 1
3975fd0b74Schristos 
4075fd0b74Schristos /* Native GDB scripts are not currently supported in .debug_gdb_scripts,
4175fd0b74Schristos    but we reserve a value for it.  */
4275fd0b74Schristos /*#define SECTION_SCRIPT_ID_GDB_FILE 2*/
4375fd0b74Schristos 
4475fd0b74Schristos /* The record is a nul-terminated file name to load as a guile(scheme)
4575fd0b74Schristos    file.  */
4675fd0b74Schristos #define SECTION_SCRIPT_ID_SCHEME_FILE 3
4775fd0b74Schristos 
4875fd0b74Schristos /* The record is a nul-terminated string.
4975fd0b74Schristos    The first line is the name of the script.
5075fd0b74Schristos    Subsequent lines are interpreted as a python script.  */
5175fd0b74Schristos #define SECTION_SCRIPT_ID_PYTHON_TEXT 4
5275fd0b74Schristos 
5375fd0b74Schristos /* Native GDB scripts are not currently supported in .debug_gdb_scripts,
5475fd0b74Schristos    but we reserve a value for it.  */
5575fd0b74Schristos /*#define SECTION_SCRIPT_ID_GDB_TEXT 5*/
5675fd0b74Schristos 
5775fd0b74Schristos /* The record is a nul-terminated string.
5875fd0b74Schristos    The first line is the name of the script.
5975fd0b74Schristos    Subsequent lines are interpreted as a guile(scheme) script.  */
6075fd0b74Schristos #define SECTION_SCRIPT_ID_SCHEME_TEXT 6
6175fd0b74Schristos 
6275fd0b74Schristos #endif /* GDB_SECTION_SCRIPTS_H */
63