Hi all,

Well, my experiments with loongson have proven fruitful, except for the
need of a web browser.  Part of this is due to the webkit browsers
needing the libav gstreamer plug-in.

Now, this fails to build because of the assembler not recognising some
op codes generated by gcc.  I found I got a little further in the build
using the `gcc4` package, but it still failed to compile, failing with
an "unrecognized opcode ldx" error message.

The offending file:
…/gst-libav-1.8.2/gst-libs/ext/libav/libavfilter/avfilter.o is a pure C
file.  I've checked with `gcc -E`, there's no inline asm.  So it's the C
compiler that's generating those op codes.

gcc is version 4.9.3, which is fairly recent.
binutils is version 2.17, released about 10 years ago.

Thus I'm starting to look at binutils, and assessing the feasibility of
bumping it up to something contemporary.

I've located OpenBSD's binutils, two copies in fact.

- http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/gnu/usr.bin/binutils/
- http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/gnu/usr.bin/binutils-2.17/

I initially tried extracting the latter out as patches from the git
mirror and tried applying those to a git checkout of binutils from 2.17,
with a view to re-basing the patch set on a newer release.

Suffice to say, this did not get far … it could be I'm picking up some
noise in other parts of the converted CVS tree in my patches, or maybe
something was lost in translation… previous discussion on this list has
cast doubt over the reliability of the git mirror in relation to
'ports', and perhaps 'src' suffers the same issues.

It appears that both binutils/ and binutils-2.17/ are patched.  I'm not
sure which one built the binutils on Loongson.

I'm in the process of doing a CVS checkout now… I'll look into seeing if
I can get a cross-compiling toolchain to build from those sources in a
moment, as that might answer which 'binutils' I'm supposed to use.

A few queries though:
- Is there a reason why we seem to have two binutils source trees?
- I understand that part of the reason for sticking with 2.17 is
licensing.  Is there something that OpenBSD is doing that would violate
this?
- What are the future plans for the toolchain?  Is there a plan to keep
with a forked binutils-2.17 forever, move to a newer binutils, or ditch
it for something else?
-- 
Stuart Longland (aka Redhatter, VK4MSL)

I haven't lost my mind...
  ...it's backed up on a tape somewhere.

Reply via email to