diff options
Diffstat (limited to 'gdb/dwarf2/line-program.h')
-rw-r--r-- | gdb/dwarf2/line-program.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/gdb/dwarf2/line-program.h b/gdb/dwarf2/line-program.h new file mode 100644 index 0000000..824f18f --- /dev/null +++ b/gdb/dwarf2/line-program.h @@ -0,0 +1,47 @@ +/* DWARF 2 debugging format support for GDB. + + Copyright (C) 1994-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_DWARF2_LINE_PROGRAM_H +#define GDB_DWARF2_LINE_PROGRAM_H + +/* Decode the Line Number Program (LNP) for the given line_header + structure and CU. The actual information extracted and the type + of structures created from the LNP depends on the value of PST. + + FND holds the CU file name and directory, if known. + It is used for relative paths in the line table. + + NOTE: It is important that psymtabs have the same file name (via + strcmp) as the corresponding symtab. Since the directory is not + used in the name of the symtab we don't use it in the name of the + psymtabs we create. E.g. expand_line_sal requires this when + finding psymtabs to expand. A good testcase for this is + mb-inline.exp. + + LOWPC is the lowest address in CU (or 0 if not known). + + Boolean DECODE_MAPPING specifies we need to fully decode .debug_line + for its PC<->lines mapping information. Otherwise only the filename + table is read in. */ + +extern void dwarf_decode_lines (struct line_header *lh, + struct dwarf2_cu *cu, + unrelocated_addr lowpc, bool decode_mapping); + +#endif /* GDB_DWARF2_LINE_PROGRAM_H */ |