components/open-fabrics/ibutils/patches/base.patch
author boris.chiu@oracle.com
Thu, 22 Oct 2015 08:27:04 -0700
branchs11u3-sru
changeset 4996 739983ef315c
parent 3679 c058dce9610f
permissions -rw-r--r--
PSARC 2015/310 IBTF and OFUV updates 20889536 remove some compiler warnings in libibverbs 21351609 Some sol_uverbs <-> libibverbs cmd/resp API structs not 64 bit aligned 20888202 remove Mellanox specific code from libibverbs 20735273 libibverbs must support AH interfaces for PSIF 20549008 open-fabrics should move from gcc3 to gcc4 21055860 ib_write_bw/ib_send_bw not sending inline data for non-hermon hcas 21218536 qperf randomly cores when compiled with gcc 4.8.2 20449637 Open Fabrics tools/utilities should be LP64 only 21499287 open-fabrics ibutils-1.5.7 fails to build in 64 only environment 21747062 update libibverbs to handle EDR/FDR speeds 21834282 saquery should use default SA timeout of 1sec from upstream 21863393 qperf attempts to free the PD before freeing the MR associated with it 21863652 qperf cannot handle device name with IB port number as argument

# This patch was developed in-house. Since it is Solaris-specific,
# it is not suitable for upstream.
#
diff -r -u /tmp/ibutils-1.5.7/config/osm.m4 ibutils-1.5.7/config/osm.m4
--- /tmp/ibutils-1.5.7/config/osm.m4	Thu Feb 18 03:31:34 2010
+++ ibutils-1.5.7/config/osm.m4	Thu Feb 24 16:51:16 2011
@@ -179,7 +179,7 @@
       osm_debug_flags=
    fi
 
-   OSM_CFLAGS="-I$osm_include_dir $osm_extra_includes $osm_debug_flags $osm_vendor_sel -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1"
+   OSM_CFLAGS="-I$osm_include_dir $osm_extra_includes $osm_debug_flags $osm_vendor_sel -D_BSD_SOURCE=1"
 else
    dnl dummy values
    with_osm=disabled
diff -r -u /tmp/ibutils-1.5.7/ibdiag/doc/ibdiagnet.pod ibutils-1.5.7/ibdiag/doc/ibdiagnet.pod
--- /tmp/ibutils-1.5.7/ibdiag/doc/ibdiagnet.pod	Mon Nov  1 16:03:43 2010
+++ ibutils-1.5.7/ibdiag/doc/ibdiagnet.pod	Thu Jun  2 12:30:13 2011
@@ -122,7 +122,6 @@
 
 =over
 
-=item
 Min number of packets to be sent across each link (default = 10)
 
 =back
@@ -131,7 +130,6 @@
 
 =over
 
-=item
 Enable verbose mode
 
 =back
@@ -140,7 +138,6 @@
 
 =over
 
-=item
 Provides a report of the fabric qualities
 
 =back
@@ -149,7 +146,6 @@
 
 =over
 
-=item
 Credit loop check based on UpDown rules
 
 =back
@@ -158,8 +154,7 @@
 
 =over
 
-=item
-Specifies the topology file name
+Specifies the topology file name.  The system name (-s) must also be specified if this option is used.
 
 =back
 
@@ -167,7 +162,6 @@
 
 =over
 
-=item
 Specifies the local system name. Meaningful only if a topology file is specified
 
 =back
@@ -176,7 +170,6 @@
 
 =over
 
-=item
 Specifies the index of the device of the port used to connect to the IB fabric (in case of multiple devices on the local system)
 
 =back
@@ -185,7 +178,6 @@
 
 =over
 
-=item
 Specifies the local device's port num used to connect to the IB fabric
 
 =back
@@ -194,7 +186,6 @@
 
 =over
 
-=item
 Specifies the directory where the output files will be placed (default = /tmp)
 
 =back
@@ -203,7 +194,6 @@
 
 =over
 
-=item
 Specifies the expected link width
 
 =back
@@ -212,7 +202,6 @@
 
 =over
 
-=item
 Specifies the expected link speed
 
 =back
@@ -221,7 +210,6 @@
 
 =over
 
-=item
 Dump all the fabric links, pm Counters into ibdiagnet.pm
 
 =back
@@ -230,7 +218,6 @@
 
 =over
 
-=item
 Reset all the fabric links pmCounters
 
 =back
@@ -239,7 +226,6 @@
 
 =over
 
-=item
 If any of the provided pm is greater then its provided value, print it to screen
 
 =back
@@ -248,7 +234,6 @@
 
 =over
 
-=item
 Skip the executions of the selected checks.
 Skip options (one or more can be specified) : dup_guids  zero_guids pm logical_state part ipoib all
 
@@ -258,7 +243,6 @@
 
 =over
 
-=item
 Write out the discovered topology into the given file. This flag is useful if you later want to check for changes from the current state of the fabric.
 A directory named ibdiag_ibnl is also created by this option, and holds the IBNL files required to load this topology. To use these files you will need to set the environment variable named IBDM_IBNL_PATH to that directory. The directory is located in /tmp or in the output directory provided by the -o flag.
 
@@ -268,7 +252,6 @@
 
 =over
 
-=item
 Load subnet data from the given .db file, and skip subnet discovery stage.
 Note: Some of the checks require actual subnet discovery, and therefore would not run when load_db is specified. These checks are
 : Duplicated/zero guids, link state, SMs status.
@@ -279,7 +262,6 @@
 
 =over
 
-=item
 VL based Routing - provide this option to create the paths SL file (psl), SL2VL file (slvl)
 and use them in credit loops check (if -r option is provided).
 
@@ -291,7 +273,6 @@
 
 =over
 
-=item
 Prints the help page information
 
 =back
@@ -300,7 +281,6 @@
 
 =over
 
-=item
 Prints the version of the tool
 
 =back
@@ -309,7 +289,6 @@
 
 =over
 
-=item
 Prints the tool's environment variables and their values
 
 =back
diff -r -u /tmp/ibutils-1.5.7/ibdiag/doc/ibdiagnet.txt ibutils-1.5.7/ibdiag/doc/ibdiagnet.txt
--- /tmp/ibutils-1.5.7/ibdiag/doc/ibdiagnet.txt	Sun Jun 15 07:37:31 2008
+++ ibutils-1.5.7/ibdiag/doc/ibdiagnet.txt	Thu Dec 12 16:44:54 2013
@@ -39,7 +39,8 @@
                   (default = 10)
   -v            : Instructs the tool to run in verbose mode
   -r            : Provides a report of the fabric qualities
-  -t <topo-file>: Specifies the topology file name
+  -t <topo-file>: Specifies the topology file name.  The system name (-s) must
+                  also be specified if this option is used.
   -s <sys-name> : Specifies the local system name. Meaningful only if a topology
                   file is specified
   -i <dev-index>: Specifies the index of the device of the port used to connect
diff -r -u /tmp/ibutils-1.5.7/ibdiag/doc/Makefile.in ibutils-1.5.7/ibdiag/doc/Makefile.in
--- /tmp/ibutils-1.5.7/ibdiag/doc/Makefile.in	Tue Mar  8 03:09:32 2011
+++ ibutils-1.5.7/ibdiag/doc/Makefile.in	Thu Feb 24 16:51:16 2011
@@ -52,7 +52,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibdiag/src/ibdebug.tcl ibutils-1.5.7/ibdiag/src/ibdebug.tcl
--- /tmp/ibutils-1.5.7/ibdiag/src/ibdebug.tcl	Tue Mar  8 03:08:02 2011
+++ ibutils-1.5.7/ibdiag/src/ibdebug.tcl	Wed Apr 16 17:45:12 2014
@@ -352,13 +352,16 @@
     if {[file exists $ibisOutDir/$ibisLogFile] && (![file writable $ibisOutDir/$ibisLogFile])} {
 	set ibisLogFile $ibisLogFile.[pid]
     }
+
+    ## Check if the file exists. If it does delete it. The log file is opened with the 'w' access
+    ## mode which truncates the file to zero length, so the contents are not preserved. Deleting
+    ## the file prevents any softlink based system file clobbering issues.
     if {[file exists $ibisOutDir/$ibisLogFile]} {
-	if {![file writable $ibisOutDir/$ibisLogFile]} {
-	    if {![file writable $ibisOutDir/$ibisLogFile]} {
-		catch {set ibisLogFd [open $ibisOutDir/$ibisLogFile w]} errMsg
-		inform "-E-ibis:file.not.writable" -value $ibisOutDir/$ibisLogFile -errMsg $errMsg
-	    }
-	}
+        ## Since we have already verified the directory is writable and open with 'w' option
+        ## truncates the file, it is safe to delete the file if it exists.
+        if {[catch {file delete $ibisOutDir/$ibisLogFile} errMsg]} {
+            inform "-E-ibis:could.not.delete.file" -value $ibisOutDir/$ibisLogFile
+        }
     }
     inform "-V-ibis.ibis.log.file" -value $ibisOutDir/$ibisLogFile
 
@@ -5123,6 +5126,16 @@
         return 1
     }
 
+    ## If the file exists delete the file to prevent any symlink
+    ## system file clobbering. The file is about to be opened with
+    ## the access mode of 'w', which will truncate the file to zero
+    ## length anyway. So, it is safe to delete the file now.
+    if {[file exists $G(outfiles,.db)]} {
+        if {[catch {file delete $G(outfiles,.db)} errMsg]} {
+           return 1
+        }
+    }
+
     set FileID [InitializeOutputFile $G(var:tool.name).db]
 
     foreach {array_name data} {G data* Neighbor *} {
diff -r -u /tmp/ibutils-1.5.7/ibdiag/src/ibdebug_if.tcl ibutils-1.5.7/ibdiag/src/ibdebug_if.tcl
--- /tmp/ibutils-1.5.7/ibdiag/src/ibdebug_if.tcl	Thu Oct  7 07:29:56 2010
+++ ibutils-1.5.7/ibdiag/src/ibdebug_if.tcl	Wed Apr 16 17:45:12 2014
@@ -675,6 +675,16 @@
     }
 
     ## Command line check - Test5.0: log file
+
+    ## The directory has been verified to be writable, delete the file if it exists since
+    ## we anyway open it with 'w' which will truncate it to zero length. Deleting the file
+    ## will prevent symlink based system file clobbering.
+    if {[file exists $G(outfiles,.log)]} {
+        if {[catch {file delete $G(outfiles,.log)} errMsg]} {
+            ## Print the delete failure error message and exit
+            inform "-E-loading:cannot.delete.file" $G(outfiles,.log) -fn $G(outfiles,.log) -errMsg $errMsg
+        }
+    }
     if {[catch {set G(logFileID) [open $G(outfiles,.log) w]} errMsg]} {
 	 inform "-E-loading:cannot.open.file" $G(outfiles,.log) -fn $G(outfiles,.log) -errMsg $errMsg
     }
@@ -1229,6 +1239,10 @@
 	    append msgText "IBIS: The following file is write protected: $msgF(value)%n"
 	    append msgText "Error message: \"$msgF(errMsg)\""
 	}
+	"-E-ibis:could.not.delete.file" {
+	    append msgText "IBIS: Could not delete the file : $msgF(value)%n"
+	    append msgText "Error message: \"$msgF(errMsg)\""
+	}
 	"-V-ibis:ibis_get_local_ports_info" {
 	    append msgText "IBIS: ibis_get_local_ports_info:%n$msgF(value)"
 	}
@@ -1260,6 +1274,10 @@
 	    append msgText "Failed to load ibdiag external DB from: $msgF(fn)%n"
 	    append msgText "Error message: \"$msgF(errMsg)\""
 	}
+	"-E-loading:cannot.delete.file" {
+	    append msgText "Could not delete the file : $msgF(fn)%n"
+	    append msgText "Error message: \"$msgF(errMsg)\""
+	}
         "-W-loading:old.osm.version" {
 	    append msgText "OSM: The current OSM version is not up-to-date"
 	}
diff -r -u /tmp/ibutils-1.5.7/ibdiag/src/Makefile.in ibutils-1.5.7/ibdiag/src/Makefile.in
--- /tmp/ibutils-1.5.7/ibdiag/src/Makefile.in	Tue Mar  8 03:09:32 2011
+++ ibutils-1.5.7/ibdiag/src/Makefile.in	Thu Feb 24 16:51:16 2011
@@ -53,7 +53,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
@@ -244,7 +244,7 @@
 	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
 	     test -z "$$files" || { \
 	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
-	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	       $(INSTALL_SCRIPT) -m 755 $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
 	     } \
 	; done
 
@@ -426,6 +426,7 @@
 	sed -e 's=%ibdiag_libdir%='$(DESTDIR)$(libdir)'=' \
 	    -e 's=%with_ibdm_lib%='$(with_ibdm_lib)'=' \
 	    -e 's=%with_ibis_bindir%='$(DESTDIR)$(bindir)'=' \
+	    -e 's=%with_ibis_sbindir%='$(DESTDIR)$(sbindir)'=' \
 	    -e 's=%with_ibis%='$(with_ibis)'=' $(srcdir)/ibdiagnet.in > ibdiagnet
 
 ibdiagpath: ibdiagpath.in
@@ -432,6 +433,7 @@
 	sed -e 's=%ibdiag_libdir%='$(DESTDIR)$(libdir)'=' \
 	    -e 's=%with_ibdm_lib%='$(with_ibdm_lib)'=' \
 	    -e 's=%with_ibis_bindir%='$(DESTDIR)$(bindir)'=' \
+	    -e 's=%with_ibis_sbindir%='$(DESTDIR)$(sbindir)'=' \
 	    -e 's=%with_ibis%='$(with_ibis)'=' $(srcdir)/ibdiagpath.in > ibdiagpath
 
 ibdiagui: ibdiagui.in
@@ -440,6 +442,7 @@
 	    -e 's=%with_tk_lib%='$(with_tk_lib)'=' \
 	    -e 's=%with_graphviz_lib%='$(with_graphviz_lib)'=' \
 	    -e 's=%with_ibis_bindir%='$(DESTDIR)$(bindir)'=' \
+	    -e 's=%with_ibis_sbindir%='$(DESTDIR)$(sbindir)'=' \
 	    -e 's=%with_ibis%='$(with_ibis)'=' $(srcdir)/ibdiagui.in > ibdiagui
 
 clean:
diff -r -u /tmp/ibutils-1.5.7/ibdiag/Makefile.in ibutils-1.5.7/ibdiag/Makefile.in
--- /tmp/ibutils-1.5.7/ibdiag/Makefile.in	Tue Mar  8 03:09:32 2011
+++ ibutils-1.5.7/ibdiag/Makefile.in	Thu Feb 24 16:51:16 2011
@@ -54,7 +54,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibdiag/configure ibutils-1.5.7/ibdiag/configure
--- /tmp/ibutils-1.5.7/ibdiag/configure	Tue Mar  8 03:09:33 2011
+++ ibutils-1.5.7/ibdiag/configure	Thu Mar 10 18:33:24 2011
@@ -1811,7 +1811,7 @@
 
 test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 744'
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
 $as_echo_n "checking whether build environment is sane... " >&6; }
diff -r -u /tmp/ibutils-1.5.7/ibdm/Clusters/Makefile.in ibutils-1.5.7/ibdm/Clusters/Makefile.in
--- /tmp/ibutils-1.5.7/ibdm/Clusters/Makefile.in	Tue Mar  8 03:09:40 2011
+++ ibutils-1.5.7/ibdm/Clusters/Makefile.in	Thu Feb 24 16:51:16 2011
@@ -53,7 +53,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibdm/aclocal.m4 ibutils-1.5.7/ibdm/aclocal.m4
--- /tmp/ibutils-1.5.7/ibdm/aclocal.m4	Tue Mar  8 03:09:38 2011
+++ ibutils-1.5.7/ibdm/aclocal.m4	Thu Feb 24 16:51:16 2011
@@ -1389,7 +1389,7 @@
 
 # Determine commands to create old-style static archives.
 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
+old_postinstall_cmds='chmod 744 $oldlib'
 old_postuninstall_cmds=
 
 if test -n "$RANLIB"; then
@@ -2610,6 +2610,23 @@
   hardcode_into_libs=yes
   # ldd complains unless libraries are executable
   postinstall_cmds='chmod +x $lib'
+  if echo "$CFLAGS" | grep '\-m64' >/dev/null ; then
+    sys_lib_search_path_spec=`$CC -m64 -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+
+    solaris_arch=`uname -p`
+    if [ $solaris_arch = "i386" ]; then
+      lib64=amd64
+    else
+      lib64=sparcv9
+    fi
+
+    if ! echo "$sys_lib_search_path_spec" | grep $lib64 >/dev/null  ; then
+      solaris_lib64path=`echo "$sys_lib_search_path_spec" | $SED  -e "s/ /$lib64\/ /g" | cut -d " " -f2-`
+      solaris_lib64path="$solaris_lib64path""$lib64"/
+      sys_lib_search_path_spec="$solaris_lib64path $sys_lib_search_path_spec"
+    fi
+  fi
   ;;
 
 sunos4*)
diff -r -u /tmp/ibutils-1.5.7/ibdm/doc/Makefile.in ibutils-1.5.7/ibdm/doc/Makefile.in
--- /tmp/ibutils-1.5.7/ibdm/doc/Makefile.in	Tue Mar  8 03:09:41 2011
+++ ibutils-1.5.7/ibdm/doc/Makefile.in	Thu Feb 24 16:51:17 2011
@@ -52,7 +52,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibdm/ibnl/Makefile.in ibutils-1.5.7/ibdm/ibnl/Makefile.in
--- /tmp/ibutils-1.5.7/ibdm/ibnl/Makefile.in	Tue Mar  8 03:09:41 2011
+++ ibutils-1.5.7/ibdm/ibnl/Makefile.in	Thu Feb 24 16:51:17 2011
@@ -53,7 +53,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibdm/src/Makefile.in ibutils-1.5.7/ibdm/src/Makefile.in
--- /tmp/ibutils-1.5.7/ibdm/src/Makefile.in	Tue Mar  8 03:09:41 2011
+++ ibutils-1.5.7/ibdm/src/Makefile.in	Thu Feb 24 16:51:17 2011
@@ -57,7 +57,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibdm/Makefile.in ibutils-1.5.7/ibdm/Makefile.in
--- /tmp/ibutils-1.5.7/ibdm/Makefile.in	Tue Mar  8 03:09:42 2011
+++ ibutils-1.5.7/ibdm/Makefile.in	Thu Feb 24 16:51:16 2011
@@ -54,7 +54,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibdm/scripts/Makefile.in ibutils-1.5.7/ibdm/scripts/Makefile.in
--- /tmp/ibutils-1.5.7/ibdm/scripts/Makefile.in	Tue Mar  8 03:09:41 2011
+++ ibutils-1.5.7/ibdm/scripts/Makefile.in	Thu Feb 24 16:51:17 2011
@@ -53,7 +53,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibdm/ibdm/Fabric.cpp ibutils-1.5.7/ibdm/ibdm/Fabric.cpp
--- /tmp/ibutils-1.5.7/ibdm/ibdm/Fabric.cpp	Thu Oct  7 07:29:56 2010
+++ ibutils-1.5.7/ibdm/ibdm/Fabric.cpp	Mon Sep 19 12:03:07 2011
@@ -1954,6 +1954,7 @@
         }*/
     }
     f.close();
+    f.clear();
 
     // Make second pass and build the tables
     f.open(fn.c_str(),ifstream::in);
diff -r -u /tmp/ibutils-1.5.7/ibdm/ibdm/Fabric.h ibutils-1.5.7/ibdm/ibdm/Fabric.h
--- /tmp/ibutils-1.5.7/ibdm/ibdm/Fabric.h	Thu Oct  7 07:29:56 2010
+++ ibutils-1.5.7/ibdm/ibdm/Fabric.h	Thu Feb 24 16:51:17 2011
@@ -54,6 +54,7 @@
 #include <iostream>
 #include <sstream>
 #include <string>
+#include <cstring>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -69,7 +70,7 @@
 
 #if __WORDSIZE == 64
 #define PRIx64 "lx"
-#else
+#elseif !defined(__SVR4) || !defined(__sun)
 #define PRIx64 "llx"
 #endif
 using namespace std;
diff -r -u /tmp/ibutils-1.5.7/ibdm/ibdm/TopoMatch.cpp ibutils-1.5.7/ibdm/ibdm/TopoMatch.cpp
--- /tmp/ibutils-1.5.7/ibdm/ibdm/TopoMatch.cpp	Mon Nov  1 16:03:44 2010
+++ ibutils-1.5.7/ibdm/ibdm/TopoMatch.cpp	Thu Feb 24 16:51:17 2011
@@ -57,6 +57,9 @@
 #include "Regexp.h"
 #include <iomanip>
 #include <sstream>
+#if defined(__SVR4) && defined(__sun)
+#include <strings.h>
+#endif
 
 
 //////////////////////////////////////////////////////////////////////////////
diff -r -u /tmp/ibutils-1.5.7/ibdm/ibdm/Makefile.in ibutils-1.5.7/ibdm/ibdm/Makefile.in
--- /tmp/ibutils-1.5.7/ibdm/ibdm/Makefile.in	Tue Mar  8 03:09:41 2011
+++ ibutils-1.5.7/ibdm/ibdm/Makefile.in	Thu Feb 24 16:51:17 2011
@@ -55,7 +55,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
@@ -316,7 +316,7 @@
 AM_CFLAGS = $(DBG) $(IBNL_PATH) $(TCL_CFLAGS)
 lib_LTLIBRARIES = libibdmcom.la libibdm.la
 libibdmcom_la_SOURCES = $(common_SOURCES)
-libibdmcom_la_LIBADD = 
+libibdmcom_la_LIBADD = $(TCL_LIBS)
 libibdmcom_la_LDFLAGS = -version-info $(LIB_VER_TRIPLET)
 libibdm_la_SOURCES = ibdm_wrap.cpp ibdm.i $(common_SOURCES)
 libibdm_la_LIBADD = $(TCL_LIBS) 
diff -r -u /tmp/ibutils-1.5.7/ibdm/ibdm/ibdm_wrap.cpp ibutils-1.5.7/ibdm/ibdm/ibdm_wrap.cpp
--- /tmp/ibutils-1.5.7/ibdm/ibdm/ibdm_wrap.cpp	Thu Oct  7 07:28:58 2010
+++ ibutils-1.5.7/ibdm/ibdm/ibdm_wrap.cpp	Thu Feb 24 16:51:17 2011
@@ -23,6 +23,9 @@
 #include INCLUDE_TCL
 #include <string.h>
 #include <stdlib.h>
+#if defined(__SVR4) && defined(__sun)
+#include <strings.h>
+#endif
 #define SWIGTCL
 #define SWIGTCL8
 /*
diff -r -u /tmp/ibutils-1.5.7/ibdm/ibdm/ibdmsh_wrap.cpp ibutils-1.5.7/ibdm/ibdm/ibdmsh_wrap.cpp
--- /tmp/ibutils-1.5.7/ibdm/ibdm/ibdmsh_wrap.cpp	Thu Oct  7 07:28:58 2010
+++ ibutils-1.5.7/ibdm/ibdm/ibdmsh_wrap.cpp	Thu Feb 24 16:51:17 2011
@@ -22,6 +22,9 @@
 #define INCLUDE_TK     <tk.h>
 #include INCLUDE_TCL
 #include <string.h>
+#if defined(__SVR4) && defined(__sun)
+#include <strings.h>
+#endif
 #include <stdlib.h>
 #define SWIGTCL
 #define SWIGTCL8
diff -r -u /tmp/ibutils-1.5.7/ibdm/configure ibutils-1.5.7/ibdm/configure
--- /tmp/ibutils-1.5.7/ibdm/configure	Tue Mar  8 03:09:43 2011
+++ ibutils-1.5.7/ibdm/configure	Thu Mar 10 18:33:25 2011
@@ -2764,7 +2764,7 @@
 
 test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 744'
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
 $as_echo_n "checking whether build environment is sane... " >&6; }
@@ -6633,7 +6633,7 @@
 
 # Determine commands to create old-style static archives.
 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
+old_postinstall_cmds='chmod 744 $oldlib'
 old_postuninstall_cmds=
 
 if test -n "$RANLIB"; then
@@ -10321,6 +10321,7 @@
 	;;
       esac
       link_all_deplibs=yes
+      hardcode_libdir_flag_spec=
       ;;
 
     sunos4*)
@@ -11248,6 +11249,24 @@
   hardcode_into_libs=yes
   # ldd complains unless libraries are executable
   postinstall_cmds='chmod +x $lib'
+
+  if echo "$CFLAGS" | grep '\-m64' >/dev/null ; then
+    sys_lib_search_path_spec=`$CC -m64 -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+
+    solaris_arch=`uname -p`
+    if [ $solaris_arch = "i386" ]; then
+      lib64=amd64
+    else
+      lib64=sparcv9
+    fi
+
+    if ! echo "$sys_lib_search_path_spec" | grep $lib64 >/dev/null  ; then
+      solaris_lib64path=`echo "$sys_lib_search_path_spec" | $SED  -e "s/ /$lib64\/ /g" | cut -d " " -f2-`
+      solaris_lib64path="$solaris_lib64path""$lib64"/
+      sys_lib_search_path_spec="$solaris_lib64path $sys_lib_search_path_spec"
+    fi
+  fi
   ;;
 
 sunos4*)
@@ -13191,6 +13210,7 @@
 	    fi
 	    ;;
         esac
+	hardcode_libdir_flag_spec_CXX=
         ;;
 
     sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
@@ -14716,6 +14736,24 @@
   hardcode_into_libs=yes
   # ldd complains unless libraries are executable
   postinstall_cmds='chmod +x $lib'
+
+  if echo "$CFLAGS" | grep '\-m64' >/dev/null ; then
+    sys_lib_search_path_spec=`$CC -m64 -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+
+    solaris_arch=`uname -p`
+    if [ $solaris_arch = "i386" ]; then
+      lib64=amd64
+    else
+      lib64=sparcv9
+    fi
+
+    if ! echo "$sys_lib_search_path_spec" | grep $lib64 >/dev/null  ; then
+      solaris_lib64path=`echo "$sys_lib_search_path_spec" | $SED  -e "s/ /$lib64\/ /g" | cut -d " " -f2-`
+      solaris_lib64path="$solaris_lib64path""$lib64"/
+      sys_lib_search_path_spec="$solaris_lib64path $sys_lib_search_path_spec"
+    fi
+  fi
   ;;
 
 sunos4*)
diff -r -u /tmp/ibutils-1.5.7/ibis/aclocal.m4 ibutils-1.5.7/ibis/aclocal.m4
--- /tmp/ibutils-1.5.7/ibis/aclocal.m4	Tue Mar  8 03:09:48 2011
+++ ibutils-1.5.7/ibis/aclocal.m4	Thu Feb 24 16:51:17 2011
@@ -1389,7 +1389,7 @@
 
 # Determine commands to create old-style static archives.
 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
+old_postinstall_cmds='chmod 744 $oldlib'
 old_postuninstall_cmds=
 
 if test -n "$RANLIB"; then
diff -r -u /tmp/ibutils-1.5.7/ibis/doc/Makefile.in ibutils-1.5.7/ibis/doc/Makefile.in
--- /tmp/ibutils-1.5.7/ibis/doc/Makefile.in	Tue Mar  8 03:09:51 2011
+++ ibutils-1.5.7/ibis/doc/Makefile.in	Thu Feb 24 16:51:18 2011
@@ -52,7 +52,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibis/src/Makefile.in ibutils-1.5.7/ibis/src/Makefile.in
--- /tmp/ibutils-1.5.7/ibis/src/Makefile.in	Tue Mar  8 03:09:51 2011
+++ ibutils-1.5.7/ibis/src/Makefile.in	Thu Feb 24 16:51:18 2011
@@ -55,7 +55,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibis/src/ibbbm_base.h ibutils-1.5.7/ibis/src/ibbbm_base.h
--- /tmp/ibutils-1.5.7/ibis/src/ibbbm_base.h	Wed Feb 24 02:09:25 2010
+++ ibutils-1.5.7/ibis/src/ibbbm_base.h	Thu Feb 24 16:51:18 2011
@@ -30,11 +30,14 @@
  * SOFTWARE.
  *
  */
-
 #ifndef _IBBBM_BASE_H_
 #define _IBBBM_BASE_H_
 
+#if !(defined(__SVR4) && defined(__sun))
 #include <endian.h>
+#else
+#include <infiniband/ofa_solaris.h>
+#endif
 
 #define BBM_CLASS         0x05
 #define BBM_ATTR_BKEYINFO 0x10
diff -r -u /tmp/ibutils-1.5.7/ibis/src/ibcr_base.h ibutils-1.5.7/ibis/src/ibcr_base.h
--- /tmp/ibutils-1.5.7/ibis/src/ibcr_base.h	Wed Feb 24 02:09:25 2010
+++ ibutils-1.5.7/ibis/src/ibcr_base.h	Thu Feb 24 16:51:18 2011
@@ -34,7 +34,11 @@
 #ifndef _IBCR_BASE_H_
 #define _IBCR_BASE_H_
 
+#if !(defined(__SVR4) && defined(__sun))
 #include <endian.h>
+#else
+#include <infiniband/ofa_solaris.h>
+#endif
 
 #define CR_CLASS        0x09
 #define CR_ATTR_50      0x50
diff -r -u /tmp/ibutils-1.5.7/ibis/src/ibis_base.h ibutils-1.5.7/ibis/src/ibis_base.h
--- /tmp/ibutils-1.5.7/ibis/src/ibis_base.h	Wed Feb 24 02:09:25 2010
+++ ibutils-1.5.7/ibis/src/ibis_base.h	Wed Apr  9 10:54:26 2014
@@ -64,7 +64,7 @@
 #define IBIS_FILE_PATH_MAX	PATH_MAX
 #endif
 
-#define MAX_LOCAL_IBPORTS 32
+#define MAX_LOCAL_IBPORTS MAX_PORTS
 #define DISP_HANDLE_MAX 32
 
 END_C_DECLS
diff -r -u /tmp/ibutils-1.5.7/ibis/src/ibis_wrap.c ibutils-1.5.7/ibis/src/ibis_wrap.c
--- /tmp/ibutils-1.5.7/ibis/src/ibis_wrap.c	Mon Nov  1 16:03:44 2010
+++ ibutils-1.5.7/ibis/src/ibis_wrap.c	Mon Jun  6 15:35:52 2011
@@ -2722,18 +2722,18 @@
   typedef ib_mad_notice_attr_t  smNotice;
 
   /* these are the globals to be used for set/get */
-  ib_node_info_t          ibsm_node_info_obj;
-  ib_port_info_t          ibsm_port_info_obj;
-  ib_switch_info_t        ibsm_switch_info_obj;
-  ibsm_lft_block_t        ibsm_lft_block_obj;
-  ibsm_mft_block_t        ibsm_mft_block_obj;
-  ib_guid_info_t          ibsm_guid_info_obj;
-  ib_pkey_table_t         ibsm_pkey_table_obj;
-  ib_slvl_table_t         ibsm_slvl_table_obj;
-  ib_vl_arb_table_t       ibsm_vl_arb_table_obj;
-  ib_node_desc_t          ibsm_node_desc_obj;
-  ib_sm_info_t            ibsm_sm_info_obj;
-  ib_mad_notice_attr_t    ibsm_notice_obj;
+  ib_node_info_t          ibsm_node_info_obj	__attribute__((aligned));
+  ib_port_info_t          ibsm_port_info_obj	__attribute__((aligned));
+  ib_switch_info_t        ibsm_switch_info_obj	__attribute__((aligned));
+  ibsm_lft_block_t        ibsm_lft_block_obj	__attribute__((aligned));
+  ibsm_mft_block_t        ibsm_mft_block_obj	__attribute__((aligned));
+  ib_guid_info_t          ibsm_guid_info_obj	__attribute__((aligned));
+  ib_pkey_table_t         ibsm_pkey_table_obj	__attribute__((aligned));
+  ib_slvl_table_t         ibsm_slvl_table_obj	__attribute__((aligned));
+  ib_vl_arb_table_t       ibsm_vl_arb_table_obj	__attribute__((aligned));
+  ib_node_desc_t          ibsm_node_desc_obj	__attribute__((aligned));
+  ib_sm_info_t            ibsm_sm_info_obj	__attribute__((aligned));
+  ib_mad_notice_attr_t    ibsm_notice_obj	__attribute__((aligned));
 
   /* TODO - define a Vendor Specific CR Read/Write attributes to use VL15 */
 
@@ -35180,7 +35180,18 @@
 }
     return TCL_OK;
 }
+#ifdef __sparc
+#define _ibsm_node_info_sys_guid_set(_swigobj,_swigval)  _ibsm_node_info_sys_guid_set_64(_swigobj, _swigval)
+static inline ib_net64_t *
+_ibsm_node_info_sys_guid_set_64(smNodeInfo *_swigobj, ib_net64_t *swigval)
+{
+        *(ib_net32_t *)&(_swigobj->sys_guid) = *((ib_net32_t *)swigval);
+        *((ib_net32_t *)&(_swigobj->sys_guid) + 1) = *((ib_net32_t *)swigval +1);
+        return ((ib_net64_t *)swigval);
+}
+#else
 #define _ibsm_node_info_sys_guid_set(_swigobj,_swigval) (_swigobj->sys_guid = *(_swigval),_swigval)
+#endif
 static int _wrap_smNodeInfo_sys_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
 
     ib_net64_t * _result;
@@ -35238,7 +35249,17 @@
 }
     return TCL_OK;
 }
+#ifdef __sparc
+#define _ibsm_node_info_sys_guid_get(_swigobj)  _ibsm_node_info_sys_guid_get_64(_swigobj)
+static inline ib_net64_t * _ibsm_node_info_sys_guid_get_64(smNodeInfo *_swigobj){
+	static uint32_t	val[2];
+	val[0] = *(ib_net32_t *)&(_swigobj->sys_guid);
+	val[1] = *((ib_net32_t *)&(_swigobj->sys_guid) + 1);
+	return ((ib_net64_t *)&val);
+}
+#else
 #define _ibsm_node_info_sys_guid_get(_swigobj) (&_swigobj->sys_guid)
+#endif
 static int _wrap_smNodeInfo_sys_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
 
     ib_net64_t * _result;
@@ -35290,7 +35311,18 @@
 }
     return TCL_OK;
 }
+#ifdef __sparc
+#define _ibsm_node_info_node_guid_set(_swigobj,_swigval)  _ibsm_node_info_node_guid_set_64(_swigobj, _swigval)
+static inline ib_net64_t *
+_ibsm_node_info_node_guid_set_64(smNodeInfo *_swigobj, ib_net64_t *swigval)
+{
+        *(ib_net32_t *)&(_swigobj->node_guid) = *((ib_net32_t *)swigval);
+        *((ib_net32_t *)&(_swigobj->node_guid) + 1) = *((ib_net32_t *)swigval +1);
+        return ((ib_net64_t *)swigval);
+}
+#else
 #define _ibsm_node_info_node_guid_set(_swigobj,_swigval) (_swigobj->node_guid = *(_swigval),_swigval)
+#endif
 static int _wrap_smNodeInfo_node_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
 
     ib_net64_t * _result;
@@ -35348,7 +35380,17 @@
 }
     return TCL_OK;
 }
+#ifdef __sparc
+#define _ibsm_node_info_node_guid_get(_swigobj)  _ibsm_node_info_node_guid_get_64(_swigobj)
+static inline ib_net64_t * _ibsm_node_info_node_guid_get_64(smNodeInfo *_swigobj){
+	static uint32_t	val[2];
+	val[0] = *(ib_net32_t *)&(_swigobj->node_guid);
+	val[1] = *((ib_net32_t *)&(_swigobj->node_guid) + 1);
+	return ((ib_net64_t *)&val);
+}
+#else
 #define _ibsm_node_info_node_guid_get(_swigobj) (&_swigobj->node_guid)
+#endif
 static int _wrap_smNodeInfo_node_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
 
     ib_net64_t * _result;
@@ -35400,7 +35442,18 @@
 }
     return TCL_OK;
 }
+#ifdef __sparc
+#define _ibsm_node_info_port_guid_set(_swigobj,_swigval)  _ibsm_node_info_port_guid_set_64(_swigobj, _swigval)
+static inline ib_net64_t *
+_ibsm_node_info_port_guid_set_64(smNodeInfo *_swigobj, ib_net64_t *swigval)
+{
+        *(ib_net32_t *)&(_swigobj->port_guid) = *((ib_net32_t *)swigval);
+        *((ib_net32_t *)&(_swigobj->port_guid) + 1) = *((ib_net32_t *)swigval +1);
+        return ((ib_net64_t *)swigval);
+}
+#else
 #define _ibsm_node_info_port_guid_set(_swigobj,_swigval) (_swigobj->port_guid = *(_swigval),_swigval)
+#endif
 static int _wrap_smNodeInfo_port_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
 
     ib_net64_t * _result;
@@ -35458,7 +35511,17 @@
 }
     return TCL_OK;
 }
+#ifdef __sparc
+#define _ibsm_node_info_port_guid_get(_swigobj)  _ibsm_node_info_port_guid_get_64(_swigobj)
+static inline ib_net64_t * _ibsm_node_info_port_guid_get_64(smNodeInfo *_swigobj){
+	static uint32_t	val[2];
+	val[0] = *(ib_net32_t *)&(_swigobj->port_guid);
+	val[1] = *((ib_net32_t *)&(_swigobj->port_guid) + 1);
+	return ((ib_net64_t *)&val);
+}
+#else
 #define _ibsm_node_info_port_guid_get(_swigobj) (&_swigobj->port_guid)
+#endif
 static int _wrap_smNodeInfo_port_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
 
     ib_net64_t * _result;
diff -r -u /tmp/ibutils-1.5.7/ibis/src/ibpm_base.h ibutils-1.5.7/ibis/src/ibpm_base.h
--- /tmp/ibutils-1.5.7/ibis/src/ibpm_base.h	Wed Feb 24 02:09:25 2010
+++ ibutils-1.5.7/ibis/src/ibpm_base.h	Thu Feb 24 16:51:18 2011
@@ -34,7 +34,11 @@
 #ifndef _IBPM_BASE_H_
 #define _IBPM_BASE_H_
 
+#if !(defined(__SVR4) && defined(__sun))
 #include <endian.h>
+#else
+#include <infiniband/ofa_solaris.h>
+#endif
 
 #define PERF_CLASS      0x04
 #define PERF_CLASS_PORT_INFO 0x01
diff -r -u /tmp/ibutils-1.5.7/ibis/src/ibvs_base.h ibutils-1.5.7/ibis/src/ibvs_base.h
--- /tmp/ibutils-1.5.7/ibis/src/ibvs_base.h	Wed Feb 24 02:09:25 2010
+++ ibutils-1.5.7/ibis/src/ibvs_base.h	Thu Feb 24 16:51:18 2011
@@ -34,7 +34,11 @@
 #ifndef _IBVS_BASE_H_
 #define _IBVS_BASE_H_
 
+#if !(defined(__SVR4) && defined(__sun))
 #include <endian.h>
+#else
+#include <infiniband/ofa_solaris.h>
+#endif
 
 #define VS_CLASS             0x0a
 #define VS_CLASS_PORT_INFO   0x01
diff -r -u /tmp/ibutils-1.5.7/ibis/src/swig_extended_obj.c ibutils-1.5.7/ibis/src/swig_extended_obj.c
--- /tmp/ibutils-1.5.7/ibis/src/swig_extended_obj.c	Tue Mar 23 02:21:00 2010
+++ ibutils-1.5.7/ibis/src/swig_extended_obj.c	Thu Feb 24 16:51:18 2011
@@ -30,6 +30,9 @@
  * SOFTWARE.
  *
  */
+#if defined(__SVR4) && defined(__sun)
+#include <strings.h>
+#endif
 
 /*--------------------------------------------------------------------
  * This file holds an extended implementation for SWIG TCL Objects.
diff -r -u /tmp/ibutils-1.5.7/ibis/src/ibissh_wrap.cpp ibutils-1.5.7/ibis/src/ibissh_wrap.cpp
--- /tmp/ibutils-1.5.7/ibis/src/ibissh_wrap.cpp	Mon Nov  1 16:03:44 2010
+++ ibutils-1.5.7/ibis/src/ibissh_wrap.cpp	Thu Feb 24 16:51:18 2011
@@ -13,6 +13,11 @@
  * Do not make changes to this file--changes will be lost!
  *
  */
+#if defined(__SVR4) && defined(__sun)
+#include <sys/types.h>
+#define	TRUE	_B_TRUE
+#define	FALSE 	_B_FALSE
+#endif
 
 
 #define SWIGCODE
@@ -823,7 +828,11 @@
 	  // Write response - no data
 	  // Note: The trailing space here is important !
 	  sprintf(buff, "ACK ");
+#if defined(__SVR4) && defined(__sun)
+	  space_in_resp = (boolean_t)0;
+#else
 	  space_in_resp = 0;
+#endif
       }
 
       if (is_multi && space_in_resp)
@@ -2722,18 +2731,18 @@
   typedef ib_mad_notice_attr_t  smNotice;
 
   /* these are the globals to be used for set/get */
-  ib_node_info_t          ibsm_node_info_obj;
-  ib_port_info_t          ibsm_port_info_obj;
-  ib_switch_info_t        ibsm_switch_info_obj;
-  ibsm_lft_block_t        ibsm_lft_block_obj;
-  ibsm_mft_block_t        ibsm_mft_block_obj;
-  ib_guid_info_t          ibsm_guid_info_obj;
-  ib_pkey_table_t         ibsm_pkey_table_obj;
-  ib_slvl_table_t         ibsm_slvl_table_obj;
-  ib_vl_arb_table_t       ibsm_vl_arb_table_obj;
-  ib_node_desc_t          ibsm_node_desc_obj;
-  ib_sm_info_t            ibsm_sm_info_obj;
-  ib_mad_notice_attr_t    ibsm_notice_obj;
+  ib_node_info_t          ibsm_node_info_obj	__attribute__((aligned));
+  ib_port_info_t          ibsm_port_info_obj	__attribute__((aligned));
+  ib_switch_info_t        ibsm_switch_info_obj	__attribute__((aligned));
+  ibsm_lft_block_t        ibsm_lft_block_obj	__attribute__((aligned));
+  ibsm_mft_block_t        ibsm_mft_block_obj	__attribute__((aligned));
+  ib_guid_info_t          ibsm_guid_info_obj	__attribute__((aligned));
+  ib_pkey_table_t         ibsm_pkey_table_obj	__attribute__((aligned));
+  ib_slvl_table_t         ibsm_slvl_table_obj	__attribute__((aligned));
+  ib_vl_arb_table_t       ibsm_vl_arb_table_obj	__attribute__((aligned));
+  ib_node_desc_t          ibsm_node_desc_obj	__attribute__((aligned));
+  ib_sm_info_t            ibsm_sm_info_obj	__attribute__((aligned));
+  ib_mad_notice_attr_t    ibsm_notice_obj	__attribute__((aligned));
 
   /* TODO - define a Vendor Specific CR Read/Write attributes to use VL15 */
 
@@ -35242,7 +35251,18 @@
 }
     return TCL_OK;
 }
+#ifdef __sparc
+#define _ibsm_node_info_sys_guid_set(_swigobj,_swigval)  _ibsm_node_info_sys_guid_set_64(_swigobj, _swigval)
+static inline ib_net64_t *
+_ibsm_node_info_sys_guid_set_64(smNodeInfo *_swigobj, ib_net64_t *swigval)
+{
+        *(ib_net32_t *)&(_swigobj->sys_guid) = *((ib_net32_t *)swigval);
+        *((ib_net32_t *)&(_swigobj->sys_guid) + 1) = *((ib_net32_t *)swigval +1);
+        return ((ib_net64_t *)swigval);
+}
+#else
 #define _ibsm_node_info_sys_guid_set(_swigobj,_swigval) (_swigobj->sys_guid = *(_swigval),_swigval)
+#endif
 static int _wrap_smNodeInfo_sys_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
 
     ib_net64_t * _result;
@@ -35300,7 +35320,18 @@
 }
     return TCL_OK;
 }
+
+#ifdef __sparc
+#define _ibsm_node_info_sys_guid_get(_swigobj)  _ibsm_node_info_sys_guid_get_64(_swigobj)
+static inline ib_net64_t * _ibsm_node_info_sys_guid_get_64(smNodeInfo *_swigobj){
+	static uint32_t	val[2];
+	val[0] = *(ib_net32_t *)&(_swigobj->sys_guid);
+	val[1] = *((ib_net32_t *)&(_swigobj->sys_guid) + 1);
+	return ((ib_net64_t *)&val);
+}
+#else
 #define _ibsm_node_info_sys_guid_get(_swigobj) (&_swigobj->sys_guid)
+#endif
 static int _wrap_smNodeInfo_sys_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
 
     ib_net64_t * _result;
@@ -35340,6 +35371,7 @@
   ibis_tcl_error = 0;
       _result = (ib_net64_t *)_ibsm_node_info_sys_guid_get(_arg0);
 ;
+
   if (ibis_tcl_error) {
 	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
 	 return TCL_ERROR;
@@ -35352,7 +35384,18 @@
 }
     return TCL_OK;
 }
+#ifdef __sparc
+#define _ibsm_node_info_node_guid_set(_swigobj,_swigval)  _ibsm_node_info_node_guid_set_64(_swigobj, _swigval)
+static inline ib_net64_t *
+_ibsm_node_info_node_guid_set_64(smNodeInfo *_swigobj, ib_net64_t *swigval)
+{
+        *(ib_net32_t *)&(_swigobj->node_guid) = *((ib_net32_t *)swigval);
+        *((ib_net32_t *)&(_swigobj->node_guid) + 1) = *((ib_net32_t *)swigval +1);
+        return ((ib_net64_t *)swigval);
+}
+#else
 #define _ibsm_node_info_node_guid_set(_swigobj,_swigval) (_swigobj->node_guid = *(_swigval),_swigval)
+#endif
 static int _wrap_smNodeInfo_node_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
 
     ib_net64_t * _result;
@@ -35410,7 +35453,17 @@
 }
     return TCL_OK;
 }
+#ifdef __sparc
+#define _ibsm_node_info_node_guid_get(_swigobj)  _ibsm_node_info_node_guid_get_64(_swigobj)
+static inline ib_net64_t * _ibsm_node_info_node_guid_get_64(smNodeInfo *_swigobj){
+	static uint32_t	val[2];
+	val[0] = *(ib_net32_t *)&(_swigobj->node_guid);
+	val[1] = *((ib_net32_t *)&(_swigobj->node_guid) + 1);
+	return ((ib_net64_t *)&val);
+}
+#else
 #define _ibsm_node_info_node_guid_get(_swigobj) (&_swigobj->node_guid)
+#endif
 static int _wrap_smNodeInfo_node_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
 
     ib_net64_t * _result;
@@ -35462,7 +35515,18 @@
 }
     return TCL_OK;
 }
+#ifdef __sparc
+#define _ibsm_node_info_port_guid_set(_swigobj,_swigval)  _ibsm_node_info_port_guid_set_64(_swigobj, _swigval)
+static inline ib_net64_t *
+_ibsm_node_info_port_guid_set_64(smNodeInfo *_swigobj, ib_net64_t *swigval)
+{
+        *(ib_net32_t *)&(_swigobj->port_guid) = *((ib_net32_t *)swigval);
+        *((ib_net32_t *)&(_swigobj->port_guid) + 1) = *((ib_net32_t *)swigval +1);
+        return ((ib_net64_t *)swigval);
+}
+#else
 #define _ibsm_node_info_port_guid_set(_swigobj,_swigval) (_swigobj->port_guid = *(_swigval),_swigval)
+#endif
 static int _wrap_smNodeInfo_port_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
 
     ib_net64_t * _result;
@@ -35520,7 +35584,17 @@
 }
     return TCL_OK;
 }
+#ifdef __sparc
+#define _ibsm_node_info_port_guid_get(_swigobj)  _ibsm_node_info_port_guid_get_64(_swigobj)
+static inline ib_net64_t * _ibsm_node_info_port_guid_get_64(smNodeInfo *_swigobj){
+	static uint32_t	val[2];
+	val[0] = *(ib_net32_t *)&(_swigobj->port_guid);
+	val[1] = *((ib_net32_t *)&(_swigobj->port_guid) + 1);
+	return ((ib_net64_t *)&val);
+}
+#else
 #define _ibsm_node_info_port_guid_get(_swigobj) (&_swigobj->port_guid)
+#endif
 static int _wrap_smNodeInfo_port_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
 
     ib_net64_t * _result;
diff -r -u /tmp/ibutils-1.5.7/ibis/tests/Makefile.in ibutils-1.5.7/ibis/tests/Makefile.in
--- /tmp/ibutils-1.5.7/ibis/tests/Makefile.in	Tue Mar  8 03:09:51 2011
+++ ibutils-1.5.7/ibis/tests/Makefile.in	Thu Feb 24 16:51:18 2011
@@ -53,7 +53,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibis/Makefile.in ibutils-1.5.7/ibis/Makefile.in
--- /tmp/ibutils-1.5.7/ibis/Makefile.in	Tue Mar  8 03:09:51 2011
+++ ibutils-1.5.7/ibis/Makefile.in	Thu Feb 24 16:51:17 2011
@@ -54,7 +54,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibis/configure ibutils-1.5.7/ibis/configure
--- /tmp/ibutils-1.5.7/ibis/configure	Tue Mar  8 03:09:53 2011
+++ ibutils-1.5.7/ibis/configure	Thu Mar 10 18:33:26 2011
@@ -2764,7 +2764,7 @@
 
 test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 744'
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
 $as_echo_n "checking whether build environment is sane... " >&6; }
@@ -6398,7 +6398,7 @@
 
 # Determine commands to create old-style static archives.
 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
+old_postinstall_cmds='chmod 744 $oldlib'
 old_postuninstall_cmds=
 
 if test -n "$RANLIB"; then
@@ -10087,6 +10087,7 @@
 	;;
       esac
       link_all_deplibs=yes
+      hardcode_libdir_flag_spec=
       ;;
 
     sunos4*)
@@ -12957,6 +12958,7 @@
 	    fi
 	    ;;
         esac
+	  hardcode_libdir_flag_spec_CXX=
         ;;
 
     sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
@@ -15284,8 +15286,8 @@
       else
          osm_lib_dir=lib
       fi
+      with_osm_libs=$with_osm/$osm_lib_dir
    fi
-   with_osm_libs=$with_osm/$osm_lib_dir
 
       if test -d $with_osm/include/infiniband; then
       OSM_BUILD=openib
@@ -15295,7 +15297,7 @@
    { $as_echo "$as_me:${as_lineno-$LINENO}: OSM: build type $OSM_BUILD" >&5
 $as_echo "$as_me: OSM: build type $OSM_BUILD" >&6;}
 
-   OSM_LDFLAGS="-Wl,-rpath -Wl,$with_osm_libs -L$with_osm_libs"
+   OSM_LDFLAGS="-L$with_osm_libs"
          if test $OSM_BUILD = openib; then
             osm_include_dir="$with_osm/include/infiniband"
       osm_extra_includes="-I$with_osm/include"
@@ -15378,7 +15380,7 @@
       osm_debug_flags=
    fi
 
-   OSM_CFLAGS="-I$osm_include_dir $osm_extra_includes $osm_debug_flags $osm_vendor_sel -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1"
+   OSM_CFLAGS="-I$osm_include_dir $osm_extra_includes $osm_debug_flags $osm_vendor_sel -D_BSD_SOURCE=1"
 else
       with_osm=disabled
    OSM_CLFAGS=disabled
diff -r -u /tmp/ibutils-1.5.7/ibmgtsim/aclocal.m4 ibutils-1.5.7/ibmgtsim/aclocal.m4
--- /tmp/ibutils-1.5.7/ibmgtsim/aclocal.m4	Tue Mar  8 03:09:58 2011
+++ ibutils-1.5.7/ibmgtsim/aclocal.m4	Thu Feb 24 16:51:18 2011
@@ -1389,7 +1389,7 @@
 
 # Determine commands to create old-style static archives.
 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
+old_postinstall_cmds='chmod 744 $oldlib'
 old_postuninstall_cmds=
 
 if test -n "$RANLIB"; then
diff -r -u /tmp/ibutils-1.5.7/ibmgtsim/doc/Makefile.in ibutils-1.5.7/ibmgtsim/doc/Makefile.in
--- /tmp/ibutils-1.5.7/ibmgtsim/doc/Makefile.in	Tue Mar  8 03:10:01 2011
+++ ibutils-1.5.7/ibmgtsim/doc/Makefile.in	Thu Feb 24 16:51:18 2011
@@ -52,7 +52,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibmgtsim/src/Makefile.in ibutils-1.5.7/ibmgtsim/src/Makefile.in
--- /tmp/ibutils-1.5.7/ibmgtsim/src/Makefile.in	Tue Mar  8 03:10:01 2011
+++ ibutils-1.5.7/ibmgtsim/src/Makefile.in	Thu Feb 24 16:51:18 2011
@@ -55,7 +55,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibmgtsim/tests/Makefile.in ibutils-1.5.7/ibmgtsim/tests/Makefile.in
--- /tmp/ibutils-1.5.7/ibmgtsim/tests/Makefile.in	Tue Mar  8 03:10:01 2011
+++ ibutils-1.5.7/ibmgtsim/tests/Makefile.in	Thu Feb 24 16:51:19 2011
@@ -53,7 +53,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibmgtsim/utils/Makefile.in ibutils-1.5.7/ibmgtsim/utils/Makefile.in
--- /tmp/ibutils-1.5.7/ibmgtsim/utils/Makefile.in	Tue Mar  8 03:10:02 2011
+++ ibutils-1.5.7/ibmgtsim/utils/Makefile.in	Thu Feb 24 16:51:19 2011
@@ -53,7 +53,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibmgtsim/Makefile.in ibutils-1.5.7/ibmgtsim/Makefile.in
--- /tmp/ibutils-1.5.7/ibmgtsim/Makefile.in	Tue Mar  8 03:10:02 2011
+++ ibutils-1.5.7/ibmgtsim/Makefile.in	Thu Feb 24 16:51:18 2011
@@ -54,7 +54,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/ibmgtsim/configure ibutils-1.5.7/ibmgtsim/configure
--- /tmp/ibutils-1.5.7/ibmgtsim/configure	Tue Mar  8 03:10:03 2011
+++ ibutils-1.5.7/ibmgtsim/configure	Thu Mar 10 18:33:27 2011
@@ -2769,7 +2769,7 @@
 
 test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 744'
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
 $as_echo_n "checking whether build environment is sane... " >&6; }
@@ -6440,7 +6440,7 @@
 
 # Determine commands to create old-style static archives.
 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
+old_postinstall_cmds='chmod 744 $oldlib'
 old_postuninstall_cmds=
 
 if test -n "$RANLIB"; then
@@ -15360,7 +15360,7 @@
       osm_debug_flags=
    fi
 
-   OSM_CFLAGS="-I$osm_include_dir $osm_extra_includes $osm_debug_flags $osm_vendor_sel -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1"
+   OSM_CFLAGS="-I$osm_include_dir $osm_extra_includes $osm_debug_flags $osm_vendor_sel -D_BSD_SOURCE=1"
 else
       with_osm=disabled
    OSM_CLFAGS=disabled
diff -r -u /tmp/ibutils-1.5.7/Makefile.in ibutils-1.5.7/Makefile.in
--- /tmp/ibutils-1.5.7/Makefile.in	Tue Mar  8 03:09:29 2011
+++ ibutils-1.5.7/Makefile.in	Thu Dec 12 15:36:52 2013
@@ -54,7 +54,7 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
+install_sh_DATA = $(install_sh) -c -m 744
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
 INSTALL_HEADER = $(INSTALL_DATA)
diff -r -u /tmp/ibutils-1.5.7/configure ibutils-1.5.7/configure
--- /tmp/ibutils-1.5.7/configure	Tue Mar  8 03:09:29 2011
+++ ibutils-1.5.7/configure	Thu Dec 12 16:51:11 2013
@@ -1824,7 +1824,7 @@
 
 test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 744'
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
 $as_echo_n "checking whether build environment is sane... " >&6; }
@@ -2450,7 +2450,7 @@
       osm_debug_flags=
    fi
 
-   OSM_CFLAGS="-I$osm_include_dir $osm_extra_includes $osm_debug_flags $osm_vendor_sel -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1"
+   OSM_CFLAGS="-I$osm_include_dir $osm_extra_includes $osm_debug_flags $osm_vendor_sel -D_BSD_SOURCE=1"
 else
       with_osm=disabled
    OSM_CLFAGS=disabled