Don't munge yacc's #line directives
authorPatrick Palka <patrick@parcs.ath.cx>
Sun, 30 Nov 2014 16:47:16 +0000 (11:47 -0500)
committerPatrick Palka <patrick@parcs.ath.cx>
Fri, 9 Jan 2015 22:19:06 +0000 (17:19 -0500)
commit6bf045cd32d07ae55d7eec8ff94bd937c6bb2bce
tree702211876feec4d902902251514ac6275781d1f1
parentc6e8e93a865d429546037cf5746502aa253a1f2d
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 commit 954d8cae
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 commit e30465112, 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
gdb/ChangeLog
gdb/Makefile.in