<?xml version="1.0" encoding="iso-8859-1"?><!-- generator="b2evolution/4.1.7" -->
<rss version="0.92">
	<channel>
		<title>A frog around the world</title>
		<link>http://sylvestre.ledru.info/blog/</link>
		<description>Blog d'un Français autour du monde</description>
		<language>fr-FR</language>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
				<item>
			<title>Follow up on Debian &#38; Clang</title>
						<description>&lt;p&gt;A week after the &lt;a href=&quot;http://blog.llvm.org/2013/05/eurollvm-2013-paris-france.html&quot;&gt;Euro LLVM conference&lt;/a&gt;, I am glad to share the results I presented and discussed during the event.&lt;/p&gt;

&lt;p&gt;1) &lt;b&gt;Parallel building infrastructure using clang instead of gcc&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Based on the work that Alexander Pashaliyski and I did during the GSoC 2012, we are now able to automatically rebuild each package uploaded in Unstable transparently. Results are published here:&lt;br /&gt;
&lt;a href=&quot;http://buildd-clang.debian.net/&quot;&gt;http://buildd-clang.debian.net/&lt;/a&gt;&lt;br /&gt;
This provides a quick and easy way to any Debian contributors or upstream packaged in Debian to check how the package behaves with clang.&lt;br /&gt;
For Debian Developer and maintainer, a per maintainer view is also provided. This will list all packages maintained by a Debian packager. &lt;a href=&quot;http://buildd-clang.debian.net/package.php?p=sylvestre%40debian.org&amp;amp;comaint=yes&quot;&gt;My page as example&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is an example of the list of package:&lt;br /&gt;
&lt;a href=&quot;http://buildd-clang.debian.net/report.php?a=amd64&amp;amp;suite=sid&quot;&gt;&lt;img src=&quot;http://sylvestre.ledru.info/blog/media/5/list-pkg.png&quot; width=&quot;450&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And an example of package failing:&lt;br /&gt;&lt;img src=&quot;http://sylvestre.ledru.info/blog/media/5/fail-pkg.png&quot; width=&quot;450&quot; border=&quot;0&quot; /&gt;&lt;/p&gt;


&lt;p&gt;At time of writing, most of the packages in unstable have been rebuilt (16 % are remaining). However, due to resource constraints, only amd64 packages are built. Contact me if you have resources to share for other architectures.&lt;/p&gt;

&lt;p&gt;Thanks to Paul Wise, the PTS (Debian package tracking system) proposes a link to the clang build logs (failing or not).&lt;/p&gt;

&lt;p&gt;A repository will be automatically updated with the results of these builds (once I find the time to get into buildd).&lt;/p&gt;


&lt;p&gt;2) &lt;b&gt;clang-built repository&lt;/b&gt;&lt;br /&gt;
Thanks to the Amazon Cloud, with our new DPL (Debian Project Leader), Lucas Nussbaum, we rebuilt unstable last April and published it at the following address:&lt;/p&gt;
&lt;pre&gt;
deb &lt;a href=&quot;http://clang.debian.net/repository-2013-04-07/&quot;&gt;http://clang.debian.net/repository-2013-04-07/&lt;/a&gt; unstable-clang main
&lt;/pre&gt;

&lt;p&gt;This allows some cool stuff like:&lt;/p&gt;
&lt;pre&gt;
$ echo &quot;deb &lt;a href=&quot;http://clang.debian.net/repository-2013-04-07/&quot;&gt;http://clang.debian.net/repository-2013-04-07/&lt;/a&gt; unstable-clang main&quot;&gt;&gt;/etc/apt/sources.list
$ apt-get update
$ apt-get install coreutils/unstable-clang
$ ls
$ awk
&lt;/pre&gt;

&lt;p&gt;Note that this repository was only one-shoot and does not get updated.&lt;/p&gt;

&lt;p&gt;Quality of the binary produced (performance and size) can be tested thanks to this repository. Feedbacks are welcome!&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://sylvestre.ledru.info/blog/2013/05/06/follow_up_on_debian_aamp_clang&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<link>http://sylvestre.ledru.info/blog/2013/05/06/follow_up_on_debian_aamp_clang</link>
							</item>
				<item>
			<title>A New Identi.ca/Twitter feed: Debian uploads</title>
						<description>&lt;p&gt;After the Debian new packages, removal and bugs feeds (see the &lt;a href=&quot;http://sylvestre.ledru.info/blog/sylvestre/2011/08/24/debian_feeds_on_identica_twitter&quot;&gt;previous blog&lt;/a&gt; &lt;a href=&quot;http://sylvestre.ledru.info/blog/sylvestre/2011/08/29/debian_identi_ca_twitter_feed_removed_pa&quot;&gt;posts&lt;/a&gt;), I also plugged a feed with the last uploads in the archive:&lt;br /&gt;
&lt;a href=&quot;http://identi.ca/debianupload&quot;&gt;Debian uploads on Identi.ca&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://twitter.com/DebianUpload&quot;&gt;Debian uploads on Twitter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As a reminder, here is the list.&lt;br /&gt;
For identi.ca:&lt;br /&gt;
&lt;a href=&quot;http://identi.ca/debianupload&quot;&gt;Debian uploads&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://identi.ca/debiannew&quot;&gt;Debian NEW queue&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://identi.ca/debianbug&quot;&gt;Debian bugs&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://identi.ca/debianremove&quot;&gt;Debian removed packages&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For Twitter:&lt;br /&gt;
&lt;a href=&quot;http://twitter.com/debianupload&quot;&gt;Debian uploads&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://twitter.com/debiannew&quot;&gt;Debian NEW queue&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://twitter.com/debianbug&quot;&gt;Debian bugs&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://twitter.com/debianremove&quot;&gt;Debian removed packages&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://sylvestre.ledru.info/blog/2013/04/09/a_new_identi_ca_twitter_feed_debian_uplo&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<link>http://sylvestre.ledru.info/blog/2013/04/09/a_new_identi_ca_twitter_feed_debian_uplo</link>
							</item>
				<item>
			<title> LLVM Debian/Ubuntu nightly packages</title>
						<description>&lt;p&gt;Lately, I have been working on providing nightly packages of the whole LLVM toolchain.&lt;br /&gt;
With the help of folks from Intel, Google and Apple, I am happy to announce the publication of these packages:&lt;br /&gt;
&lt;a href=&quot;http://llvm.org/apt/&quot;&gt;http://llvm.org/apt/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Built through a Jenkins instance (&lt;a href=&quot;http://llvm-jenkins.debian.net/&quot;&gt;http://llvm-jenkins.debian.net/&lt;/a&gt;), packages for Debian wheezy and Unstable and Ubuntu quantal, precise and raring are created twice a day.&lt;/p&gt;

&lt;p&gt;3.2 and 3.3 llvm-toolchain packages are currently waiting in the &lt;a href=&quot;http://ftp-master.debian.org/new.html&quot;&gt;Debian NEW queue&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;More information on the &lt;a href=&quot;http://blog.llvm.org/2013/04/llvm-debianubuntu-nightly-packages.html&quot;&gt;LLVM blog&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://sylvestre.ledru.info/blog/2013/04/03/llvm_debian_ubuntu_nightly_packages&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<link>http://sylvestre.ledru.info/blog/2013/04/03/llvm_debian_ubuntu_nightly_packages</link>
							</item>
				<item>
			<title>Rebuild of Debian using clang 3.2</title>
						<description>&lt;p&gt;After the studies of the rebuild of the Debian archive using clang &lt;a href=&quot;http://sylvestre.ledru.info/blog/sylvestre/2012/02/29/rebuild_of_the_debian_archive_with_clang&quot;&gt;2.9 &amp;amp; 3.0&lt;/a&gt; and &lt;a href=&quot;http://sylvestre.ledru.info/blog/sylvestre/2012/07/24/news_on_debian_aamp_clang_1&quot;&gt;3.1&lt;/a&gt;, the results of the 3.2 rebuild have been published on &lt;a href=&quot;http://clang.debian.net&quot;&gt;http://clang.debian.net&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The percentage of failure is the same as clang 3.1: 12.1% of failure. That means that on 18264 packages, 2204 failed to be built with clang (it was 17710/2137 with the version 3.1).&lt;/p&gt;

&lt;p&gt;The fact that the percentage is the same can be explained by at least two reasons:&lt;br /&gt;
First, some upstreams packages have been fixed to be built correctly with clang.&lt;br /&gt;
Second, the new warnings + -Werror (example: &lt;a href=&quot;http://clang.debian.net/status.php?version=3.2&amp;amp;key=SOMETIMES_UNINITIALIZED&quot;&gt;-Wsometimes-uninitialized&lt;/a&gt;) introduced in clang 3.2 triggered some new build failures.&lt;/p&gt;

&lt;p&gt;To conclude, I think that the 3.2 release confirms the turning point of the 3.1. In term of support of the C and C++ standard, clang has now reached an equivalent quality to gcc (with better detection of errors and an extended set of warnings in -Wall). &lt;br /&gt;
Now, from the perspective of the Debian rebuilds, the decrease of number of failures will come from the upstream developers improving their codes (exemple of the error &lt;i&gt;&lt;a href=&quot;http://clang.debian.net/status.php?version=3.2&amp;amp;key=FUNCTION_RETURNS_VALUE&quot;&gt;non-void function should return a value&lt;/a&gt;&lt;/i&gt;) or the Debian Developer/maintainer fixing the programming errors.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://sylvestre.ledru.info/blog/2013/02/06/rebuild_of_debian_using_clang_3_2&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<link>http://sylvestre.ledru.info/blog/2013/02/06/rebuild_of_debian_using_clang_3_2</link>
							</item>
				<item>
			<title>Some more cool stuff with LLVM/Clang</title>
						<description>&lt;p&gt;One of the drawback of C is the hard memory management.&lt;/p&gt;

&lt;p&gt;It is because of this aspect that Clang provides a way to detect, at runtime, memory errors. Called &lt;a href=&quot;http://clang.llvm.org/docs/AddressSanitizer.html&quot;&gt;Address Sanitizer&lt;/a&gt;, it allows, while the program is running, to keep track of the memory and detect typical errors (out-of-bound accesses, use of a variable after a free, etc).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;# With the following packages (version 3.2-1~exp3)&lt;br /&gt;
$ sudo apt-get install clang clang-3.2 compiler-rt -t experimental&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Taking the simple following example, even if the errors are obvious, compilers will accept this code.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
int main() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;  char *x = (char*)malloc(10 * sizeof(char*));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;  free(x);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;  return x[5];&lt;br /&gt;
}&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Built and run with:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;$ clang -O1 -g -fsanitize=address -fno-omit-frame-pointer foo.c  -o foo&lt;br /&gt;
$ ./foo &amp;amp;&gt; memoryDebug.log&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The previous command will generate a log file. Log which can be post processed with the asan_symbolize command.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;$ asan_symbolize memoryDebug.log&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;which will give:&lt;/p&gt;
&lt;pre&gt;
=================================================================
==21368== ERROR: AddressSanitizer: heap-use-after-free on address 0x7fb22e547f45 at pc 0x408c44 bp 0x7ffff60c10b0 sp 0x7ffff60c10a8
READ of size 1 at 0x7fb22e547f45 thread T0
    #0 0x408c43 in main /tmp/foo.c:5
    #1 0x7fb22d99f6ac in __libc_start_main /home/adconrad/eglibc-2.16/csu/libc-start.c:227
0x7fb22e547f45 is located 5 bytes inside of 80-byte region [0x7fb22e547f40,0x7fb22e547f90)
freed by thread T0 here:
    #0 0x408c90 in __interceptor_free ??:0
    #1 0x408c0a in main /tmp/foo.c:4
    #2 0x7fb22d99f6ac in __libc_start_main /home/adconrad/eglibc-2.16/csu/libc-start.c:227
previously allocated by thread T0 here:
    #0 0x408d50 in __interceptor_malloc ??:0
    #1 0x408bff in main /tmp/foo.c:3
    #2 0x7fb22d99f6ac in __libc_start_main /home/adconrad/eglibc-2.16/csu/libc-start.c:227
Shadow byte and word:
  0x1ff645ca8fe8: fd
  0x1ff645ca8fe8: fd fd fd fd fd fd fd fd
More shadow bytes:
  0x1ff645ca8fc8: fa fa fa fa fa fa fa fa
  0x1ff645ca8fd0: fa fa fa fa fa fa fa fa
  0x1ff645ca8fd8: fa fa fa fa fa fa fa fa
  0x1ff645ca8fe0: fa fa fa fa fa fa fa fa
=&amp;gt;0x1ff645ca8fe8: fd fd fd fd fd fd fd fd
  0x1ff645ca8ff0: fd fd fd fd fd fd fd fd
  0x1ff645ca8ff8: fa fa fa fa fa fa fa fa
  0x1ff645ca9000: fa fa fa fa fa fa fa fa
  0x1ff645ca9008: fa fa fa fa fa fa fa fa
Stats: 0M malloced (0M for red zones) by 1 calls
Stats: 0M realloced by 0 calls
Stats: 0M freed by 1 calls
Stats: 0M really freed by 0 calls
Stats: 0M (128 full pages) mmaped in 1 calls
  mmaps   by size class: 8:2047;
  mallocs by size class: 8:1;
  frees   by size class: 8:1;
  rfrees  by size class:
Stats: malloc large: 0 small slow: 1
==21368== ABORTING
&lt;/pre&gt;
&lt;p&gt;The main advantage compare to valgrind is that asan is supposed to be way more faster.&lt;/p&gt;


&lt;p&gt;Threads can be also tricking to develop. &lt;br /&gt;
With the &lt;a href=&quot;http://clang.llvm.org/docs/ThreadSanitizer.html&quot;&gt;following example from stolen from upstream&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;#include &amp;lt;pthread.h&amp;gt;&lt;br /&gt;
int Global;&lt;br /&gt;
void *Thread1(void *x) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;  Global = 42;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;  return x;&lt;br /&gt;
}&lt;/p&gt;

&lt;p&gt;int main() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;  pthread_t t;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;  pthread_create(&amp;amp;t, NULL, Thread1, NULL);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;  Global = 43;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;  pthread_join(t, NULL);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;  return Global;&lt;br /&gt;
}&lt;/p&gt;
&lt;/blockquote&gt;


&lt;pre&gt;
$ clang -fsanitize=thread -g -O1 foo2.c -fPIE -pie -o foo
$ ./foo
==================
WARNING: ThreadSanitizer: data race (pid=21416)
  Write of size 4 at 0x7f2f1a214a50 by thread 1:
    #0 Thread1 /tmp/foo2.c:4 (exe+0x00000000f850)

  Previous write of size 4 at 0x7f2f1a214a50 by main thread:
    #0 main /tmp/foo2.c:10 (exe+0x00000000f8a4)

  Thread 1 (tid=21417, running) created at:
    #0 pthread_create ??:0 (exe+0x00000001267e)
    #1 main /tmp/foo2.c:9 (exe+0x00000000f894)

==================
ThreadSanitizer: reported 1 warnings
&lt;/pre&gt;

&lt;p&gt;Note that clang also provides scan-build, a static analyzer for memory issues. Not as powerful as the Address Sanitizer (it only works on a file), it provides some excellent reports. See the &lt;a href=&quot;http://grep.be/blog/en/computer/code/static_analysis_with_clang&quot;&gt;Wouter&#039;s blog post on this subject&lt;/a&gt; or the automatic report of &lt;a href=&quot;http://scan-build.scilab.org/&quot;&gt;scan-build on Scilab&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://sylvestre.ledru.info/blog/2013/01/12/some_more_cool_stuff_with_llvm_clang&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<link>http://sylvestre.ledru.info/blog/2013/01/12/some_more_cool_stuff_with_llvm_clang</link>
							</item>
				<item>
			<title>Mini Debconf 2012 - videos and feedbacks</title>
						<description>&lt;p&gt;A bit more than two weeks after the Mini Debconf in Paris, I am glad to say that the &lt;a href=&quot;http://meetings-archive.debian.net/pub/debian-meetings/2012/mini-debconf-paris/&quot;&gt;videos of the event&lt;/a&gt; are finally published (the sound is not very good for the 4 first presentations, sorry about that).&lt;br /&gt;
They will be also available on the new &lt;a href=&quot;http://www.irill.org/&quot;&gt;IRILL website&lt;/a&gt; with a video player when ready.&lt;br /&gt;
All slides are also available on the &lt;a href=&quot;http://fr2012.mini.debconf.org/&quot;&gt;page of the event&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I believe that there is a consensus about the quality of the event. We had around 150 people attending to the event, many interesting and various talks.&lt;br /&gt;
As usual, it was nice to meet some old and new friends from Debian.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;a href=&quot;http://sylvestre.ledru.info/blog/media/5/minidebconf.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://sylvestre.ledru.info/blog/media/5/minidebconf_thumb.jpg&quot; alt=&quot;Mini debconf - group picture&quot; /&gt;&lt;br /&gt;Group picture by Frederic Lehobey&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For those who wonder, I am confident there will be a 2013 Parisian Mini Debconf.&lt;/p&gt;

&lt;p&gt;Various feedbacks about the event:&lt;br /&gt;
&lt;a href=&quot;http://www.lucas-nussbaum.net/blog/?p=741&quot;&gt;Lucas Nussbaum&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://upsilon.cc/~zack/blog/posts/2012/11/mini_debconf_paris_2012/&quot;&gt;Stefano Zacchiroli&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.vuntz.net/journal/post/2012/11/24/JDLL-and-Mini-DebConf-Paris&quot;&gt;Vincent Untz&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://raphaelhertzog.com/2012/12/01/my-free-software-activities-in-november-2012/&quot;&gt;Raphael Hertzog&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://mancoosi.org/~abate/mini-debian-conf-2012-paris-bootstrapping-debian-new-architecture&quot;&gt;Pietro Abate&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.logilab.org/blogentry/112652&quot;&gt;Logilab (Julien Cristau)&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.debian.org/News/project/2012/24/index.en.html#minidc&quot;&gt;The &#039;official&#039; Debian news&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;And, once more, many thanks to the sponsors!&lt;br /&gt;&lt;/p&gt;
&lt;table&gt;&lt;tr&gt;&lt;td&gt;
      &lt;a href=&quot;http://www.logilab.fr&quot;&gt;&lt;img alt=&quot;Logilab&quot; src=&quot;http://fr2012.mini.debconf.org/logos/logilab.png&quot; /&gt;&lt;/a&gt;
&lt;/td&gt;&lt;td&gt;
      &lt;a href=&quot;http://www.smartjog.com/en/?utm_source=debconf.org&amp;amp;utm_medium=link&amp;amp;utm_campaign=minidebconf2012&quot;&gt;&lt;img alt=&quot;SmartJog&quot; src=&quot;http://fr2012.mini.debconf.org/logos/logo_tdf.png&quot; /&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;
      &lt;a href=&quot;http://bearstech.com/&quot;&gt;&lt;img alt=&quot;Bearstech&quot; src=&quot;http://fr2012.mini.debconf.org/logos/logo_bearstech.png&quot; /&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;td&gt;
      &lt;a href=&quot;http://www.evolix.fr/&quot;&gt;&lt;img alt=&quot;Evolix&quot; src=&quot;http://fr2012.mini.debconf.org/logos/logo_evolix.png&quot; /&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;
      &lt;a href=&quot;http://www.irill.org&quot;&gt;&lt;img alt=&quot;IRILL&quot; src=&quot;http://fr2012.mini.debconf.org/logos/logo_irill.png&quot; /&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://sylvestre.ledru.info/blog/2012/12/12/minidebconf_2012&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<link>http://sylvestre.ledru.info/blog/2012/12/12/minidebconf_2012</link>
							</item>
				<item>
			<title>Mini Debconf &#38; merchandising</title>
						<description>&lt;p&gt;Next week end, November 24th and 25th, the mini Debconf will take place at EPITA in Paris.&lt;/p&gt;

&lt;p&gt;Mehdi Dogguy and I worked hard on the organization and on building a &lt;a href=&quot;http://fr2012.mini.debconf.org/#schedule&quot;&gt;great program&lt;/a&gt; for this 2012 conference. This mini debconf will cover many subjects like Gnome (both as upstream and downstream), the Release team, how the Linux is packaged in Debian, etc.&lt;br /&gt;
The keynote will be &quot;Free software and Debian, 20 years after&quot; by &lt;a href=&quot;http://www.dicosmo.org/&quot;&gt;Roberto Di Cosmo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Also, some merchandising will be proposed during the event by the association Debian France. Here is a quick list:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Polos&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://sylvestre.ledru.info/blog/media/5/img_7232.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://sylvestre.ledru.info/blog/media/5/IMG_7232_thumb.jpg&quot; alt=&quot;long-sleeved polo&quot; /&gt;&lt;br /&gt;Long-sleeved polo&lt;/a&gt;&lt;br /&gt;
40 euros - 10 pieces&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;a href=&quot;http://sylvestre.ledru.info/blog/media/5/img_7248.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://sylvestre.ledru.info/blog/media/5/IMG_7248_thumb.jpg&quot; alt=&quot;Sleeveless polo&quot; /&gt;&lt;br /&gt;Sleeveless polo&lt;/a&gt;&lt;br /&gt;
25 euros - 100 pieces &lt;/p&gt;

&lt;p&gt;Thanks to &lt;a href=&quot;http://tanguy.ortolo.eu/&quot;&gt;Tanguy Ortolo&lt;/a&gt; for taking take of the order.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Buff&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://sylvestre.ledru.info/blog/media/5/buff-debian.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://sylvestre.ledru.info/blog/media/5/buff-debian_thumb.jpg&quot; alt=&quot;Buff Debian&quot; /&gt;&lt;br /&gt;Buff Debian&lt;/a&gt;&lt;br /&gt;
18 euros - 75 pieces.&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;It is described as &lt;i&gt;Original Multifunctional Headwear&lt;/i&gt;. &lt;a href=&quot;http://www.youtube.com/watch?v=ewVEK-AElDY&quot;&gt;Real life example in video&lt;/a&gt;.&lt;br /&gt;
I love them!&lt;/p&gt;

&lt;p&gt;Finally, we will sell two kinds of &lt;i&gt;Debian branded Sticker Portable&lt;/i&gt;:&lt;br /&gt;
&lt;a href=&quot;http://sylvestre.ledru.info/blog/media/5/sticker.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://sylvestre.ledru.info/blog/media/5/sticker_thumb.jpg&quot; alt=&quot;Sticker Debian&quot; /&gt;&lt;br /&gt;Sticker Debian&lt;/a&gt;&lt;br /&gt;
1 euro - 100 pieces.&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;They can be also ordered on the &lt;a href=&quot;http://www.it2l.com/sticker-portable-powered-debian-argent-p-929.html?osCsid=6f9917a2817b602cb2c4145deb860d0b
&quot;&gt;it2l&lt;/a&gt; &lt;a href=&quot;http://www.it2l.com/sticker-portable-powered-debian-p-953.html?osCsid=6f9917a2817b602cb2c4145deb860d0b
&quot;&gt;website&lt;/a&gt;. Thanks to &lt;a href=&quot;http://www.it2l.com/&quot;&gt;Jérôme Lemaire&lt;/a&gt; for providing these great products.&lt;/p&gt;

&lt;p&gt;If these products are successful, we will probably produce more for FOSDEM!&lt;/p&gt;

&lt;p&gt;For more information about the conference:&lt;br /&gt;
&lt;a href=&quot;http://fr2012.mini.debconf.org/&quot;&gt;The official website&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://wiki.debconf.org/wiki/Miniconf-Paris/2012&quot;&gt;Wiki page for subscription&lt;/a&gt;&lt;/p&gt;

&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://sylvestre.ledru.info/blog/2012/11/17/mini_debconf_aamp_merchandising&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<link>http://sylvestre.ledru.info/blog/2012/11/17/mini_debconf_aamp_merchandising</link>
							</item>
				<item>
			<title>libc++: New C++ standard library in Debian</title>
						<description>&lt;p&gt;Thanks to the work of Andrej Belym, Debian has now a new C++ standard library. This work has been done in the context of the Google Summer of Code 2012. &lt;br /&gt;
Available in &lt;a href=&quot;http://packages.debian.org/source/experimental/libc++&quot;&gt;Debian Experimental&lt;/a&gt;, this new packages provides both the runtime libraries (&lt;a href=&quot;http://packages.debian.org/experimental/libc++abi1&quot;&gt;libc++abi1&lt;/a&gt;) and the C++ headers (&lt;a href=&quot;http://packages.debian.org/experimental/libc++-dev&quot;&gt;libc++-dev&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;With this library, it is possible to build a C++-based program without any dependency on libstdc++.&lt;/p&gt;

&lt;p&gt;For example, as detailed in README.Debian, with the (amazing) C++ code:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;// foo.cpp&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;/p&gt;

&lt;p&gt;int main() {&lt;br /&gt;
    std::cout &amp;lt; &amp;lt; &quot;plop&quot; &amp;lt;&amp;lt; std ::endl;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;/ std&gt;&lt;/p&gt;
&lt;/blockquote&gt;with clang++ (or g++) will give:
&lt;blockquote&gt;
&lt;p&gt;$ clang++ -o plop foo.cpp&lt;br /&gt;
$ ldd plop |grep c++&lt;br /&gt;
	&lt;b&gt;libstdc++.so.6&lt;/b&gt; =&amp;gt; /usr/lib/x86_64-linux-gnu/&lt;b&gt;libstdc++.so.6&lt;/b&gt; (0x00007f15791cb000)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Using libc++, it will drop the dependency on libstdc++ to use lib++&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;$ clang++ -stdlib=libc++ -o plop foo.cpp&lt;br /&gt;
$ ldd plop |grep c++&lt;br /&gt;
	&lt;b&gt;libc++.so.1&lt;/b&gt; =&amp;gt; /usr/lib/x86_64-linux-gnu/&lt;b&gt;libc++.so.1&lt;/b&gt; (0x00007f87464df000)&lt;/p&gt;
&lt;/blockquote&gt;


&lt;p&gt;For the record, it is not that trivial to do with g++. The command being:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt; g++ -nostdlib -lc++ -lc++abi -std=c++11 -o plop /usr/lib/x86_64-linux-gnu/crt1.o /usr/lib/x86_64-linux-gnu/crti.o  foo.cpp /usr/lib/x86_64-linux-gnu/crtn.o -isystem/usr/include/c++/v1 -lc -lgcc_s&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Besides this change, libc++ provides a support of C++ 11, considered as &quot;correct&quot; against the C++11 standard by upstream.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;// bar.cpp&lt;br /&gt;
#include &amp;lt;chrono&amp;gt;&lt;br /&gt;
int main() {&lt;br /&gt;
return 0; &lt;br /&gt;
}&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt; clang++ -stdlib=libc++ -o bar bar.cpp&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;More information:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://libcxx.llvm.org/&quot;&gt;libc++ website&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://libcxxabi.llvm.org/&quot;&gt;libc++abi website&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://libcxxabi.llvm.org/spec.html&quot;&gt;libc++abi Specification&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://sylvestre.ledru.info/blog/2012/08/15/libc_new_c_standard_library_in_debian&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<link>http://sylvestre.ledru.info/blog/2012/08/15/libc_new_c_standard_library_in_debian</link>
							</item>
			</channel>
</rss>
