[OpenSolaris] compilation errors on madvise
-------------------------------------------

                 Key: STDCXX-1045
                 URL: https://issues.apache.org/jira/browse/STDCXX-1045
             Project: C++ Standard Library
          Issue Type: Bug
          Components: Build and Installation
    Affects Versions: 4.2.1
            Reporter: Martin Sebor
            Assignee: Martin Sebor
             Fix For: 4.2.2


>From Ben's email below it sounds as though we need a test for 
>{{posix_madvise}} and use it in favor of alternatives such as {{madvise}} when 
>it's available:

-------- Original Message --------
Subject: madvise on Solaris
Date: Fri, 18 Dec 2009 18:00:30 +0000
From: John Taylor <x...@xxx.xxx>
To: msebor AT gmail.com

[...]
Anyway, I build stdcxx-4.2.1 on Solaris 10 and SXCE.

I notice that {{madvise}} doesn't get recognized, due to how the
function is defined.  Not a problem.  Opensolaris, and late
versions of SXCE, have introduced a function wrapper called
{{posix_madvise}}, which basically wraps the {{madvise}} function
so that it's more palletable to the C++ compiler.

In line 134 of {{src/memattr.cpp}}, there's a comment that I don't really
understand,
nor can I find any reference to the "unreliable" comment via google or stdcxx
lists.
{code}
#  ifdef _RWSTD_OS_SUNOS

        char dummy = '\0';

        // on Solaris use mincore() instead of madvise() since
        // the latter is unreliable
{code}
I admit to not being a very experience c/c++ programmer, but from my
read of the solaris man pages for {{mincore}} and {{madvise}}, I'm not
entirely convinced that this is a better work around.  Does anyone really
know what this "unreliable" means?

Would it be appropriate to "duplicate" Sun's wrapper for S10 and
SXCE/OSOL which don't have {{posix_madvise}} (given it's CDDL license
status) and use {{posix_madvise}} where approrpriate?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to