]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Solaris: explain configure detection of scf repository door version
authorPaul Floyd <pjfloyd@wanadoo.fr>
Fri, 18 Aug 2023 06:12:53 +0000 (08:12 +0200)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Fri, 18 Aug 2023 06:12:53 +0000 (08:12 +0200)
configure.ac

index 913e8e8c5d46f94a5ffa9979d88acf6dbc410e1d..e9592f47ecef43ea68286b7c876590cafe3da6af 100755 (executable)
@@ -4537,6 +4537,16 @@ AC_PATH_PROG(DIS_PATH, dis, false)
 if test "x$DIS_PATH" = "xfalse"; then
   AC_MSG_FAILURE([Object code disassembler (`dis') not found.])
 fi
+# The illumos source is (or was) here
+# https://github.com/illumos/illumos-gate/blob/master/usr/src/lib/libscf/common/lowlevel.c#L1148
+# specifically the line
+#
+# request.rdr_version = REPOSITORY_DOOR_VERSION;
+#
+# rdr_version is a 32bit unsigned int
+# The macro REPOSITORY_DOOR_VERSION contains the ascii letters "Rep" in the top 3
+# bytes and the door version in the lowest byte. Hence we look for Rep which is 526570
+# in hex and then extrace the following byte.
 AC_CHECK_LIB(scf, scf_handle_bind, [], [
   AC_MSG_WARN([Function `scf_handle_bind' was not found in `libscf'.])
   AC_MSG_ERROR([Cannot determine version of the repository cache protocol.])