123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /* Definition of objfile flags.
- Copyright (C) 1992-2022 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/>. */
- #if !defined (OBJFILE_FLAGS_H)
- #define OBJFILE_FLAGS_H
- #include "gdbsupport/enum-flags.h"
- /* Defines for the objfile flags field. Defined in a separate file to
- break circular header dependencies. */
- enum objfile_flag : unsigned
- {
- /* When an object file has its functions reordered (currently
- Irix-5.2 shared libraries exhibit this behaviour), we will need
- an expensive algorithm to locate a partial symtab or symtab via
- an address. To avoid this penalty for normal object files, we
- use this flag, whose setting is determined upon symbol table
- read in. */
- OBJF_REORDERED = 1 << 0, /* Functions are reordered */
- /* Distinguish between an objfile for a shared library and a
- "vanilla" objfile. This may come from a target's
- implementation of the solib interface, from add-symbol-file, or
- any other mechanism that loads dynamic objects. */
- OBJF_SHARED = 1 << 1, /* From a shared library */
- /* User requested that this objfile be read in it's entirety. */
- OBJF_READNOW = 1 << 2, /* Immediate full read */
- /* This objfile was created because the user explicitly caused it
- (e.g., used the add-symbol-file command). This bit offers a
- way for run_command to remove old objfile entries which are no
- longer valid (i.e., are associated with an old inferior), but
- to preserve ones that the user explicitly loaded via the
- add-symbol-file command. */
- OBJF_USERLOADED = 1 << 3, /* User loaded */
- /* Set if we have tried to read partial symtabs for this objfile.
- This is used to allow lazy reading of partial symtabs. */
- OBJF_PSYMTABS_READ = 1 << 4,
- /* Set if this is the main symbol file (as opposed to symbol file
- for dynamically loaded code). */
- OBJF_MAINLINE = 1 << 5,
- /* ORIGINAL_NAME and OBFD->FILENAME correspond to text description
- unrelated to filesystem names. It can be for example
- "<image in memory>". */
- OBJF_NOT_FILENAME = 1 << 6,
- /* User requested that we do not read this objfile's symbolic
- information. */
- OBJF_READNEVER = 1 << 7,
- };
- DEF_ENUM_FLAGS_TYPE (enum objfile_flag, objfile_flags);
- #endif /* !defined (OBJFILE_FLAGS_H) */
|