aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRasmus Villemoes <rv@rasmusvillemoes.dk>2018-12-12 11:12:36 +0100
committerRasmus Villemoes <villemoes@gcc.gnu.org>2018-12-12 10:12:36 +0000
commit5a2580b6adef81759269dd01c6c2dd03d155d986 (patch)
treed7ee5b6b169594613c3c990a77526681e4d4ddb4
parent0c1342dfade9b202cb4b896bf8ce0646dd1d06b8 (diff)
downloadgcc-5a2580b6adef81759269dd01c6c2dd03d155d986.zip
gcc-5a2580b6adef81759269dd01c6c2dd03d155d986.tar.gz
gcc-5a2580b6adef81759269dd01c6c2dd03d155d986.tar.bz2
libgcc: rs6000: tramp.S: fix placement of .cfi_endproc for __trampoline_setup
Currently, .cfi_endproc and FUNC_END(__trampoline_setup) are placed inside the #else branch of an "#if defined (__VXWORKS__) ...", so non-pic vxworks does not get proper CFI nor a .size directive for __trampoline_setup. I assume there's no magic reason for that (which would warrant a comment), so move them outside. From-SVN: r267051
-rw-r--r--libgcc/ChangeLog5
-rw-r--r--libgcc/config/rs6000/tramp.S3
2 files changed, 6 insertions, 2 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 39713ed..24b7c9a 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,8 @@
+2018-12-12 Rasmus Villemoes <rv@rasmusvillemoes.dk>
+
+ * config/rs6000/tramp.S (__trampoline_setup): Also emit .size
+ and .cfi_endproc directives for VxWorks targets.
+
2018-12-05 Paul Koning <ni1d@arrl.net>
* udivmodhi4.c (__udivmodhi4): Fix loop end check.
diff --git a/libgcc/config/rs6000/tramp.S b/libgcc/config/rs6000/tramp.S
index 637f451..a9f0f38 100644
--- a/libgcc/config/rs6000/tramp.S
+++ b/libgcc/config/rs6000/tramp.S
@@ -114,11 +114,10 @@ FUNC_START(__trampoline_setup)
addi r30,r30,_GLOBAL_OFFSET_TABLE_-1b@l
#endif
bl JUMP_TARGET(abort)
+#endif
.cfi_endproc
FUNC_END(__trampoline_setup)
-#endif
-
#elif _CALL_ELF == 2
.type trampoline_initial,@object
.align 3