diff options
author | Tom Tromey <tom@tromey.com> | 2018-09-26 06:54:17 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-10-06 22:46:56 -0600 |
commit | a8a5dbcab8df0b3a9e04745d4fe8d64740acb323 (patch) | |
tree | b61a60b157158db8b066c30de7fe84b6855a962f | |
parent | 2a8be20359dba9cc684fd3ffa222d985399f3b18 (diff) | |
download | gdb-a8a5dbcab8df0b3a9e04745d4fe8d64740acb323.zip gdb-a8a5dbcab8df0b3a9e04745d4fe8d64740acb323.tar.gz gdb-a8a5dbcab8df0b3a9e04745d4fe8d64740acb323.tar.bz2 |
Do not accidentally include in-tree readline headers
PR build/17077 points out that when --with-system-readline is given,
gdb will still pick up the in-tree readline headers. Normally this is
not a big problem, because readline is very stable and so the ABI does
not change much; but it is clearly a bug to do this, and could bite at
some point.
The basic problem is that OPCODES_CFLAGS uses -I$(OPCODES_SRC)/.. so
that #include "opcodes/..." works. However, this also makes it so the
This patch fixes the problem in a mildly hacky way: remove the
offending -I option, and change gdb to use #include "../opcodes/..."
instead. This continues to make it clear where the header comes from,
without allowing incorrect behavior.
Tested by rebuilding and then looking at the *.Po files.
gdb/ChangeLog
2018-10-06 Tom Tromey <tom@tromey.com>
PR build/17077:
* Makefile.in (OPCODES_CFLAGS): Remove "-I$(OPCODES_SRC)/..".
* arc-tdep.c, frv-tdep.c, lm32-tdep.c, mep-tdep.c,
microblaze-tdep.c, or1k-tdep.h: Use ../opcodes, not opcodes, in
#include.
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/Makefile.in | 3 | ||||
-rw-r--r-- | gdb/arc-tdep.c | 2 | ||||
-rw-r--r-- | gdb/frv-tdep.c | 2 | ||||
-rw-r--r-- | gdb/lm32-tdep.c | 2 | ||||
-rw-r--r-- | gdb/mep-tdep.c | 4 | ||||
-rw-r--r-- | gdb/microblaze-tdep.c | 4 | ||||
-rw-r--r-- | gdb/or1k-tdep.h | 4 |
8 files changed, 18 insertions, 11 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e6f821d..0454d15 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,13 @@ 2018-10-06 Tom Tromey <tom@tromey.com> + PR build/17077: + * Makefile.in (OPCODES_CFLAGS): Remove "-I$(OPCODES_SRC)/..". + * arc-tdep.c, frv-tdep.c, lm32-tdep.c, mep-tdep.c, + microblaze-tdep.c, or1k-tdep.h: Use ../opcodes, not opcodes, in + #include. + +2018-10-06 Tom Tromey <tom@tromey.com> + * python/py-breakpoint.c (bppy_get_location): Handle a bp_breakpoint without a location. diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 8d780ac..5b3a952 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -446,8 +446,7 @@ OPCODES = $(OPCODES_DIR)/libopcodes.a # Where are the other opcode tables which only have header file # versions? OP_INCLUDE = $(INCLUDE_DIR)/opcode -# Some source files like to use #include "opcodes/file.h" -OPCODES_CFLAGS = -I$(OP_INCLUDE) -I$(OPCODES_SRC)/.. +OPCODES_CFLAGS = -I$(OP_INCLUDE) # The simulator is usually nonexistent; targets that include one # should set this to list all the .o or .a files to be linked in. diff --git a/gdb/arc-tdep.c b/gdb/arc-tdep.c index fad9170..b9dcbbc 100644 --- a/gdb/arc-tdep.c +++ b/gdb/arc-tdep.c @@ -33,7 +33,7 @@ /* ARC header files. */ #include "opcode/arc.h" -#include "opcodes/arc-dis.h" +#include "../opcodes/arc-dis.h" #include "arc-tdep.h" /* Standard headers. */ diff --git a/gdb/frv-tdep.c b/gdb/frv-tdep.c index 1eed441..dafab75 100644 --- a/gdb/frv-tdep.c +++ b/gdb/frv-tdep.c @@ -29,7 +29,7 @@ #include "dis-asm.h" #include "sim-regno.h" #include "gdb/sim-frv.h" -#include "opcodes/frv-desc.h" /* for the H_SPR_... enums */ +#include "../opcodes/frv-desc.h" /* for the H_SPR_... enums */ #include "symtab.h" #include "elf-bfd.h" #include "elf/frv.h" diff --git a/gdb/lm32-tdep.c b/gdb/lm32-tdep.c index 9428521..694d30ee 100644 --- a/gdb/lm32-tdep.c +++ b/gdb/lm32-tdep.c @@ -35,7 +35,7 @@ #include "regcache.h" #include "trad-frame.h" #include "reggroups.h" -#include "opcodes/lm32-desc.h" +#include "../opcodes/lm32-desc.h" #include <algorithm> /* Macros to extract fields from an instruction. */ diff --git a/gdb/mep-tdep.c b/gdb/mep-tdep.c index 4b5bfcb..ae9c4de 100644 --- a/gdb/mep-tdep.c +++ b/gdb/mep-tdep.c @@ -48,8 +48,8 @@ /* Get the user's customized MeP coprocessor register names from libopcodes. */ -#include "opcodes/mep-desc.h" -#include "opcodes/mep-opc.h" +#include "../opcodes/mep-desc.h" +#include "../opcodes/mep-opc.h" /* The gdbarch_tdep structure. */ diff --git a/gdb/microblaze-tdep.c b/gdb/microblaze-tdep.c index 4dbfd1b..018b713 100644 --- a/gdb/microblaze-tdep.c +++ b/gdb/microblaze-tdep.c @@ -34,8 +34,8 @@ #include "dwarf2-frame.h" #include "osabi.h" #include "target-descriptions.h" -#include "opcodes/microblaze-opcm.h" -#include "opcodes/microblaze-dis.h" +#include "../opcodes/microblaze-opcm.h" +#include "../opcodes/microblaze-dis.h" #include "microblaze-tdep.h" #include "remote.h" diff --git a/gdb/or1k-tdep.h b/gdb/or1k-tdep.h index 4a93540..b630c77 100644 --- a/gdb/or1k-tdep.h +++ b/gdb/or1k-tdep.h @@ -24,8 +24,8 @@ #define TARGET_OR1K #endif -#include "opcodes/or1k-desc.h" -#include "opcodes/or1k-opc.h" +#include "../opcodes/or1k-desc.h" +#include "../opcodes/or1k-opc.h" /* General Purpose Registers */ #define OR1K_ZERO_REGNUM 0 |