<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://cyring.free.fr/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://cyring.free.fr/index.php?action=history&amp;feed=atom&amp;title=ArchLinux%3AARM%3AProgramming</id>
		<title>ArchLinux:ARM:Programming - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://cyring.free.fr/index.php?action=history&amp;feed=atom&amp;title=ArchLinux%3AARM%3AProgramming"/>
		<link rel="alternate" type="text/html" href="http://cyring.free.fr/index.php?title=ArchLinux:ARM:Programming&amp;action=history"/>
		<updated>2026-05-02T20:28:29Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.16.5</generator>

	<entry>
		<id>http://cyring.free.fr/index.php?title=ArchLinux:ARM:Programming&amp;diff=658&amp;oldid=prev</id>
		<title>Cyril: /* Source code */</title>
		<link rel="alternate" type="text/html" href="http://cyring.free.fr/index.php?title=ArchLinux:ARM:Programming&amp;diff=658&amp;oldid=prev"/>
				<updated>2012-12-26T10:05:36Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Source code&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 10:05, 26 December 2012&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 132:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 132:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* using the vfp coprocessor&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* using the vfp coprocessor&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;fcalc5.c :&amp;nbsp; [http://code.cyring.fr/FTS/Source/ASM/fcalc5.c download] [http://code.cyring.fr/FTS/?PATH=Source/ASM/fcalc5.c view]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;fcalc5.c :&amp;nbsp; [http://code.cyring.fr/FTS/Source/ASM/fcalc5.c download] [http://code.cyring.fr/FTS/?PATH=Source/ASM/fcalc5.c view]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;* mixed vector and scalar calculus&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;vcalc1-1.c :&amp;nbsp; [http://code.cyring.fr/FTS/Source/ASM/vcalc1-1.c download] [http://code.cyring.fr/FTS/?PATH=Source/ASM/vcalc1-1.c view]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cyril</name></author>	</entry>

	<entry>
		<id>http://cyring.free.fr/index.php?title=ArchLinux:ARM:Programming&amp;diff=652&amp;oldid=prev</id>
		<title>Cyril: /* Source code */</title>
		<link rel="alternate" type="text/html" href="http://cyring.free.fr/index.php?title=ArchLinux:ARM:Programming&amp;diff=652&amp;oldid=prev"/>
				<updated>2012-12-17T11:29:19Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Source code&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 11:29, 17 December 2012&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 130:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 130:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* with ASM inline into C code, and selected registers&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* with ASM inline into C code, and selected registers&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;fcalc3.c : [http://code.cyring.fr/FTS/Source/ASM/fcalc3.c download] [http://code.cyring.fr/FTS/?PATH=Source/ASM/fcalc3.c view]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;fcalc3.c : [http://code.cyring.fr/FTS/Source/ASM/fcalc3.c download] [http://code.cyring.fr/FTS/?PATH=Source/ASM/fcalc3.c view]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;* using the vfp coprocessor&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;fcalc5.c :&amp;nbsp; [http://code.cyring.fr/FTS/Source/ASM/fcalc5.c download] [http://code.cyring.fr/FTS/?PATH=Source/ASM/fcalc5.c view]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cyril</name></author>	</entry>

	<entry>
		<id>http://cyring.free.fr/index.php?title=ArchLinux:ARM:Programming&amp;diff=645&amp;oldid=prev</id>
		<title>Cyril: Page créée avec « == Programming == === Cross-compiling === ==== Setup ==== ===== x86_64 &lt;SERVER&gt; ===== &lt;pre&gt; $ yaourt -S arm-linux-gnueabi-gcc arm-linux-gnueabi-binutils arm-linux-gnueabi-... »</title>
		<link rel="alternate" type="text/html" href="http://cyring.free.fr/index.php?title=ArchLinux:ARM:Programming&amp;diff=645&amp;oldid=prev"/>
				<updated>2012-12-12T17:53:58Z</updated>
		
		<summary type="html">&lt;p&gt;Page créée avec « == Programming == === Cross-compiling === ==== Setup ==== ===== x86_64 &amp;lt;SERVER&amp;gt; ===== &amp;lt;pre&amp;gt; $ yaourt -S arm-linux-gnueabi-gcc arm-linux-gnueabi-binutils arm-linux-gnueabi-... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Programming ==&lt;br /&gt;
=== Cross-compiling ===&lt;br /&gt;
==== Setup ====&lt;br /&gt;
===== x86_64 &amp;lt;SERVER&amp;gt; =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ yaourt -S arm-linux-gnueabi-gcc arm-linux-gnueabi-binutils arm-linux-gnueabi-eglibc&lt;br /&gt;
&lt;br /&gt;
---PKGBUILD (eglibc)---&lt;br /&gt;
build() {&lt;br /&gt;
...&lt;br /&gt;
  export CFLAGS=&amp;quot;${CFLAGS} -U_FORTIFY_SOURCE  -mlittle-endian -mhard-float -O2&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
}&lt;br /&gt;
---PKGBUILD---&lt;br /&gt;
&lt;br /&gt;
---PKGBUILD (gcc)---&lt;br /&gt;
build() {&lt;br /&gt;
...&lt;br /&gt;
        --disable-softfloat \&lt;br /&gt;
        --with-float=hard \&lt;br /&gt;
...&lt;br /&gt;
}&lt;br /&gt;
---PKGBUILD---&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Usage ====&lt;br /&gt;
===== x86_64 &amp;lt;SERVER&amp;gt; =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export CC=&amp;quot;arm-linux-gnueabi-gcc&amp;quot;&lt;br /&gt;
$ export LD=&amp;quot;arm-linux-gnueabi-ld&amp;quot;&lt;br /&gt;
$ export CXX=&amp;quot;arm-linux-gnueabi-g++&amp;quot;&lt;br /&gt;
$ export AR=&amp;quot;arm-linux-gnueabi-ar&amp;quot;&lt;br /&gt;
$ export AS=&amp;quot;arm-linux-gnueabi-as&amp;quot;&lt;br /&gt;
$ export LINK=&amp;quot;g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$ makepkg -A --config arm-makepkg.conf&lt;br /&gt;
&lt;br /&gt;
$ scp package-armv6h.pkg.tar.xz &amp;lt;login&amp;gt;@RasPi:~/tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* arm-makepkg.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CARCH=&amp;quot;armv6h&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;armv6l-unknown-linux-gnueabihf&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-march=armv6 -mfloat-abi=hard -mfpu=vfp -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2&amp;quot;&lt;br /&gt;
CXXFLAGS=&amp;quot;-march=armv6 -mfloat-abi=hard -mfpu=vfp -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2&amp;quot;&lt;br /&gt;
LDFLAGS=&amp;quot;&amp;quot;&lt;br /&gt;
MAKEFLAGS=&amp;quot;-j9&amp;quot;&lt;br /&gt;
BUILDENV=(fakeroot !distcc color !ccache check !sign)&lt;br /&gt;
DISTCC_HOSTS=&amp;quot;&amp;quot;&lt;br /&gt;
OPTIONS=(!strip docs libtool emptydirs zipman purge !upx)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ARM &amp;lt;TARGET&amp;gt; =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ yaourt -U ~/tmp/package-armv6h.pkg.tar.xz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Distributed compilation [DRAFT] ===&lt;br /&gt;
==== ARM &amp;lt;MASTER&amp;gt; ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# pacman -S base-devel distcc&lt;br /&gt;
# pacman -S gdb ddd&lt;br /&gt;
&lt;br /&gt;
# nano /etc/makepkg.conf&lt;br /&gt;
# nano /etc/distcc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===== /etc/makepkg.conf =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CARCH=&amp;quot;armv6h&amp;quot;&lt;br /&gt;
CHOST=&amp;quot;armv6l-unknown-linux-gnueabihf&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-march=armv6 -mfloat-abi=hard -mfpu=vfp -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -$&lt;br /&gt;
CXXFLAGS=&amp;quot;-march=armv6 -mfloat-abi=hard -mfpu=vfp -O2 -pipe -fstack-protector --param=ssp-buffer-size=4$&lt;br /&gt;
LDFLAGS=&amp;quot;&amp;quot;&lt;br /&gt;
MAKEFLAGS=&amp;quot;-j3&amp;quot;&lt;br /&gt;
BUILDENV=(fakeroot distcc color !ccache check !sign)&lt;br /&gt;
DISTCC_HOSTS=&amp;quot;&amp;lt;SERVER&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== /etc/distcc/hosts =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SERVER&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== x86_64 &amp;lt;SERVER&amp;gt; ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# pacman -S distcc&lt;br /&gt;
&lt;br /&gt;
# nano /etc/makepkg.conf&lt;br /&gt;
# nano /etc/conf.d/distccd&lt;br /&gt;
# nano /etc/hosts.allow&lt;br /&gt;
&lt;br /&gt;
# systemctl enable distccd&lt;br /&gt;
# systemctl start distccd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===== /etc/makepkg.conf =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MAKEFLAGS=&amp;quot;-j9&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===== /etc/conf.d/distccd =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DISTCC_ARGS=&amp;quot;--user nobody --allow 192.168.1.0/24&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== /etc/hosts.allow =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
distccd:192.168.1.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sample ===&lt;br /&gt;
==== Calculator ====&lt;br /&gt;
===== cross compile =====&lt;br /&gt;
http://blog.cyring.fr/wp-content/uploads/2012/11/ddd-ARM_001-300x239.png&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd&lt;br /&gt;
$ nano src/fcalc.c&lt;br /&gt;
&lt;br /&gt;
$ export DISTCC_VERBOSE=1&lt;br /&gt;
$ export DISTCC_HOSTS='&amp;lt;SERVER&amp;gt;'&lt;br /&gt;
&lt;br /&gt;
$ distcc arm-linux-gnueabi-gcc -g -c src/fcalc.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== debug =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ddd bin/fcalc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===== Source code =====&lt;br /&gt;
* C only, no ASM&lt;br /&gt;
fcalc.c : [http://code.cyring.fr/FTS/Source/C/fcalc.c download] [http://code.cyring.fr/FTS/?PATH=Source/C/fcalc.c view]&lt;br /&gt;
* with ASM inline into C code&lt;br /&gt;
fcalc2.c : [http://code.cyring.fr/FTS/Source/ASM/fcalc2.c download] [http://code.cyring.fr/FTS/?PATH=Source/ASM/fcalc2.c view]&lt;br /&gt;
* with ASM inline into C code, and selected registers&lt;br /&gt;
fcalc3.c : [http://code.cyring.fr/FTS/Source/ASM/fcalc3.c download] [http://code.cyring.fr/FTS/?PATH=Source/ASM/fcalc3.c view]&lt;/div&gt;</summary>
		<author><name>Cyril</name></author>	</entry>

	</feed>