aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMarcin Kościelnicki <koriakin@0x04.net>2016-01-21 09:55:38 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2016-01-21 09:55:38 +0000
commitd45ef29ed109d4bef53886a84a0da17c4f455d1f (patch)
tree39a2a3c4eaca42b71d2b085b6eecab6899e82f01 /gcc
parent6d31cc758baf6756d0627da19b546625709176c6 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/config/s390/s390.c4
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");