Can you try adding<div><br></div><div><div>  printf ("%p %zd\\n", d, _Alignof(*d));</div><div><br></div><div>before the line which fails? Is the pointer correctly aligned?</div><br><div class="gmail_quote">On Wed, Sep 26, 2012 at 12:38 PM, Sean McBride <span dir="ltr"><<a href="mailto:sean@rogue-research.com" target="_blank">sean@rogue-research.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Wed, 26 Sep 2012 10:40:47 -0400, Joe Ranieri said:<br>
<br>
>> DIR* dir = opendir("/usr/lib");<br>
>> if (dir)<br>
>> {<br>
>>  struct dirent* d = NULL;<br>
>>  while ((d = readdir(dir)) != NULL)<br>
>>  {<br>
>>   const char* local = d->d_name; // bam!<br>
>>   printf ("%s\n", local);<br>
>>  }<br>
>>  closedir(dir);<br>
>> }<br>
>><br>
><br>
</div>> *SNIP*<br>
<div class="im">><br>
>Just a hunch: is d->d_name an unaligned pointer? We ran into a similar<br>
>issue with gethostbyname.<br>
<br>
</div>Joe,<br>
<br>
Thanks for your reply.  But I'm afraid I don't follow.  Unaligned with respect to what?  The 'struct dirent' is declared by the system basically like so:<br>
<br>
#pragma pack()<br>
struct dirent {<br>
        uint64_t  d_ino;<br>
        uint64_t  d_seekoff;<br>
        uint16_t  d_reclen;<br>
        uint16_t  d_namlen;<br>
        uint8_t   d_type;<br>
        char      d_name[1024];<br>
}<br>
<br>
Note the 'pragma pack'; is that the alignment you're referring to?  On my system, I don't see any pragma pack with gethostbyname()'s 'struct hostent', what problem did you have with it?<br>
<br>
I just tried something else: it's not just the d_name field, but accessing any field triggers the SIGILL.<br>
<br>
Cheers,<br>
<div class="im HOEnZb"><br>
--<br>
____________________________________________________________<br>
Sean McBride, B. Eng                 <a href="mailto:sean@rogue-research.com">sean@rogue-research.com</a><br>
Rogue Research                        <a href="http://www.rogue-research.com" target="_blank">www.rogue-research.com</a><br>
Mac Software Developer              Montréal, Québec, Canada<br>
<br>
<br>
<br>
</div><div class="HOEnZb"><div class="h5">_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</div></div></blockquote></div><br></div>