3.8.2010 16:51, Timo Jyrinki kirjoitti:
2010/6/28 Jan-Simon Möller<[email protected]>:
me...@[meego-netbook-sdk]::~$ /opt/cross/bin/armv7l-meego-linux-gnueabi-gcc
-c test.c as: unrecognized option '-meabi=5'

me...@[meego-netbook-sdk]::~$ /opt/cross/bin/armv7l-meego-linux-gnueabi-gcc
-print-prog-name=as as

ok, what happens if you do AS=/opt/cross/bin/armv7l-meego-linux-gnueabi-as
LD=/opt/cross/bin/armv7l-meego-linux-gnueabi-ld  gcc ..

I have identical output for both commands also when using those extra
variables. And tested both when using cross-armv7-* packages from 1.0
and trunk in Ubuntu 10.04 i386 chroot (helped with alien) and when
installing those packages inside MeeGo SDK chroot with zypper and
trying to compile after that. Just trying hello world. The host system
itself is 64-bit Ubuntu.

This problem is like having no gasoline in a normal car. The user looks
inside the hood and sees the battery, tries to "start" but the engine
doesn't purr long... A GCC user looks at the $prefix/bin, sees the
$target-<tools> there and starts the compiler, neither it purrs long :(
In both cases there is a horrible mistake!  What the user sees near the
engine or the GCC user sees near the "GCC binaries", really isn't what
the engine or GCC requires. But both users are still expected to be
able to check whether there is gasoline for the engine or binutils for
GCC !

This one is worth a bugreport. Please assign it to me -
[email protected].

Was this filed? Cannot find in bugs.meego.com but maybe I just don't
what to search for.

As you can guess the answer to the question: "Where the binutils for
a cross GCC should be?" tells what is wrong... There aren't any binutils
installed for the the cross GCC in the i586-meego-linux hosted
crosstoolchains!  The binutils like 'armv7l-meego-linux-gnueabi-as' and
'armv7l-meego-linux-gnueabi-ld' for the human user is there but no bare
name copies/links/symlinks, 'as' and 'ld', of them for the GCC where
GCC expects them to be :(

Furthermore there are other issues like the 'libgcc.a's being broken
and the "only for i586-meego-linux host" attitude, older x86 hosts
with glibc-2.3 - 2.10 cannot run the provided binaries... Therefore
I myself made my own crosstoolchains from pristine FSF sources, binutils-2.20.51, gcc-4.4.4, gcc-4.5.0 and yesterday gcc-4.5.1 for
the 'armv7l' variation (using '--with-cpu=cortex-a8' for a better
tuning for N900).  The original MeeGo/ARM glibcs, libcurses, X11-libs
etc. were though used, no rebuilds for them until seen broken - "Don't
fix it if it ain't broken"... The binutils and GCC components were
broken, so I fixed them. Making optimized libraries for cortex-a8 may
wait...

The MADDE or something Scratchbox-derived crosstoolchain then seem
to be quite OK, not tuned for ARM/Cortex-A8 being the default CPU
target of course... Somehow one has used to see developers going up
the walls if their toolchain produces not-optimized code, the prebuilt
libraries are not-optimized for the target CPU etc. Weird that nobody
has nagged about this yet...
_______________________________________________
MeeGo-dev mailing list
[email protected]
http://lists.meego.com/listinfo/meego-dev

Reply via email to