<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">
      <pre wrap="">Hi,

        I appreciate a so full documented review - I will try my best to apply your comments. It's definitely good.
</pre>
      <ul>
        <li>For indentation problems, will care about it.</li>
      </ul>
      <ul>
        <li>I badly said hetereogenous instead of not homogeneous (it is
          not really clear if hetereogeneous means mixed float struct
          and/or big homogeneous struct >64 bytes ...) . Will change
          that. <br>
        </li>
      </ul>
      <ul>
        <li>Regarding "According to the code below, heterog and hfa_type
          are not part of
          <span class="moz-txt-underscore"><span class="moz-txt-tag">_</span>state<span
              class="moz-txt-tag">_</span></span>. You don't need to
          keep their values between calls. Why are
          they in context?".</li>
      </ul>
      <pre wrap="">I agree, these 2 boolean must be renamed like is_... and doesn't have to be in context.
Size of structure and hfa structure being enough. 
</pre>
      <ul>
        <li>" This has wrong indentation. Please indent a space for each
          nested
          preprocessor level. (Though I suppose the include guard ifdefs
          don't
          count.)"<br>
           #ifdef __powerpc64__ // Says 'ltrace' is 64 bits, says
          nothing about target.<br>
           #define LT_ELFCLASS2   ELFCLASS64<br>
           #define LT_ELF_MACHINE2        EM_PPC64<br>
          -#define ARCH_SUPPORTS_OPD<br>
          -#endif<br>
          +<br>
          +# ifdef __LITTLE_ENDIAN__<br>
          +# define BREAKPOINT_VALUE { 0x08, 0x00, 0xe0, 0x7f }<br>
          +# define ARCH_ENDIAN_LITTLE<br>
          +# else<br>
          +# define BREAKPOINT_VALUE { 0x7f, 0xe0, 0x00, 0x08 }<br>
          +# define ARCH_SUPPORTS_OPD<br>
          +# define ARCH_ENDIAN_BIG<br>
          +# endif<br>
          +<br>
          +# if _CALL_ELF != 2<br>
          +# define ARCH_SUPPORTS_OPD<br>
          +# define STACK_FRAME_OVERHEAD 112<br>
          +# else /* _CALL_ELF == 2 ABIv2 */<br>
          +# define STACK_FRAME_OVERHEAD 32<br>
          +# endif /* CALL_ELF */<br>
          +<br>
          +#else<br>
          +#define BREAKPOINT_VALUE { 0x7f, 0xe0, 0x00, 0x08 }<br>
          +#define ARCH_ENDIAN_BIG<br>
          +#endif         /* __powerpc64__ */</li>
        <li><br>
           is this better ?<br>
        </li>
      </ul>
    </div>
    <blockquote cite="mid:m2eh16xj9m.fsf@redhat.com" type="cite">
      <ul>
        <li>
          <pre wrap="">
+       lte->arch.elfv2_abi=((lte->ehdr.e_flags & 3) & 2);
</pre>
        </li>
      </ul>
      <pre wrap="">
Uhh, do these things have symbolic names by any chance?
Also, why & 3 & 2?  That's the same as & 2...</pre>
    </blockquote>
    I finaly found it : <br>
    /* e_flags bits specifying ABI.<br>
       1 for original function descriptor using ABI,<br>
       2 for revised ABI without function descriptors,<br>
       0 for unspecified or not using any features affected by the
    differences.  */<br>
    #define EF_PPC64_ABI    3<br>
    <br>
        would :                
    lte->arch.elfv2_abi=((lte->ehdr.e_flags & EF_PPC64_ABI )
    == 2 )<br>
    <br>
    be more appropriate <br>
    +/* if ( ! strlen(name) )
    + continue;
    +*/
    <blockquote cite="mid:m2eh16xj9m.fsf@redhat.com" type="cite">
      <pre wrap="">
Just drop it instead of commenting out.</pre>
    </blockquote>
    sure - I forgot it.<br>
    <blockquote cite="mid:m2eh16xj9m.fsf@redhat.com" type="cite">
      Thank you,
      PM
    </blockquote>
    <br>
    Update coming soon<br>
    <br>
    Best regards<br>
    Thierry<br>
    <pre class="moz-signature" cols="72">-- 
Thierry Fauck @ linux.vnet.ibm</pre>
  </body>
</html>