On Mon, 7 Feb 2011 17:18:40 +0200 Ira Rosen ira.rosen@linaro.org wrote:
Hi,
I'd like to check vzip/vuzp patch in big endian mode. But when I try to compile with -mbig-endian flag, I get
~/mainline/bin/bin/gcc -O3 -mfloat-abi=softfp -mfpu=neon neon-vtrnu8.c -mbig-endian
/home/irar/mainline/bin/lib/gcc/armv7l-unknown-linux-gnueabi/4.6.0/../../../libgcc_s.so.1: could not read symbols: File in wrong format collect2: ld returned 1 exit status
What am I missing?
Building for big-endian ARM is Really Hard (IMO) :-). You can't intermix little-endian and big-endian objects at all, so you either need an entirely-big-endian compiler, or to build one with little-endian/big-endian switchable multilibs.
I've attached a little patch which adds hardwired big-endian multilib configs for ARM EABI and ARM Linux -- though I'm pretty sure I only got one of those working, and I don't remember which. Using it outside CodeSourcery's build environment is probably also non-trivial.
Once it works you should be able to build binaries for either little-endian (default) or big-endian (by adding -mbig-endian). You'll need a big-endian Newlib/GLIBC/etc. as well... but maybe this is useful as a starting point.
Anyway, hope that helps a bit...
Julian