https://bugzilla.novell.com/show_bug.cgi?id=767294
https://bugzilla.novell.com/show_bug.cgi?id=767294#c15
Volker Kuhlmann changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|Normal |Major
--- Comment #15 from Volker Kuhlmann 2013-09-06 01:03:58 NZST ---
Sorry for the joker, but I had to laugh! And I hadn't noticed that it seems to
be derived from the normal binutils, plus I was getting frustrated, because
after having put a lot of effort into this some while back nothing seemed to be
happening in the forward direction.
Looking at the package source, the avr-binutils in the OSS repo has a large
number of patches applied by SUSE, with at least 2 being specifically for AVR.
Otherwise it seems to be the standard x86/x64_64 package source. If someone
moved forward and also compiled an AVR version from that, splendid! Less to
maintain twice. However avr-libc and avr-gcc must move installation prefix with
it, because those 3 packages are not really independent.
The binutils in the AVR repo is from vanilla source. Yes the AVR version just
uses different compile options than the x86 version, same as for gcc.
I mean these repos:
http://download.opensuse.org/distribution/12.3/repo/oss/
http://download.opensuse.org/repositories/CrossToolchain:/avr/openSUSE_12.3/
I already did the work of compiling gcc for /usr a long time ago, but had to
stop when I found that it can't be installed in a different place than the
corresponding binutils, and in the case of AVR, also libc. It's a matter of
changing a define in the spec.
Jürgen I was never advocating to merge the avr-gcc source package with the gcc
(for x86 ...) one, too much trouble, and not at all necessary. Call the package
avr-gcc, but change the install-prefix to /usr. Do the same for everything else
in the AVR repo. It is of course fine to keep the repo.
As for gcc versions, the reason beginners are stuck with 4.3.3 is that the
Arduino people are stuck with it, because they're no compiler people and don't
want to touch it, or so I've read. I don't know whether Jörg Wunsch is really
so set on 4.3.3. In any case the AVR gcc target is maintained by Johann, and he
feeds it into the upstream gcc sources. A long time ago he clearly recommended
4.7 simply because it has the most bug fixes and the best optimisations. I
haven't checked whether the 4.3.3 int he AVR repo is vanilla, but I really
doubt Johann has any interest whatsoever into backporting, he fixes thigns in
the current versions and can't keep up there as it is. I haven't found a real
reason for 4.3.3 yet other than it being the reference from the arduino IDE.
Because I found avr-gcc 4.3.3 unsatisfactory from my point of view I wanted to
test the other versions in comparison, so I made this elaborate spec file where
I just need to change some numbers to compile a different version. And I
definitely wanted to test LTO. Johann says it's not really recommended for AVR,
but I found it works for my app. I have just compiled with 4.8.1, and with LTO
code size is down almost 10% - but I haven't run it yet. The 4.6.4 and 4.7.3
linker bombs with LTO on my arduino app (but worked fine with binutils-2.19),
so it's an option to look at if it works.
And now the really good news: all my gcc packages can be installed in parallel!
So keep 4.3.3 in the package named avr-gcc. The other versions have different
package names.
Package naming policy is to call a package avr-gcc when the main component in
it is called avr-gcc, or so I understand. Calling it something else is very
irritating, to put it politely. You don't want to knwo how many times I've been
swearing tonight because rpm -q avr-binutils didn't do. All the programs are
called avr-XXX. The same goes for cross-arm-gcc. I couldn't care less about
historic when it's a PITA each time I use it today. Fix all of them and you
have consistency again...
I have updated the spec files and the run script I added, I'll put them up
tomorrow after some sleep. I stopped using 4.3.3 years ago, the arduino IDE
works fine with the other versiosn too, if one uses my run script - though the
newer IDEs have their own compiler integrated (binary from arduino.cc).
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.