<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: Deep programming thread	</title>
	<atom:link href="https://www.dragonflydigest.com/2005/05/11/deep-programming-thread/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dragonflydigest.com/2005/05/11/deep-programming-thread/</link>
	<description>A running description of activity related to DragonFly BSD.</description>
	<lastBuildDate>Thu, 12 May 2005 20:18:44 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>
		By: Jonas SundstrÃ¶m		</title>
		<link>https://www.dragonflydigest.com/2005/05/11/deep-programming-thread/comment-page-1/#comment-491</link>

		<dc:creator><![CDATA[Jonas SundstrÃ¶m]]></dc:creator>
		<pubDate>Thu, 12 May 2005 20:18:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/?p=1119#comment-491</guid>

					<description><![CDATA[Mini guide to not-understanding-it slightly less:

TCB = Thread Control Block
TLS = Thread-Local Storage.
RTLD = run-time link-editor 

The %eax, %gs, etc, are i386 processor registers, in assembly notation. (The AT&#038;T/gas variety, as opposed to Intel/Nasm syntax.) A little assembly is necessary (in libc) for the rather narrow syscall kernel interface, pushing arguments to the kernel and getting back a return value and the eventual &#039;errno&#039;.

The argument appears to be how to best implement forward/backward compatibility in kernel/library/userland, so future kernel interface changes won&#039;t have to spell doom for old binaries.
]]></description>
			<content:encoded><![CDATA[<p>Mini guide to not-understanding-it slightly less:</p>
<p>TCB = Thread Control Block<br />
TLS = Thread-Local Storage.<br />
RTLD = run-time link-editor </p>
<p>The %eax, %gs, etc, are i386 processor registers, in assembly notation. (The AT&amp;T/gas variety, as opposed to Intel/Nasm syntax.) A little assembly is necessary (in libc) for the rather narrow syscall kernel interface, pushing arguments to the kernel and getting back a return value and the eventual &#8216;errno&#8217;.</p>
<p>The argument appears to be how to best implement forward/backward compatibility in kernel/library/userland, so future kernel interface changes won&#8217;t have to spell doom for old binaries.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
