Don't munge yacc's #line directives
The #line directives within GDB's autogenerated yacc files (e.g. c-exp.c) are being incorrectly munged, causing these directives to refer to nonexistent source files, e.g. #line 36 "/home/patrick/binutils-gdb/gdb//home/patrick/binutils-gdb/gdb/c-exp.y" as opposed to #line 36 "/home/patrick/binutils-gdb/gdb/c-exp.y" The munging happens due to a sed expression added by commit954d8cae
whose intended purpose[1] was to work around the fact that ylwrap emitted #line directives without any directory information, e.g. #line 36 "c-exp.y" So the sed expression was meant to munge such directives to refer to absolute paths instead. But the behavior of ylwrap was changed some years ago[2] to emit absolute paths within #line directives. And when our local copy of ylwrap was synced by commite30465112
, the sed expression in question became unnecessary, and indeed harmful. This patch removes the now-obsolete sed expression. The emitted #line directives are now correct without it. gdb/ChangeLog: * Makefile.in (.y.c): Don't munge yacc's #line directives. [1]: https://sourceware.org/ml/gdb-patches/2010-11/msg00265.html [2]: http://git.savannah.gnu.org/cgit/automake.git/commit/lib/ylwrap?id=b6359a5f3
This commit is contained in:
parent
c6e8e93a86
commit
6bf045cd32
|
@ -1,3 +1,8 @@
|
|||
2015-01-09 Patrick Palka <patrick@parcs.ath.cx>
|
||||
|
||||
* Makefile.in (.y.c): Don't munge yacc's #line
|
||||
directives.
|
||||
|
||||
2015-01-09 Patrick Palka <patrick@parcs.ath.cx>
|
||||
|
||||
* utils.c (defaulted_query): Rewrite to use gdb_readline_wrapper
|
||||
|
|
|
@ -1858,7 +1858,6 @@ po/$(PACKAGE).pot: force
|
|||
-e 's/\([ \t;,(]\)free\([ \t]*[&(),]\)/\1xfree\2/g' \
|
||||
-e 's/\([ \t;,(]\)free$$/\1xfree/g' \
|
||||
-e '/^#line.*y.tab.c/d' \
|
||||
-e "s/^\(#line.*\)`basename $<`/\1`echo $<|sed 's/\//\\\\\//g'`/" \
|
||||
< $@.tmp > $@
|
||||
rm -f $@.tmp
|
||||
.l.c:
|
||||
|
|
Loading…
Reference in New Issue