Use GNU make pattern rule in ld Makefile
[binutils-gdb.git] / gdbsupport / common-types.h
blob3717162b36bc4cd6fa074933574e559456d38bb7
1 /* Declarations for common types.
3 Copyright (C) 1986-2023 Free Software Foundation, Inc.
5 This file is part of GDB.
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 #ifndef COMMON_COMMON_TYPES_H
21 #define COMMON_COMMON_TYPES_H
23 #include <inttypes.h>
25 /* * A byte from the program being debugged. */
26 typedef unsigned char gdb_byte;
28 /* * An address in the program being debugged. Host byte order. */
29 typedef uint64_t CORE_ADDR;
31 /* Like a CORE_ADDR, but not directly convertible. This is used to
32 represent an unrelocated CORE_ADDR. DEFINE_OFFSET_TYPE is not used
33 here because there's no need to add or subtract values of this
34 type. */
35 enum class unrelocated_addr : CORE_ADDR { };
37 /* LONGEST must be at least as big as CORE_ADDR. */
39 typedef int64_t LONGEST;
40 typedef uint64_t ULONGEST;
42 /* * The largest CORE_ADDR value. */
43 #define CORE_ADDR_MAX (~(CORE_ADDR) 0)
45 /* * The largest ULONGEST value, 0xFFFFFFFFFFFFFFFF for 64-bits. */
46 #define ULONGEST_MAX (~(ULONGEST) 0)
48 /* * The largest LONGEST value, 0x7FFFFFFFFFFFFFFF for 64-bits. */
49 #define LONGEST_MAX ((LONGEST) (ULONGEST_MAX >> 1))
51 /* * The smallest LONGEST value, 0x8000000000000000 for 64-bits. */
52 #define LONGEST_MIN ((LONGEST) (~(LONGEST) 0 ^ LONGEST_MAX))
54 enum tribool { TRIBOOL_UNKNOWN = -1, TRIBOOL_FALSE = 0, TRIBOOL_TRUE = 1 };
56 #endif /* COMMON_COMMON_TYPES_H */