<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 09/05/2014 03:36 PM, Gary Robertson
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAF7YWnxMgNYAFH9=TFJvxwumF36KH=nDnZPPUKn3iazOwh1wJA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>
                <div>Dear OE developers,<br>
                </div>
                <div><br>
                </div>
                Linaro Networking Group is building root filesystem
                images containing  the LTP test suite, using the current
                recipe at openembedded-core/meta/recipes-extended/ltp/<a
                  moz-do-not-send="true" href="http://ltp_20140422.bb">ltp_20140422.bb</a>. 
                This build uses autoconf to probe mutex feature support
                for protocol specification, priority inheritance, and
                robust mutexes.  The macros used for this can be found
                in ltp/testcases/realtime/m4/check.m4 from the LTP git
                repository.<br>
                <br>
              </div>
              We are cross-building for the armv7a architecture using
              the machine definition found in
              meta-linaro/meta-linaro/conf/machine/genericarmv7a.conf. 
              The development host platform is an Ubuntu 12.04 x86_64
              platform with all software kept regularly updated from the
              Ubuntu repositories.<br>
              <br>
            </div>
            The macros in check.m4 use the AC_TRY_COMPILE function macro
            to attempt compilation of POSIX function calls utilizing the
            features being probed - such that if the compilation fails
            the features are deemed to be unsupported... and if
            compilation succeeds the features are deemed supported.<br>
            <br>
          </div>
          Native compilation of the same code used in the probes, and
          execution of the resulting program - shows support for all the
          probed mutex features on both the development host as well as
          the armv7a target platform... that is when this probe code is
          built on either the host or target machine and then executed
          in that environment... so support is there in both
          environments.<br>
          <br>
        </div>
        Despite the presence of this support the AC_TRY_COMPILE macro is
        indicating a lack of support for the probed features during the
        cross-build process.<br>
        <br>
        I am not personally familiar with the detailed function of the
        autoconf macros, and I can find no documentation about how OE
        interacts with those macros in order to coerce them into
        configuring for the target machine in a cross-build
        environment... so I am hoping the autoconf experts at OE can
        shed some light on this and at least provide some clues as to
        where to look for the problem and possible resolution.  Any
        insight you can provide in this matter would be appreciated.<br>
      </div>
    </blockquote>
    <br>
    Any mention of "armv7a" and "mutex" points me to
    <a class="moz-txt-link-freetext" href="http://cgit.openembedded.org/openembedded-core/commit/?id=0ba6ab39f187ecd4261f08e768f365f461384a3a">http://cgit.openembedded.org/openembedded-core/commit/?id=0ba6ab39f187ecd4261f08e768f365f461384a3a</a>
    which fixed a problem where the compiler and runtime disagreed about
    the capabilities of the target processor unless special flags were
    passed to the compiler.  Presence of armv7a enables mutex-related
    instructions which affect what support is provided in the C runtime
    system; absence of armv7 at compile-time will result in attempts to
    locate alternative implementations that are not present.<br>
    <br>
    It's possible that a similar issue is hitting you, depending on what
    options are present in the test compile and whether the libraries
    linked to were built with compatible options.<br>
    <br>
    I tried setting up a meta-linaro + meta-linaro-toolchain build to
    see if I could reproduce it, but meta-linaro appears to not be up to
    date with the removal of eglibc from oe-core.<br>
    <br>
    The autoconf test should have left information in the config.log
    file showing how it tried to build the application.  Having that
    information would help with diagnosis.<br>
    <br>
    Hope this is some help.<br>
    <br>
    Peter<br>
  </body>
</html>