/* 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 . */ #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 */