diff options
author | Lancelot SIX <lancelot.six@amd.com> | 2024-01-29 18:28:52 +0000 |
---|---|---|
committer | Lancelot SIX <lancelot.six@amd.com> | 2024-01-29 20:20:30 +0000 |
commit | 878e894801169461adc00129ad33947ad541420d (patch) | |
tree | cff4e307be0aa3d24a60863322a314ad82ccac98 | |
parent | 34e222d3c20f33adae7d0841bc37dc9ac61fb1cd (diff) | |
download | gdb-878e894801169461adc00129ad33947ad541420d.zip gdb-878e894801169461adc00129ad33947ad541420d.tar.gz gdb-878e894801169461adc00129ad33947ad541420d.tar.bz2 |
gdb: Use SYM_DOMAIN instead of DOMAIN when calling sym-domains.def
Since commit 6771fc6f1d9 "Use a .def file for domain_enum", the
sym-domains.def file has been introduced, and requires the user to
define the DOMAIN(x) macro.
On older systems (centos-7 with glibc-2.17 for example), this DOMAIN
macro conflicts with another macro defined in /usr/include/math.h.
Fix this conflict by changing sym-domains.def to use a macro named
SYM_DOMAIN instead of DOMAIN.
Change-Id: I679df30e2bd2f4333343f16bbd2a3511a37550a3
Approved-By: Tom Tromey <tom@tromey.com>
-rw-r--r-- | gdb/guile/scm-symbol.c | 4 | ||||
-rw-r--r-- | gdb/python/py-symbol.c | 4 | ||||
-rw-r--r-- | gdb/sym-domains.def | 16 | ||||
-rw-r--r-- | gdb/symtab.c | 16 | ||||
-rw-r--r-- | gdb/symtab.h | 12 |
5 files changed, 26 insertions, 26 deletions
diff --git a/gdb/guile/scm-symbol.c b/gdb/guile/scm-symbol.c index 7061ff5..860ed52 100644 --- a/gdb/guile/scm-symbol.c +++ b/gdb/guile/scm-symbol.c @@ -697,11 +697,11 @@ static const scheme_integer_constant symbol_integer_constants[] = X (LOC_REGPARM_ADDR), #undef X -#define DOMAIN(X) \ +#define SYM_DOMAIN(X) \ { "SYMBOL_" #X "_DOMAIN", to_scripting_domain (X ## _DOMAIN) }, \ { "SEARCH_" #X "_DOMAIN", to_scripting_domain (SEARCH_ ## X ## _DOMAIN) }, #include "sym-domains.def" -#undef DOMAIN +#undef SYM_DOMAIN /* Historical. */ { "SYMBOL_VARIABLES_DOMAIN", to_scripting_domain (SEARCH_VAR_DOMAIN) }, diff --git a/gdb/python/py-symbol.c b/gdb/python/py-symbol.c index db8df89..1ebdf02 100644 --- a/gdb/python/py-symbol.c +++ b/gdb/python/py-symbol.c @@ -677,14 +677,14 @@ gdbpy_initialize_symbols (void) LOC_REGPARM_ADDR) < 0) return -1; -#define DOMAIN(X) \ +#define SYM_DOMAIN(X) \ if (PyModule_AddIntConstant (gdb_module, "SYMBOL_" #X "_DOMAIN", \ to_scripting_domain (X ## _DOMAIN)) < 0 \ || PyModule_AddIntConstant (gdb_module, "SEARCH_" #X "_DOMAIN", \ to_scripting_domain (SEARCH_ ## X ## _DOMAIN)) < 0) \ return -1; #include "sym-domains.def" -#undef DOMAIN +#undef SYM_DOMAIN return gdb_pymodule_addobject (gdb_module, "Symbol", (PyObject *) &symbol_object_type); diff --git a/gdb/sym-domains.def b/gdb/sym-domains.def index 7545631..dd5b1b6 100644 --- a/gdb/sym-domains.def +++ b/gdb/sym-domains.def @@ -21,38 +21,38 @@ none of the following apply. This usually indicates an error either in the symbol information or in gdb's handling of symbols. */ -DOMAIN (UNDEF) +SYM_DOMAIN (UNDEF) /* VAR_DOMAIN is the usual domain. In C, this contains variables, function names, typedef names and enum type values. */ -DOMAIN (VAR) +SYM_DOMAIN (VAR) /* STRUCT_DOMAIN is used in C to hold struct, union and enum type names. Thus, if `struct foo' is used in a C program, it produces a symbol named `foo' in the STRUCT_DOMAIN. */ -DOMAIN (STRUCT) +SYM_DOMAIN (STRUCT) /* MODULE_DOMAIN is used in Fortran to hold module type names. */ -DOMAIN (MODULE) +SYM_DOMAIN (MODULE) /* LABEL_DOMAIN may be used for names of labels (for gotos). */ -DOMAIN (LABEL) +SYM_DOMAIN (LABEL) /* Fortran common blocks. Their naming must be separate from VAR_DOMAIN. They also always use LOC_COMMON_BLOCK. */ -DOMAIN (COMMON_BLOCK) +SYM_DOMAIN (COMMON_BLOCK) /* TYPE_DOMAIN is for types and typedefs. Note that tags are not found here, see STRUCT_DOMAIN above. If a language does not have a tag namespace, then all types (including structures, etc) are here. */ -DOMAIN (TYPE) +SYM_DOMAIN (TYPE) /* FUNCTION_DOMAIN is for functions and methods. */ -DOMAIN (FUNCTION) +SYM_DOMAIN (FUNCTION) diff --git a/gdb/symtab.c b/gdb/symtab.c index 517e843..5221989 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -306,10 +306,10 @@ domain_name (domain_enum e) { switch (e) { -#define DOMAIN(X) \ +#define SYM_DOMAIN(X) \ case X ## _DOMAIN: return #X "_DOMAIN"; #include "sym-domains.def" -#undef DOMAIN +#undef SYM_DOMAIN default: gdb_assert_not_reached ("bad domain_enum"); } } @@ -320,10 +320,10 @@ std::string domain_name (domain_search_flags flags) { static constexpr domain_search_flags::string_mapping mapping[] = { -#define DOMAIN(X) \ +#define SYM_DOMAIN(X) \ MAP_ENUM_FLAG (SEARCH_ ## X ## _DOMAIN), #include "sym-domains.def" -#undef DOMAIN +#undef SYM_DOMAIN }; return flags.to_string (mapping); @@ -340,10 +340,10 @@ from_scripting_domain (int val) convert it to a search constant. */ switch (val) { -#define DOMAIN(X) \ +#define SYM_DOMAIN(X) \ case X ## _DOMAIN: break; #include "sym-domains.def" -#undef DOMAIN +#undef SYM_DOMAIN default: error (_("unrecognized domain constant")); } @@ -361,10 +361,10 @@ from_scripting_domain (int val) this. */ val &= ~SCRIPTING_SEARCH_FLAG; int check = val; -#define DOMAIN(X) \ +#define SYM_DOMAIN(X) \ check &= ~ (int) SEARCH_ ## X ## _DOMAIN; #include "sym-domains.def" -#undef DOMAIN +#undef SYM_DOMAIN if (check != 0) error (_("unrecognized domain constant")); return (domain_search_flag) val; diff --git a/gdb/symtab.h b/gdb/symtab.h index 3029f60..d43207ed 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -894,9 +894,9 @@ private: enum domain_enum { -#define DOMAIN(X) X ## _DOMAIN, +#define SYM_DOMAIN(X) X ## _DOMAIN, #include "sym-domains.def" -#undef DOMAIN +#undef SYM_DOMAIN }; /* The number of bits in a symbol used to represent the domain. */ @@ -909,19 +909,19 @@ extern const char *domain_name (domain_enum); let the search match multiple kinds of symbol. */ enum domain_search_flag { -#define DOMAIN(X) \ +#define SYM_DOMAIN(X) \ SEARCH_ ## X ## _DOMAIN = (1 << X ## _DOMAIN), #include "sym-domains.def" -#undef DOMAIN +#undef SYM_DOMAIN }; DEF_ENUM_FLAGS_TYPE (enum domain_search_flag, domain_search_flags); /* A convenience constant to search for any symbol. */ constexpr domain_search_flags SEARCH_ALL = ((domain_search_flags) 0 -#define DOMAIN(X) | SEARCH_ ## X ## _DOMAIN +#define SYM_DOMAIN(X) | SEARCH_ ## X ## _DOMAIN #include "sym-domains.def" -#undef DOMAIN +#undef SYM_DOMAIN ); /* A convenience define for "C-like" name lookups, matching variables, |