[Bug bootstrap/87013] Error: junk at end of line, first unrecognized character is `i'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87013 --- Comment #9 from Alexandre Oliva --- Author: aoliva Date: Thu Sep 20 19:34:30 2018 New Revision: 264449 URL: https://gcc.gnu.org/viewcvs?rev=264449&root=gcc&view=rev Log: [PR87013] check for .loc is_stmt support in the assembler Back when we had the logic to output is_stmt but never exercised it, it didn't matter that we didn't test for assembler support for it. But there are still assemblers out there that do not support it, so now that we enable the formerly latent is_stmt logic, we'd better make sure the assembler can deal with it. for gcc/ChangeLog PR bootstrap/87013 * configure.ac: Check for .loc is_stmt support. * configure, config.in: Rebuilt. * dwarf2out.c (dwarf2out_source_line): Skip is_stmt if not supported. Modified: trunk/gcc/ChangeLog trunk/gcc/config.in trunk/gcc/configure trunk/gcc/configure.ac trunk/gcc/dwarf2out.c
[Bug bootstrap/87013] Error: junk at end of line, first unrecognized character is `i'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87013 martin changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #8 from martin --- Passed related point. Confirmed working. Thanks Alex for the patch!
[Bug bootstrap/87013] Error: junk at end of line, first unrecognized character is `i'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87013 --- Comment #7 from martin --- Created attachment 44584 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44584&action=edit gcc\config.log Hi, sry for the delayed answer. I wanted to make sure that the compiler passed the related point, but I don't know how to verify this (the machine is still compiling). So I assume the patch is working. I attached the config.log.
[Bug bootstrap/87013] Error: junk at end of line, first unrecognized character is `i'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87013 --- Comment #6 from Alexandre Oliva --- I wanted to ask, martin, can you please confirm that it does indeed fix the problem for you?
[Bug bootstrap/87013] Error: junk at end of line, first unrecognized character is `i'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87013 Alexandre Oliva changed: What|Removed |Added Attachment #44573|0 |1 is obsolete|| --- Comment #5 from Alexandre Oliva --- Created attachment 44581 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44581&action=edit tested patch This is a complete patch, with all the generated files, that I tested on x86_64-linux-gnu, with an assembler that supports is_stmt. I've also manually tested manually removing the #define HAVE_GAS_LOC_STMT in auto-host.h, and checked that the compiler wouldn't output is_stmt directives. (It would still emit negate_stmt opcodes when generating line number programs itself)
[Bug bootstrap/87013] Error: junk at end of line, first unrecognized character is `i'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87013 Alexandre Oliva changed: What|Removed |Added Status|WAITING |ASSIGNED Assignee|unassigned at gcc dot gnu.org |aoliva at gcc dot gnu.org --- Comment #4 from Alexandre Oliva --- Created attachment 44573 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44573&action=edit untested candidate patch Yeah, it looks like we never checked for is_stmt support; we had it in unconditionally, but it was never exercised, so it didn't come up. This patch should be enough to avoid the problem, provided that gcc/configure and gcc/config.in are regenerated after putting the configure.ac change in. I'll turn that into a proper patch eventually, but I'd appreciate confirmation that it does solve the problem indeed. Thanks,
[Bug bootstrap/87013] Error: junk at end of line, first unrecognized character is `i'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87013 Richard Biener changed: What|Removed |Added CC||aoliva at gcc dot gnu.org --- Comment #3 from Richard Biener --- .loc 1 15 1 is_stmt 0 we don't seem to have an assembler test for is_stmt support. Alex? Martin, can you attach gcc/config.log?
[Bug bootstrap/87013] Error: junk at end of line, first unrecognized character is `i'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87013 --- Comment #2 from martin --- Created attachment 44565 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44565&action=edit conftest.s Attached is the generated conftest.s file of the command > /media/gcc-8.2.0-compiled/./gcc/xgcc -B/media/gcc-8.2.0-compiled/./gcc/ > -B/opt/gcc-8.2/sparc-linux/bin/ -B/opt/gcc-8.2/sparc-linux/lib/ -isystem > /opt/gcc-8.2/sparc-linux/include -isystem > /opt/gcc-8.2/sparc-linux/sys-include-c -g -O2 -save-temps conftest.c I'm afraid I don't have any assembler tools installed (Only the gcc 7.2 enviroment for C and C++) Let me know, if you need more information.
[Bug bootstrap/87013] Error: junk at end of line, first unrecognized character is `i'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87013 Jonathan Wakely changed: What|Removed |Added Target||sparc-linux Status|UNCONFIRMED |WAITING Last reconfirmed||2018-08-20 Summary|xgcc: fatal error: no input |Error: junk at end of line, |files |first unrecognized ||character is `i' Ever confirmed|0 |1 --- Comment #1 from Jonathan Wakely --- > xgcc: error: unrecognized command line option '-qversion'; did you mean > '--version'? > xgcc: fatal error: no input files That's not the problem, this error is supposed to happen, because your compiler doesn't recognise the -qversion option. > compilation terminated. > configure:3458: $? = 1 > configure:3474: /media/gcc-8.2.0-compiled/./gcc/xgcc > -B/media/gcc-8.2.0-compiled/./gcc/ -B/opt/gcc-8.2/sparc-linux/bin/ > -B/opt/gcc-8.2/sparc-linux/lib/ -isystem /opt/gcc-8.2/sparc-linux/include > -isystem /opt/gcc-8.2/sparc-linux/sys-include-o conftest -g -O2 > conftest.c >&5 > /tmp/ccvuOEZf.s: Assembler messages: > /tmp/ccvuOEZf.s:15: Error: junk at end of line, first unrecognized character > is `i' > configure:3477: $? = 1 > configure:3665: checking for suffix of object files > configure:3687: /media/gcc-8.2.0-compiled/./gcc/xgcc > -B/media/gcc-8.2.0-compiled/./gcc/ -B/opt/gcc-8.2/sparc-linux/bin/ > -B/opt/gcc-8.2/sparc-linux/lib/ -isystem /opt/gcc-8.2/sparc-linux/include > -isystem /opt/gcc-8.2/sparc-linux/sys-include-c -g -O2 conftest.c >&5 > /tmp/ccookNLX.s: Assembler messages: > /tmp/ccookNLX.s:15: Error: junk at end of line, first unrecognized character > is `i' This is the problem. Try compiling the source below using the command above, adding -save-temps, and then look at the resulting .s file. See why your assembler can't process it (do you even have an assembler for your target?) > configure:3691: $? = 1 > configure: failed program was: > | /* confdefs.h */ > | #define PACKAGE_NAME "GNU C Runtime Library" > | #define PACKAGE_TARNAME "libgcc" > | #define PACKAGE_VERSION "1.0" > | #define PACKAGE_STRING "GNU C Runtime Library 1.0" > | #define PACKAGE_BUGREPORT "" > | #define PACKAGE_URL "http://www.gnu.org/software/libgcc/"; > | /* end confdefs.h. */ > | > | int > | main () > | { > | > | ; > | return 0; > | } > configure:3705: error: in `/media/gcc-8.2.0-compiled/sparc-linux/libgcc': > configure:3708: error: cannot compute suffix of object files: cannot compile > See `config.log' for more details.