[RS6000] Out-of-line register save functions can't be used from crtend.o
authorAlan Modra <amodra@gmail.com>
Fri, 7 Apr 2017 01:30:43 +0000 (11:00 +0930)
committerAlan Modra <amodra@gcc.gnu.org>
Fri, 7 Apr 2017 01:30:43 +0000 (11:00 +0930)
PR target/45053
* config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add -O2.

From-SVN: r246749

libgcc/ChangeLog
libgcc/config/rs6000/t-crtstuff

index 87fea5bc8c8de5bfe636fea95b7323ebf5bbe1ff..427328df0a79689562728c0af71a1108a1f5b287 100644 (file)
@@ -1,3 +1,8 @@
+2017-04-07  Alan Modra  <amodra@gmail.com>
+
+       PR target/45053
+       * config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add -O2.
+
 2017-04-03  Jonathan Wakely  <jwakely@redhat.com>
 
        * config/c6x/pr-support.c (__gnu_unwind_execute): Fix typo in comment.
index 7422d383754e9b7e974fb74447a165add0acdbb3..0b2601b05bdd8b7478430f7afb1e59c3153a4c54 100644 (file)
@@ -1,3 +1,6 @@
 # If .sdata is enabled __CTOR_{LIST,END}__ go into .sdata instead of
 # .ctors.
-CRTSTUFF_T_CFLAGS = -msdata=none
+# Do not build crtend.o with -Os as that can result in references to
+# out-of-line register save/restore functions, which may be unresolved
+# as crtend.o is linked after libgcc.a.  See PR45053.
+CRTSTUFF_T_CFLAGS = -msdata=none -O2