diff options
author | Marcin Kościelnicki <koriakin@0x04.net> | 2016-01-21 09:55:38 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2016-01-21 09:55:38 +0000 |
commit | d45ef29ed109d4bef53886a84a0da17c4f455d1f (patch) | |
tree | 39a2a3c4eaca42b71d2b085b6eecab6899e82f01 /gcc | |
parent | 6d31cc758baf6756d0627da19b546625709176c6 (diff) | |
download | gcc-d45ef29ed109d4bef53886a84a0da17c4f455d1f.zip gcc-d45ef29ed109d4bef53886a84a0da17c4f455d1f.tar.gz gcc-d45ef29ed109d4bef53886a84a0da17c4f455d1f.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/s390/s390.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a17a403..0237f57 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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> diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 21a5687..3be64de 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"); |