From: Alan Modra Date: Fri, 7 Apr 2017 01:30:43 +0000 (+0930) Subject: [RS6000] Out-of-line register save functions can't be used from crtend.o X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2bdf7fc6e6a1c68847539cee4c93a472d55fa04e;p=gcc.git [RS6000] Out-of-line register save functions can't be used from crtend.o PR target/45053 * config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add -O2. From-SVN: r246749 --- diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 87fea5bc8c8..427328df0a7 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2017-04-07 Alan Modra + + PR target/45053 + * config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add -O2. + 2017-04-03 Jonathan Wakely * config/c6x/pr-support.c (__gnu_unwind_execute): Fix typo in comment. diff --git a/libgcc/config/rs6000/t-crtstuff b/libgcc/config/rs6000/t-crtstuff index 7422d383754..0b2601b05bd 100644 --- a/libgcc/config/rs6000/t-crtstuff +++ b/libgcc/config/rs6000/t-crtstuff @@ -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