The root cause of https://golang.org/issue/16780 is that GCC on s390 GNU/Linux does not emit a .file directive. This is because the function s390_asm_file_start does not call default_file_start, unlike most other TARGET_ASM_FILE_START hooks. This patch should fix the problem. Since I don't have an s390 handy, it would be great if somebody could test this for me. Thanks.
Ian 2016-08-23 Ian Lance Taylor <i...@golang.org> * config/s390/s390.c (s390_asm_file_start): Call default_file_start.
Index: config/s390/s390.c =================================================================== --- config/s390/s390.c (revision 239708) +++ config/s390/s390.c (working copy) @@ -14972,6 +14972,7 @@ s390_vector_alignment (const_tree type) static void s390_asm_file_start (void) { + default_file_start (); s390_asm_output_machine_for_arch (asm_out_file); } #endif