From d45ef29ed109d4bef53886a84a0da17c4f455d1f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marcin=20Ko=C5=9Bcielnicki?= Date: Thu, 21 Jan 2016 09:55:38 +0000 Subject: [PATCH] S/390: Fix missing .size directives. It seems at some point the .size hook was hijacked to emit some machine-specific directives, and the actual .size directive was forgotten. This caused problems for split-stack support, since linker couldn't scan the function body for non-split-stack calls. gcc/ChangeLog: * config/s390/s390.c (s390_asm_declare_function_size): Add code to actually emit the .size directive. From-SVN: r232669 --- gcc/ChangeLog | 5 +++++ gcc/config/s390/s390.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a17a403b91a..0237f576e92 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-01-21 Marcin Kościelnicki + + * config/s390/s390.c (s390_asm_declare_function_size): Add code + to actually emit the .size directive. + 2016-01-21 Stefan Sørensen Jakub Jelinek diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 21a568767b7..3be64de3570 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -6834,8 +6834,10 @@ s390_asm_output_function_prefix (FILE *asm_out_file, void s390_asm_declare_function_size (FILE *asm_out_file, - const char *fnname ATTRIBUTE_UNUSED, tree decl) + const char *fnname, tree decl) { + if (!flag_inhibit_size_directive) + ASM_OUTPUT_MEASURED_SIZE (asm_out_file, fnname); if (DECL_FUNCTION_SPECIFIC_TARGET (decl) == NULL) return; fprintf (asm_out_file, "\t.machine pop\n"); -- 2.30.2