From: Marcin Kościelnicki Date: Thu, 21 Jan 2016 09:55:38 +0000 (+0000) Subject: S/390: Fix missing .size directives. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d45ef29ed109d4bef53886a84a0da17c4f455d1f;p=gcc.git 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 --- 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");