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>