Details

    • Type: Bug Bug
    • Status: In Progress
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 4.2.1
    • Fix Version/s: 4.2.2
    • Component/s: Build and Installation
    • Labels:
      None
    • Severity:
      Compiler Error

      Description

      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 <xxx@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.

      #  ifdef _RWSTD_OS_SUNOS
      
              char dummy = '\0';
      
              // on Solaris use mincore() instead of madvise() since
              // the latter is unreliable
      

      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?

        Activity

        Martin Sebor created issue -
        Hide
        Martin Sebor added a comment -

        Attached Ben's patches for this issue.

        Show
        Martin Sebor added a comment - Attached Ben's patches for this issue.
        Martin Sebor made changes -
        Field Original Value New Value
        Attachment stdcxx-4.2.1-etc-config-src-POSIX_MADVISE.cpp [ 12430593 ]
        Attachment stdcxx-4.2.1-memattr.cpp.63.diff [ 12430594 ]
        Martin Sebor made changes -
        Status Open [ 1 ] In Progress [ 3 ]

          People

          • Assignee:
            Martin Sebor
            Reporter:
            Martin Sebor
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:

              Development