Pandora Crosscompiler Toolchain Based On Openpandora.org Ipks


Can work.


But from what i've read, using it all the time is bad because you can't predict the binary code quality.
 
well im just going by my experiences with thing I ported years ago for the gp2x, i never used -Os that i can recall. Going from nothing to using -fomit-frame-pointer did have a noticeable effect.



Code:
			-Os			Optimize for size. -Os enables all -O2 optimizations that do not typically increase code size. It also performs further optimizations designed to reduce code size.		

-Os disables the following optimization flags:		          -falign-functions  -falign-jumps  -falign-loops           -falign-labels  -freorder-blocks  -freorder-blocks-and-partition           -fprefetch-loop-arrays  -ftree-vect-loop-version

Based on that i would wonder if you saw the same jump from -O2 to -O3


Of course all of this is really dependent on the code being compiled, for example your sparrow library does operations that most applications are not trying to do.
 
Oh, okay, I thought you speak about the difference -Os and -O3. :)


I never tried to activate just some optimizations. Only unsave optimization, even not enabled in -O3, I activate particular.
 
For what it's worth, in my experience -O3 also behaved somewhat (aka 10-20%) faster than -Os (and -Os faster than -O2) on the Pandora, though sometimes I found code to be slightly more unstable (especially in combination with -ffast-math).
 
Last edited by a moderator:
Quick question (and I realise that if I have to ask this question it probably means that I shouldn't even be trying to use this toolchain) :)


I have gone through all the steps in you first post and it seems to have worked fine with no errors, but how do you actually start using it. :unsure:


I'm trying to compile ENIGMA for the pandora and am hoping this toolchain might help me do so. I assume I can't just open up any terminal window and compile it using 'make' I have to sort of be in the toolchain environment.


Sorry is this makes no sense and is a stupid question (I realise I am out of my depth) :D


CJ
 
For what it's worth, in my experience -O3 also behaved somewhat (aka 10-20%) faster than -Os (and -Os faster than -O2) on the Pandora, though sometimes I found code to be slightly more unstable (especially in combination with -ffast-math).
I think loop unrolling is still quite effective on ARM (and -Os turns that off).
 
Does not make sense since this toolchain is supposed to offer exactly what you also get on the pandora, which is *not* this more recent Qt version but still the ancient one.
Exactly for that reason the toolchain should provide Qt tools for the version pandora has. I have the tools for recent versions, but not the ancient one I need to use this toolchain.
Ah right, this somehow makes sense. There is just a tiny problem: I would have to create static binaries which might be rather large. And I'd have to upload those somewhere and got no webspace of my own (okay, I could probably use the pandora git for this stuff). Though the main problem is the creation of the completely static binaries.
 
Does not make sense since this toolchain is supposed to offer exactly what you also get on the pandora, which is *not* this more recent Qt version but still the ancient one.
Exactly for that reason the toolchain should provide Qt tools for the version pandora has. I have the tools for recent versions, but not the ancient one I need to use this toolchain.
Ah right, this somehow makes sense. There is just a tiny problem: I would have to create static binaries which might be rather large. And I'd have to upload those somewhere and got no webspace of my own (okay, I could probably use the pandora git for this stuff). Though the main problem is the creation of the completely static binaries.

Just ask ED, I think he offers webspace for pandorarelated stuff :)
 
Last edited by a moderator:
Ah right, this somehow makes sense. There is just a tiny problem: I would have to create static binaries which might be rather large. And I'd have to upload those somewhere and got no webspace of my own (okay, I could probably use the pandora git for this stuff). Though the main problem is the creation of the completely static binaries.

I recently switched my project to Qt 4.7 (will include libs in PND again...) for other reasons, so I'm using sebt's standalone Qt build. So no hurry for this from my perspective. But if someone wants to build Qt stuff with this toolchain that works with pandora's libraries, these would still be needed.
 
I'm installing CS arm-2011.09-70-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 like in your script, but I'm getting at link time :



Code:
/usr/local/angstrom/arm-2011.09/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find /lib/libc.so.6

/usr/local/angstrom/arm-2011.09/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find /usr/lib/libc_nonshared.a

/usr/local/angstrom/arm-2011.09/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find /lib/ld-linux.so.3

Any idea/fix ?
 
openpandora_toolchain.sh works with minimal changes on Cygwin/Win7, btw. Didn't try to compile anything yet, but the toolchain installer completes without errors. I'll write something up later on if anyone is interested.


Just a handfull of changes in the script itself: Replace TOOLCHAIN_URL and the other variables for Windows release, and the wget call needs an --no-check-certificate.


Cygwin does not have a gpgme package, which is a prerequisite for building opkg. I have a quite complete Cygwin installation, but had to add things like pkg-config, ncurses, libgpg-error-devel, ond some other fairly obvious small suff. After building libassuan and gpgme with default settings, the newly compiled opkg binary threw some library error, and I had to run an rebaseall to get rid of that.
 
For what it's worth, in my experience -O3 also behaved somewhat (aka 10-20%) faster than -Os (and -Os faster than -O2) on the Pandora, though sometimes I found code to be slightly more unstable (especially in combination with -ffast-math).
I think loop unrolling is still quite effective on ARM (and -Os turns that off).

loop unrolling being enabled made the difference of making the game Fachoda-Complex I ported over working at a decent speed and not..
 
Last edited by a moderator:
I tried to install the sdk but I ge this output:



Code:
configure: error: pkg-config and glib-2.0 not found, please set GLIB_CFLAGS and GLIB_LIBS to the correct values

 ERROR: Configure for pkg-config failed, please check the output above


I've installed pkg-config and glib-2.0 but nothing changed.
 
Ok I got it.


Now I've installed all packages "on hand".


I downloaded it manually and then "./configure, make, make install"
 
When there is no ./configure file, how can we do to compile ?


The project uses qmake;


However, if i run "qmake" on my terminal, it will not use the qmake of this crosscompiler, but the qmake of my Ubuntu :(


Can you help me pls? thanks =)
 
Oh Sebt3, you are here; thanks for your answer.


I'm afraid that Ivanovic's compiler won't work. I have no clue how to proceed with what you told me ><


I have no idea of what I have to do with what you gave me; thanks anyways ^^" May you explain me?


I'm glad you are here, if you could help me, since you made another cross compiler;


I'm working on a port of a game since 10 hours now, I think i went further with your cross compiler; I made a new topic in order not to flood this one
 
Last edited by a moderator:
Back
Top