[Cmake-commits] CMake branch, next, updated. v3.1.0-rc1-323-g294e70c

Chuck Atkins chuck.atkins at kitware.com
Tue Nov 4 16:38:37 EST 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  294e70c79a1611c0a58e7d82158afa203d57288c (commit)
       via  c15764a69202cf6837dd0332adbba56dfa11bbd7 (commit)
      from  4a91ac27ebb8d356407c45b92d0e23d845e5ccd8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=294e70c79a1611c0a58e7d82158afa203d57288c
commit 294e70c79a1611c0a58e7d82158afa203d57288c
Merge: 4a91ac2 c15764a
Author:     Chuck Atkins <chuck.atkins at kitware.com>
AuthorDate: Tue Nov 4 16:38:37 2014 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Nov 4 16:38:37 2014 -0500

    Merge topic 'fix-gcc-hppa' into next
    
    c15764a6 Workaround for short jump tables on PA-RISC.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c15764a69202cf6837dd0332adbba56dfa11bbd7
commit c15764a69202cf6837dd0332adbba56dfa11bbd7
Author:     Chuck Atkins <chuck.atkins at kitware.com>
AuthorDate: Tue Nov 4 11:01:56 2014 -0500
Commit:     Chuck Atkins <chuck.atkins at kitware.com>
CommitDate: Tue Nov 4 16:34:59 2014 -0500

    Workaround for short jump tables on PA-RISC.
    
    The PA-RISC architecture requires special options for GCC to prevent
    linker errors when libraries reach a certain size and / or complexity.
    See http://mraw.org/blog/2007/10/10/Linking_on_hppa and gcc
    documentation on -mlong-calls.

diff --git a/CompileFlags.cmake b/CompileFlags.cmake
index 5d86876..79f89d0 100644
--- a/CompileFlags.cmake
+++ b/CompileFlags.cmake
@@ -65,6 +65,16 @@ if(CMAKE_SYSTEM_NAME MATCHES "HP-UX" AND CMAKE_CXX_COMPILER_ID MATCHES "HP")
   endif()
 endif()
 
+# Workaround for short jump tables on PA-RISC
+if(CMAKE_SYSTEM_PROCESSOR STREQUAL parisc)
+  if(CMAKE_COMPILER_IS_GNUC)
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlong-calls")
+  endif()
+  if(CMAKE_COMPILER_IS_GNUCXX)
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlong-calls")
+  endif()
+endif()
+
 # use the ansi CXX compile flag for building cmake
 if (CMAKE_ANSI_CXXFLAGS)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_ANSI_CXXFLAGS}")
@@ -74,10 +84,4 @@ if (CMAKE_ANSI_CFLAGS)
   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_ANSI_CFLAGS}")
 endif ()
 
-# 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_SYSTEM_NAME STREQUAL Linux AND CMAKE_SYSTEM_PROCESSOR STREQUAL parisc)
-  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--unique=.text._*")
-endif ()
-
 include (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake)
diff --git a/bootstrap b/bootstrap
index b09023d..904e6be 100755
--- a/bootstrap
+++ b/bootstrap
@@ -744,11 +744,13 @@ if ${cmake_system_haiku}; then
   cmake_ld_flags="${LDFLAGS} -lroot -lbe"
 fi
 
-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._*"
+# Workaround for short jump tables on PA-RISC
+if ${cmake_machine_parisc}; then
+  if ${cmake_c_compiler_is_gnu}; then
+    cmake_c_flags="${CFLAGS} -mlong-calls"
+  fi
+  if ${cmake_cxx_compiler_is_gnu}; then
+    cmake_cxx_flags="${CXXFLAGS} -mlong-calls"
   fi
 fi
 

-----------------------------------------------------------------------

Summary of changes:
 CompileFlags.cmake |    6 ------
 bootstrap          |   12 +++++++-----
 2 files changed, 7 insertions(+), 11 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list