| From: Rolf Eike Beer <eike@sf-mail.de> |
| Date: Thu, 12 Sep 2013 18:59:11 +0000 (+0200) |
| Subject: bootstrap: try better workaround for builds on Linux/HPPA |
| X-Git-Tag: v2.8.12~21^2 |
| X-Git-Url: http://cmake.org/gitweb?p=cmake.git;a=commitdiff_plain;h=ca63bb1001dea6929e194ac15921fdeb7d434dcd |
| |
| bootstrap: try better workaround for builds on Linux/HPPA |
| |
| The workaround currently present works fine without -O or with -O1, but fails |
| with -Os or -O2 and higher. Using -O2 is common e.g. in Gentoo, as resulting in |
| bugs like this: |
| |
| https://bugs.gentoo.org/473276 |
| |
| Prevent the workaround for higher optimization levels to make bootstrapping |
| more likely to succeed. |
| |
| This is still a workaround as ld still keeps crashing in some situations. |
| --- |
| |
| diff --git a/bootstrap b/bootstrap |
| index fb4a0a0..9784d5d 100755 |
| --- a/bootstrap |
| +++ b/bootstrap |
| @@ -692,7 +692,10 @@ if ${cmake_system_linux}; then |
| # avoid binutils problem with large binaries, e.g. when building CMake in debug mode |
| # See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50230 |
| if ${cmake_machine_parisc}; then |
| - cmake_ld_flags="${LDFLAGS} -Wl,--unique=.text.*" |
| + # if -O[s23] is given the effect is inverted, so do not use the flag then |
| + if [ "`echo "${CXXFLAGS}" | sed -r '/^(.* )?(-O[s234])( .*)?$/s/.*/-Os/'`" != "-Os" ]; then |
| + cmake_ld_flags="${LDFLAGS} -Wl,--unique=.text.*" |
| + fi |
| fi |
| fi |