On Tue, Aug 23, 2016 at 11:57:01AM -0700, Ian Lance Taylor wrote:
> 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.

I've run a regression test "light" with the patch, i.e. only s390x
and Gcc only built with the C language, and it works fine except
that one test case fails that because a "scan-assembler-not" now
matches the ".file" line at the beginning of the file.  See
attached patch with that change added.

Additional ChangeLog for the test:

gcc/testsuite/ChangeLog

        * gcc.target/s390/nolrl-1.c: Don't match the filename.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt
IBM Germany
>From 1475ed9918918f4181c5f1e00a905c378ffe9d7a Mon Sep 17 00:00:00 2001
From: Dominik Vogt <v...@linux.vnet.ibm.com>
Date: Tue, 23 Aug 2016 19:57:35 +0100
Subject: [PATCH] S/390: Add missing call to default_file_start in hook.

---
 gcc/config/s390/s390.c                  | 1 +
 gcc/testsuite/gcc.target/s390/nolrl-1.c | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index 1abb30b..0a457fc 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -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
diff --git a/gcc/testsuite/gcc.target/s390/nolrl-1.c 
b/gcc/testsuite/gcc.target/s390/nolrl-1.c
index e0d1213..c162958 100644
--- a/gcc/testsuite/gcc.target/s390/nolrl-1.c
+++ b/gcc/testsuite/gcc.target/s390/nolrl-1.c
@@ -16,4 +16,4 @@ bar ()
     foo (z);
 }
 
-/* { dg-final { scan-assembler-not "lrl" } } */
+/* { dg-final { scan-assembler-not "\tlrl" } } */
-- 
2.3.0

Reply via email to