OS-8377: illumos-kvm-cmd needs to be illumos#14418/mman.h-agile

Details

Issue Type:Improvement
Priority:3 - Elevated
Status:Resolved
Created at:2022-04-19T20:58:51.252Z
Updated at:2022-05-12T14:59:03.642Z

People

Created by:Dan McDonald
Reported by:Dan McDonald
Assigned to:Dan McDonald

Fix Versions

2022-04-21 Porphyre (Release Date: 2022-04-21)

Related Links

Description

illumos#14418 fixes mman.h to expose madvise() among other functions.

Some 3rd-party software, like illumos-kvm-cmd, assumes mman.h is broken always, and fails in the face of a fixed mman.h. This bug track the introduction of a fix that will work both before-and-after 14418.

Comments

Comment by Dan McDonald
Created at 2022-04-19T21:03:16.008Z

Tested by building in both a pre-14418 and a post-14418 smartos-live build:

I used smartos-live for the post-14418 and smartos-live-DEBUG for the pre-14418:

smartos-build-2(~)[0]% foreach a ( smartos-live smartos-live-DEBUG )
foreach? pushd $a
foreach? ls -lt output/platform-20*.tgz
foreach? cd projects/illumos
foreach? git log -1
foreach? cd ../local/kvm-cmd
foreach? git diff
foreach? popd
foreach? end
~/smartos-live ~ 
-rw-r--r--   1 danmcd   staff    194823941 Apr 19 14:29 output/platform-20220419T152011Z.tgz
commit eedd3223aa009db5be8cda9dfa36438eb28c5b6d (HEAD -> master)
Author: Robert Mustacchi <rm@fingolfin.org>
Date:   Tue Jan 18 00:05:21 2022 +0000

    14418 mman.h symbol visibility is a mess
    
    Change-Id: I6e7eebeb1258af970bf3fd43e5e8b5ac1af75ab5
diff --git a/osdep.c b/osdep.c
index 327583b..da59cc3 100644
--- a/osdep.c
+++ b/osdep.c
@@ -36,7 +36,7 @@
 #include <sys/mman.h>
 #endif
 
-#ifdef CONFIG_SOLARIS
+#if defined(CONFIG_SOLARIS) && defined(_STRICT_POSIX)
 #include <sys/types.h>
 #include <sys/statvfs.h>
 /* See MySQL bug #7156 (http://bugs.mysql.com/bug.php?id=7156) for
~ 
~/smartos-live-DEBUG ~ 
-rw-r--r--   1 danmcd   staff    197655683 Apr 19 16:33 output/platform-20220419T184406Z.tgz
commit f077edea49a734a4c170f2c437f67f85291543e7 (HEAD -> master, origin/master, origin/HEAD)
Merge: d0815bba83 b12aaafbf5
Author: Dan McDonald <danmcd@joyent.com>
Date:   Tue Apr 19 10:59:51 2022 -0400

            [illumos-gate merge]
    
    commit b12aaafbf56c5a06b6cfd21655531a33e38a8ed9
        14613 format: cstyle cleanup
diff --git a/osdep.c b/osdep.c
index 327583b..da59cc3 100644
--- a/osdep.c
+++ b/osdep.c
@@ -36,7 +36,7 @@
 #include <sys/mman.h>
 #endif
 
-#ifdef CONFIG_SOLARIS
+#if defined(CONFIG_SOLARIS) && defined(_STRICT_POSIX)
 #include <sys/types.h>
 #include <sys/statvfs.h>
 /* See MySQL bug #7156 (http://bugs.mysql.com/bug.php?id=7156) for
~ 
smartos-build-2(~)[0]% 


Comment by Jira Bot
Created at 2022-04-20T18:47:43.095Z

illumos-kvm-cmd commit 769be75f0926f552ac903a84b49affc49c5c075e (branch master, by Dan McDonald)

OS-8377 illumos-kvm-cmd needs to be illumos#14418/mman.h-agile

Reviewed by: Robert Mustacchi <rm@fingolfin.org>
Reviewed by: Brian Bennett <brian.bennett@joyent.com>
Approved by: Brian Bennett <brian.bennett@joyent.com>