<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Portability Blog - Comments</title>
    <link>http://portabilityblog.com/blog/</link>
    <description>Portability Blog - tales about building software on many platforms</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.2.1 - http://www.s9y.org/</generator>
    <managingEditor>df.portabilityblog@erinye.com</managingEditor>
<webMaster>df.portabilityblog@erinye.com</webMaster>
<pubDate>Thu, 09 Sep 2010 09:35:55 GMT</pubDate>

    <image>
        <url>http://portabilityblog.com/blog/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: Portability Blog - Comments - Portability Blog - tales about building software on many platforms</title>
        <link>http://portabilityblog.com/blog/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Danny: transparent_union</title>
    <link>http://portabilityblog.com/blog/archives/2-transparent_union.html#c1584</link>
            <category></category>
    
    <comments>http://portabilityblog.com/blog/archives/2-transparent_union.html#comments</comments>
    <wfw:comment>http://portabilityblog.com/blog/wfwcomment.php?cid=2</wfw:comment>

    

    <author>nospam@example.com (Danny)</author>
    <content:encoded>
    Yeah, that&#039;s true enough. Notice that the blog article was written in 2007, when the documented (and hence recommended) way was the same as in my examples.&lt;br /&gt;
&lt;br /&gt;
Maybe that fact is relevant in itself. If you have code from before 2008, check GCC documentation for changes &lt;img src=&quot;http://portabilityblog.com/blog/templates/default/img/emoticons/tongue.png&quot; alt=&quot;:-P&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; 
    </content:encoded>

    <pubDate>Mon, 26 Jul 2010 15:18:34 +0200</pubDate>
    <guid isPermaLink="false">http://portabilityblog.com/blog/archives/2-guid.html#c1584</guid>
    
</item>
<item>
    <title>Davi: transparent_union</title>
    <link>http://portabilityblog.com/blog/archives/2-transparent_union.html#c1583</link>
            <category></category>
    
    <comments>http://portabilityblog.com/blog/archives/2-transparent_union.html#comments</comments>
    <wfw:comment>http://portabilityblog.com/blog/wfwcomment.php?cid=2</wfw:comment>

    

    <author>nospam@example.com (Davi)</author>
    <content:encoded>
    If you take a finer look at the bug report, they say it&#039;s supported but not the recommended way. By not using the recommend way one is subject to bugs such as this.&lt;br /&gt;
&lt;br /&gt;
Anyway, the bug report is relevant for those tripping upon this, or to others looking into why transparent_union is ifdef for the PPC &lt;img src=&quot;http://portabilityblog.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; 
    </content:encoded>

    <pubDate>Mon, 26 Jul 2010 13:04:06 +0200</pubDate>
    <guid isPermaLink="false">http://portabilityblog.com/blog/archives/2-guid.html#c1583</guid>
    
</item>
<item>
    <title>Danny: transparent_union</title>
    <link>http://portabilityblog.com/blog/archives/2-transparent_union.html#c1582</link>
            <category></category>
    
    <comments>http://portabilityblog.com/blog/archives/2-transparent_union.html#comments</comments>
    <wfw:comment>http://portabilityblog.com/blog/wfwcomment.php?cid=2</wfw:comment>

    

    <author>nospam@example.com (Danny)</author>
    <content:encoded>
    This is not the case. The restriction means the attribute can&#039;t be inside the braces. It can be anywhere after the closing brace.&lt;br /&gt;
&lt;br /&gt;
The gcc test case referred from the bug report you quoted puts it last as well:&lt;br /&gt;
http://gcc.gnu.org/viewcvs/trunk/gcc/testsuite/g%2B%2B.dg/ext/attrib32.C?view=markup&amp;pathrev=142019&lt;br /&gt;
&lt;br /&gt;
GCC documentation now contains examples that have the attribute before the opening brace:&lt;br /&gt;
http://gcc.gnu.org/onlinedocs/gcc/Type-Attributes.html&lt;br /&gt;
&lt;br /&gt;
The version of this page that was current when this blog article was written still has the attribute last:&lt;br /&gt;
http://web.archive.org/web/20071031085950/http://gcc.gnu.org/onlinedocs/gcc/Type-Attributes.html 
    </content:encoded>

    <pubDate>Mon, 26 Jul 2010 09:43:27 +0200</pubDate>
    <guid isPermaLink="false">http://portabilityblog.com/blog/archives/2-guid.html#c1582</guid>
    
</item>
<item>
    <title>Davi: transparent_union</title>
    <link>http://portabilityblog.com/blog/archives/2-transparent_union.html#c1581</link>
            <category></category>
    
    <comments>http://portabilityblog.com/blog/archives/2-transparent_union.html#comments</comments>
    <wfw:comment>http://portabilityblog.com/blog/wfwcomment.php?cid=2</wfw:comment>

    

    <author>nospam@example.com (Davi)</author>
    <content:encoded>
    That&#039;s because of the tag is in the wrong place. Quoting from the GCC manual:&lt;br /&gt;
&lt;br /&gt;
&quot;An attribute specifier list may appear as part of a struct, union or enum specifier. It may go either immediately after the struct, union or enum keyword, or after the closing brace. The former syntax is preferred.&quot;&lt;br /&gt;
&lt;br /&gt;
Also, see:&lt;br /&gt;
&lt;br /&gt;
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36410 
    </content:encoded>

    <pubDate>Mon, 26 Jul 2010 00:33:52 +0200</pubDate>
    <guid isPermaLink="false">http://portabilityblog.com/blog/archives/2-guid.html#c1581</guid>
    
</item>
<item>
    <title>Danny: Bad register name &quot;dil&quot; (or &quot;sil&quot;)</title>
    <link>http://portabilityblog.com/blog/archives/11-Bad-register-name-dil-or-sil.html#c1580</link>
            <category></category>
    
    <comments>http://portabilityblog.com/blog/archives/11-Bad-register-name-dil-or-sil.html#comments</comments>
    <wfw:comment>http://portabilityblog.com/blog/wfwcomment.php?cid=11</wfw:comment>

    

    <author>nospam@example.com (Danny)</author>
    <content:encoded>
    You can find out if your compiler toolchain knows about %dil by comparing the output from 32 bit and 64 bit builds, e.g with gcc:&lt;br /&gt;
&lt;br /&gt;
32 bit:&lt;br /&gt;
$ echo &#039;main(){___asm___(&quot;mov %dil,%dil&quot;);}&#039; | gcc -m32 -c -x c - -o /dev/null&lt;br /&gt;
/tmp/ccWDlW7T.s: Assembler messages:&lt;br /&gt;
/tmp/ccWDlW7T.s:13: Error: bad register name `%dil&#039;&lt;br /&gt;
&lt;br /&gt;
64 bit:&lt;br /&gt;
$ echo &#039;main(){___asm___(&quot;mov %dil,%dil&quot;);}&#039; | gcc -m64 -c -x c - -o /dev/null&lt;br /&gt;
&lt;br /&gt;
I don&#039;t think there ever was an x86_64 assembler that didn&#039;t know about this register, but it&#039;s possible that your compiler frontend doesn&#039;t pass a required argument to your assembler. It&#039;s also possible that the project you&#039;re building just assumes the compiler will build for x86_64 by default, which isn&#039;t necessarily the case, although I haven&#039;t seen Linux systems configured that way yet; it&#039;s more common on certain commercial UNIX platforms. 
    </content:encoded>

    <pubDate>Wed, 04 Nov 2009 12:51:09 +0100</pubDate>
    <guid isPermaLink="false">http://portabilityblog.com/blog/archives/11-guid.html#c1580</guid>
    
</item>
<item>
    <title>ryan: Bad register name &quot;dil&quot; (or &quot;sil&quot;)</title>
    <link>http://portabilityblog.com/blog/archives/11-Bad-register-name-dil-or-sil.html#c1579</link>
            <category></category>
    
    <comments>http://portabilityblog.com/blog/archives/11-Bad-register-name-dil-or-sil.html#comments</comments>
    <wfw:comment>http://portabilityblog.com/blog/wfwcomment.php?cid=11</wfw:comment>

    

    <author>nospam@example.com (ryan)</author>
    <content:encoded>
    Hmm....If what you are saying is true, how come I am getting the following message?&lt;br /&gt;
&lt;br /&gt;
  CC      arch/x86_64/boot/printf.o&lt;br /&gt;
  CC      arch/x86_64/boot/string.o&lt;br /&gt;
  CC      arch/x86_64/boot/tty.o&lt;br /&gt;
  CC      arch/x86_64/boot/video.o&lt;br /&gt;
arch/i386/boot/boot.h: Assembler messages:&lt;br /&gt;
arch/i386/boot/boot.h:110: Error: bad register name `%dil&#039;&lt;br /&gt;
make[2]: *** [arch/x86_64/boot/video.o] Error 1&lt;br /&gt;
make[1]: *** [bzImage] Error 2&lt;br /&gt;
make[1]: Leaving directory `/home/navyserver/MENG/blocktag-kernel-2.6.23&#039;&lt;br /&gt;
make: *** [debian/stamp/build/kernel] Error 2&lt;br /&gt;
navyserver@navyserver-desktop:~/MENG/blocktag-kernel-2.6.23$ uname -m&lt;br /&gt;
x86_64 
    </content:encoded>

    <pubDate>Wed, 04 Nov 2009 02:07:06 +0100</pubDate>
    <guid isPermaLink="false">http://portabilityblog.com/blog/archives/11-guid.html#c1579</guid>
    
</item>
<item>
    <title>TheWitness: SO_SNDTIMEO and SO_RCVTIMEO</title>
    <link>http://portabilityblog.com/blog/archives/10-SO_SNDTIMEO-and-SO_RCVTIMEO.html#c1578</link>
            <category></category>
    
    <comments>http://portabilityblog.com/blog/archives/10-SO_SNDTIMEO-and-SO_RCVTIMEO.html#comments</comments>
    <wfw:comment>http://portabilityblog.com/blog/wfwcomment.php?cid=10</wfw:comment>

    

    <author>nospam@example.com (TheWitness)</author>
    <content:encoded>
    Alarms, what a &quot;hack&quot;.  I do not want to have to control the behavior of inline code through a callback.  Why can&#039;t the UNIX guys just properly adopt sockets?&lt;br /&gt;
&lt;br /&gt;
Let me guess, they laid off all the developers years ago when they thought UNIX was &quot;good enough&quot;.  That&#039;s my guess.&lt;br /&gt;
&lt;br /&gt;
TheWitness 
    </content:encoded>

    <pubDate>Wed, 02 Sep 2009 14:27:24 +0200</pubDate>
    <guid isPermaLink="false">http://portabilityblog.com/blog/archives/10-guid.html#c1578</guid>
    
</item>
<item>
    <title>Danny: SO_SNDTIMEO and SO_RCVTIMEO</title>
    <link>http://portabilityblog.com/blog/archives/10-SO_SNDTIMEO-and-SO_RCVTIMEO.html#c1575</link>
            <category></category>
    
    <comments>http://portabilityblog.com/blog/archives/10-SO_SNDTIMEO-and-SO_RCVTIMEO.html#comments</comments>
    <wfw:comment>http://portabilityblog.com/blog/wfwcomment.php?cid=10</wfw:comment>

    

    <author>nospam@example.com (Danny)</author>
    <content:encoded>
    We don&#039;t, since the platform doesn&#039;t support socket timeouts. We use plain old alarm signals instead. 
    </content:encoded>

    <pubDate>Wed, 22 Apr 2009 11:50:42 +0200</pubDate>
    <guid isPermaLink="false">http://portabilityblog.com/blog/archives/10-guid.html#c1575</guid>
    
</item>
<item>
    <title>Antonio: SO_SNDTIMEO and SO_RCVTIMEO</title>
    <link>http://portabilityblog.com/blog/archives/10-SO_SNDTIMEO-and-SO_RCVTIMEO.html#c1574</link>
            <category></category>
    
    <comments>http://portabilityblog.com/blog/archives/10-SO_SNDTIMEO-and-SO_RCVTIMEO.html#comments</comments>
    <wfw:comment>http://portabilityblog.com/blog/wfwcomment.php?cid=10</wfw:comment>

    

    <author>nospam@example.com (Antonio)</author>
    <content:encoded>
    I have been running through that exact problem with a porting to HP-UX 11iv3. My question is, how would you tackle the problem of setting socket timeouts in that platform (which aren&#039;t silently ignored)? 
    </content:encoded>

    <pubDate>Wed, 22 Apr 2009 11:13:09 +0200</pubDate>
    <guid isPermaLink="false">http://portabilityblog.com/blog/archives/10-guid.html#c1574</guid>
    
</item>
<item>
    <title>Daniel Fischer: socklen_t confusion</title>
    <link>http://portabilityblog.com/blog/archives/7-socklen_t-confusion.html#c1573</link>
            <category></category>
    
    <comments>http://portabilityblog.com/blog/archives/7-socklen_t-confusion.html#comments</comments>
    <wfw:comment>http://portabilityblog.com/blog/wfwcomment.php?cid=7</wfw:comment>

    

    <author>nospam@example.com (Daniel Fischer)</author>
    <content:encoded>
    This may get you into trouble on HP-UX as per what I wrote in the article. 
    </content:encoded>

    <pubDate>Sun, 29 Mar 2009 11:18:09 +0200</pubDate>
    <guid isPermaLink="false">http://portabilityblog.com/blog/archives/7-guid.html#c1573</guid>
    
</item>
<item>
    <title>dm: socklen_t confusion</title>
    <link>http://portabilityblog.com/blog/archives/7-socklen_t-confusion.html#c1446</link>
            <category></category>
    
    <comments>http://portabilityblog.com/blog/archives/7-socklen_t-confusion.html#comments</comments>
    <wfw:comment>http://portabilityblog.com/blog/wfwcomment.php?cid=7</wfw:comment>

    

    <author>nospam@example.com (dm)</author>
    <content:encoded>
    I use &quot;socklen_t&quot; instead of &quot;int&quot;, like this:&lt;br /&gt;
...&lt;br /&gt;
socklen_t addrlen; /* arg for accept */&lt;br /&gt;
...&lt;br /&gt;
desc = accept(sock, (struct sockaddr *)  &amp;addr1, &amp;addrlen);&lt;br /&gt;
...&lt;br /&gt;
and all work. 
    </content:encoded>

    <pubDate>Wed, 08 Oct 2008 13:13:39 +0200</pubDate>
    <guid isPermaLink="false">http://portabilityblog.com/blog/archives/7-guid.html#c1446</guid>
    
</item>

</channel>
</rss>