diff options
author | Alan Modra <amodra@gmail.com> | 2021-02-23 21:54:25 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2021-02-24 10:13:00 +1030 |
commit | 55add51eef6b4f89d44e1a6753d4dd926cab70c7 (patch) | |
tree | ddd4d9c9242b7d4d9d7a6eb69bfb43a3fa5cb45b /gas/config/bfin-lex.l | |
parent | c42c71a1527dd70417d3966dce7ba9edbcf4bdb4 (diff) | |
download | gdb-55add51eef6b4f89d44e1a6753d4dd926cab70c7.zip gdb-55add51eef6b4f89d44e1a6753d4dd926cab70c7.tar.gz gdb-55add51eef6b4f89d44e1a6753d4dd926cab70c7.tar.bz2 |
PR23691, gas .y files vs. automatic make dependencies
A number of targets, bfin, rl78, rx, can show odd failures when
bfd/reloc.c changes BFD_RELOC_* enum values, if recompiling over a
build dir with existing objects. The problem is caused by
bfin-parse.o and similar not being recompiled and so using stale
BFD_RELOC_* values. This isn't fixed by making bfin-parse.c depend on
bfd/reloc.c, which isn't necessary anyway. bfin-parse.o should have
been recompiled due to bfd/bfd.h changing when extracted bfd/reloc.c
BFD_RELOC_* values change, but that wasn't happening. The problem is
that automake generates a makefile that loads gas/config/.deps/
dependency file for objects with corresponding sources mentioned in
EXTRA_as_new_SOURCES. Unless we want to mess around generating
explicit dependencies, I think that mean moving some object files to
the build gas/config/. This patch does that, removing some hacks for
m68k-parse.c that should no longer be necessary, and removes some
rules that catered to old bison producing code that triggers compiler
warnings.
PR 23691
* Makefile.am (TARGET_CPU_CFILES): Split off config/xtensa-relax.c..
(TARGET_CPU_HFILES): ..and config/xtensa-relax.h..
(TARGET_EXTRA_FILES): ..to here. Add config/bfin-lex-wrapper.c,
and use alongside TARGET_CPU_CFILES.
(EXTRA_DIST): Update location of generated .c files.
(config/m68k-parse.c): New rule replacing m68k-parse.c rule.
(config/bfin-parse.c, config/rl78-parse.cm config/rx-parse.c),
(config/bfin-lex.c, config/bfin-lex-wrapper.@OBJEXT@): Similarly.
(itbl-lex-wrapper.@OBJEXT@): Simplify to just the needed
dependencies.
(itbl-parse.@OBJEXT@): Delete rule using NO_WERROR.
(itbl-parse.c, itbl-parse.h): Tidy.
* config/bfin-lex-wrapper.c: Include config/bfin-lex.c.
* config/bfin-lex.l: Include config/bfin-parse.h.
* configure.ac (extra_objects): Move object files corresponding
to .y and .l files now in config/ to config/.
* Makefile.in: Regenerate.
* configure: Regenerate.
* po/POTFILES.in: Regenerate.
Diffstat (limited to 'gas/config/bfin-lex.l')
-rw-r--r-- | gas/config/bfin-lex.l | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gas/config/bfin-lex.l b/gas/config/bfin-lex.l index ec3d1fe..be72a18 100644 --- a/gas/config/bfin-lex.l +++ b/gas/config/bfin-lex.l @@ -23,7 +23,7 @@ #include "as.h" #include "bfin-defs.h" -#include "bfin-parse.h" +#include "config/bfin-parse.h" static long parse_int (char **end); static int parse_halfreg (Register *r, int cl, char *hr); |