<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>codemonkey.org.uk &#187; glibc</title>
	<atom:link href="http://www.codemonkey.org.uk/tag/glibc/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codemonkey.org.uk</link>
	<description>Dave Jones' Linux &#38; opensource stuff.</description>
	<lastBuildDate>Sat, 03 Jul 2010 23:33:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>x86info glibc backwards compatibility.</title>
		<link>http://www.codemonkey.org.uk/2009/01/21/x86info-glibc-compatibility/</link>
		<comments>http://www.codemonkey.org.uk/2009/01/21/x86info-glibc-compatibility/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 17:28:19 +0000</pubDate>
		<dc:creator>davej</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[backwards compatibility]]></category>
		<category><![CDATA[glibc]]></category>
		<category><![CDATA[x86info]]></category>

		<guid isPermaLink="false">http://www.codemonkey.org.uk/?p=95</guid>
		<description><![CDATA[Sometimes, backwards compatibility gets really ugly. Today I got a mail from someone who failed to compile x86info on some old system, because it had an old glibc. x86info uses the affinity system calls to bind processes to specific CPUs. I had forgotten all about it, but earlier versions of the interface in glibc were [...]<p><a href="http://www.codemonkey.org.uk/2009/01/21/x86info-glibc-compatibility/">x86info glibc backwards compatibility.</a> is a post from: <a href="http://www.codemonkey.org.uk">codemonkey.org.uk</a></p>



Related posts:<ol><li><a href='http://www.codemonkey.org.uk/2009/12/11/x86info-processor-topology-parsing/' rel='bookmark' title='Permanent Link: x86info processor topology parsing.'>x86info processor topology parsing.</a> <small>Today was my last working day of the year, as...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Sometimes, backwards compatibility gets really ugly.<br />
Today I got a mail from someone who failed to compile x86info on some old system, because it had an old glibc.<br />
x86info uses the affinity system calls to bind processes to specific CPUs.  I had forgotten all about it, but earlier versions of the interface in glibc were a little unstable.<br />
Quoting the sched_getaffinity manpage:</p>
<blockquote><p>
VERSIONS<br />
The CPU affinity system calls were introduced in Linux kernel 2.5.8.  The library interfaces were introduced in glibc 2.3.  Initially, the glibc interfaces included a cpusetsize argument, typed as unsigned int.  In glibc 2.3.3, the cpusetsize argument was removed, but was then restored in glibc 2.3.4, with type size_t.
</p></blockquote>
<p>The email I got was kind enough to include <a href="http://files.pooryorick.com/b6983afd2ebe7c0e9f955a62d1c1734a1df6cd131516f81d95fc2a426fa5d3cb">a patch</a> that made it work on all possible combinations of the glibc, by using <a href="http://www.open-mpi.org/projects/plpa/">plpa</a>.  It&#8217;s neat that this rube goldberg machine can make it work with anything, but damn is it ever ugly.</p>
<p>I settled for <a href="http://git.choralone.org/?p=x86info.git;a=commitdiff;h=de50e1d2533cd3480979137fbd750006522dd379">a simpler &#8220;fix&#8221;</a></p>
<p>It&#8217;s a controversial answer, but sometimes, compatibility just isn&#8217;t worth it.</p>
<p><a href="http://www.codemonkey.org.uk/2009/01/21/x86info-glibc-compatibility/">x86info glibc backwards compatibility.</a> is a post from: <a href="http://www.codemonkey.org.uk">codemonkey.org.uk</a></p>


<p>Related posts:<ol><li><a href='http://www.codemonkey.org.uk/2009/12/11/x86info-processor-topology-parsing/' rel='bookmark' title='Permanent Link: x86info processor topology parsing.'>x86info processor topology parsing.</a> <small>Today was my last working day of the year, as...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.codemonkey.org.uk/2009/01/21/x86info-glibc-compatibility/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
