summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Dougherty <doughera@lafayette.edu>2013-05-10 19:19:17 +1000
committerTony Cook <tony@develop-help.com>2013-05-10 22:15:41 +1000
commit1ddb6a49bccfef91b5cb075feea5feb1aaded968 (patch)
tree8a26b4b7e197ce94b0e422c6c3fb9b64c1aadc15
parentddd66388bd9fbae5aed96c852f5d19898d707434 (diff)
downloadperl-1ddb6a49bccfef91b5cb075feea5feb1aaded968.tar.gz
[perl #66604] 64bit compilation Problem on Solaris x86_64
Configure changes
-rwxr-xr-xConfigure15
1 files changed, 14 insertions, 1 deletions
diff --git a/Configure b/Configure
index ff511d3cfc..30ab78a56a 100755
--- a/Configure
+++ b/Configure
@@ -8048,7 +8048,20 @@ EOM
;;
linux|irix*|gnu*) dflt="-shared $optimize" ;;
next) dflt='none' ;;
- solaris) dflt='-G' ;;
+ solaris) # See [perl #66604]. On Solaris 11, gcc -m64 on amd64
+ # appears not to understand -G. gcc versions at
+ # least as old as 3.4.3 support -shared, so just
+ # use that with Solaris 11 and later, but keep
+ # the old behavior for older Solaris versions.
+ case "$gccversion" in
+ '') dflt='-G' ;;
+ *) case "$osvers" in
+ 2.?|2.10) dflt='-G' ;;
+ *) dflt='-shared' ;;
+ esac
+ ;;
+ esac
+ ;;
sunos) dflt='-assert nodefinitions' ;;
svr4*|esix*|nonstopux) dflt="-G $ldflags" ;;
*) dflt='none' ;;