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
This commit is contained in:
Marcin Kościelnicki 2016-01-21 09:55:38 +00:00 committed by Andreas Krebbel
parent 6d31cc758b
commit d45ef29ed1
2 changed files with 8 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
* config/s390/s390.c (s390_asm_declare_function_size): Add code
to actually emit the .size directive.
2016-01-21 Stefan Sørensen <stefan.sorensen@spectralink.com>
Jakub Jelinek <jakub@redhat.com>

View file

@ -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");