<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="bbPress/1.0.2" -->
<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">
	<channel>
		<title>LeafLabs Garden &#187; Topic: g++ compiler error - thumb2 multilib</title>
		<link>http://forums.leaflabs.com/topic.php?id=2271</link>
		<description>A place to share, learn, and grow...</description>
		<language>en-US</language>
		<pubDate>Fri, 22 Jan 2016 00:08:22 +0000</pubDate>
		<generator>http://bbpress.org/?v=1.0.2</generator>
		<textInput>
			<title><![CDATA[Search]]></title>
			<description><![CDATA[Search all topics from these forums.]]></description>
			<name>q</name>
			<link>http://forums.leaflabs.com/search.php</link>
		</textInput>
		<atom:link href="http://forums.leaflabs.com/rss.php?topic=2271" rel="self" type="application/rss+xml" />

		<item>
			<title>gbulmer on "g++ compiler error - thumb2 multilib"</title>
			<link>http://forums.leaflabs.com/topic.php?id=2271#post-11988</link>
			<pubDate>Wed, 25 Jul 2012 06:56:30 +0000</pubDate>
			<dc:creator>gbulmer</dc:creator>
			<guid isPermaLink="false">11988@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;JL2010 - The size difference could be caused by several sources:&#60;br /&#62;
1. Different version of the compiler generate different code - I did notice a gcc 'size' regression message a few months ago.&#60;br /&#62;
2. There is something different in the build process for the libraries, and they are the cause of differences.&#60;br /&#62;
3. A flag is interpreted differently between two versions of the compiler - for example, IIRC 4.7 uses 'Whole program linking', which may make the difference.&#60;br /&#62;
4. The way the size is reported is misleading, and it is not so big a difference.&#60;/p&#62;
&#60;p&#62;How critical is the difference?&#60;/p&#62;
&#60;p&#62;You could check 1. by comparing the object files generated for your program (before linking) by the two compilers. &#60;/p&#62;
&#60;p&#62;&#60;code&#62;diff&#60;/code&#62; will tell you if they files are different. If they are the same, it is not 1.&#60;/p&#62;
&#60;p&#62;If they are different, it may account for all the difference or only a small part, i.e. the explanation is 1 plus some other causes.&#60;/p&#62;
&#60;p&#62;When the object files are different, it would then be easier to compare them using &#60;code&#62;objdump&#60;/code&#62; (which is documented in binutils). objdump will disassemble object files into a readable assembler source files.&#60;br /&#62;
&#60;code&#62;diff&#60;/code&#62; will identify differences between the assembler source, and something like 'grep' or 'grep -v' will let you trim out non-code stuff to see the code differences. With such a large difference, 6,488Bytes, it should be clear if there is a lot of extra lines in one file of assembler source.&#60;/p&#62;
&#60;p&#62;If this doesn't explain the difference, try diff and objdump on the whole program.&#60;/p&#62;
&#60;p&#62;(Full disclosure: I am not a member of LeafLabs staff.)
&#60;/p&#62;</description>
		</item>
		<item>
			<title>JL2010 on "g++ compiler error - thumb2 multilib"</title>
			<link>http://forums.leaflabs.com/topic.php?id=2271#post-11981</link>
			<pubDate>Wed, 25 Jul 2012 01:04:27 +0000</pubDate>
			<dc:creator>JL2010</dc:creator>
			<guid isPermaLink="false">11981@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Scratch that.  I downloaded the tool chain again and replaced the entire tool chain directory with the new one.  It works!  Must be an issue with the tool chain that was checked in to our repository...&#60;/p&#62;
&#60;p&#62;HOWEVER! Question #2:&#60;/p&#62;
&#60;p&#62;The output from my Mac:&#60;/p&#62;
&#60;p&#62;text: 22440  data: 2296  bss: 168  dec: 24904&#60;/p&#62;
&#60;p&#62;On my linux machine:&#60;/p&#62;
&#60;p&#62;text: 28928  data: 2296  bss: 168  dec: 31392&#60;/p&#62;
&#60;p&#62;Any ideas why there's such a code size difference?  They are being built using the same build process with the same flags...
&#60;/p&#62;</description>
		</item>
		<item>
			<title>JL2010 on "g++ compiler error - thumb2 multilib"</title>
			<link>http://forums.leaflabs.com/topic.php?id=2271#post-11979</link>
			<pubDate>Wed, 25 Jul 2012 00:30:39 +0000</pubDate>
			<dc:creator>JL2010</dc:creator>
			<guid isPermaLink="false">11979@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;I'm currently using a hacked up build system to build libmaple and target an STM32F1xx medium density chip.  All of this works great on my Macbook but I recently made the switch to an Ubuntu 64-bit desktop.  After installing the ia32-libs, I was able to run the tool chain binaries downloaded from the Unix Tool Chain set-up guide.&#60;/p&#62;
&#60;p&#62;However, when calling the linker [LD], it throws this error:&#60;/p&#62;
&#60;p&#62;&#60;code&#62;arm-none-eabi-g++: selected multilib &#38;#39;thumb2&#38;#39; not installed&#60;/code&#62;&#60;/p&#62;
&#60;p&#62;I'm not exactly sure what to make of it.  I know what some are going to tell me: &#34;But there's now support for the STM32F value line! Just check out the latest on github!&#34; - well... I'm kind of neck deep in a project now and I can't make the switch as of now.  If I were starting fresh, then yes definitely.  Either way, I'm not sure if it's a problem with my modified build system (which works flawlessly on my Mac) or if it's because I'm trying to run these 32-bit compiler binaries in a 64-bit environment.&#60;/p&#62;
&#60;p&#62;Any help would be appreciated!  Thank you.
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
