Pandora Crosscompiler Toolchain Based On Openpandora.org Ipks


Linux-SWAT

Hardcore Member
Joined
Feb 13, 2010
Messages
8,514
Can work.


But from what i've read, using it all the time is bad because you can't predict the binary code quality.
 

Pickle

Mega GP Mania
Joined
May 30, 2006
Messages
5,481
Location
Detroit, Michigan
Website
Visit site
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.
 

Ziz

Advanced Member
Joined
Jan 15, 2006
Messages
3,584
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.
 

foxblock

Asleep
Joined
Jun 17, 2009
Messages
1,563
Location
Germany
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:

DrCJBoduma

Active Member
Joined
Jun 4, 2006
Messages
500
Age
44
Location
England
Website
Visit site
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
 

Galaxis

Member
Joined
Aug 30, 2010
Messages
313
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).
 

ivanovic

Member
Joined
Aug 4, 2006
Messages
784
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.
 

mcobit

Advanced Member
Joined
Jul 28, 2008
Messages
6,910
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:

bzar

A Commando
Joined
Sep 22, 2008
Messages
4,462
Location
Finland
Website
Visit site
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.
 

sebt3

homebrew player (P. & C.)
Joined
Sep 9, 2008
Messages
4,805
Age
39
Location
France
Website
sebt3.openpandora.org
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 ?
 

Galaxis

Member
Joined
Aug 30, 2010
Messages
313
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.
 

TrashyMG

Sarcasm Dispenser
Staff member
Joined
Jan 18, 2010
Messages
10,699
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:

mrdoc

Still Fresh
Joined
Mar 9, 2012
Messages
13
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.
 

mrdoc

Still Fresh
Joined
Mar 9, 2012
Messages
13
Ok I got it.


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


I downloaded it manually and then "./configure, make, make install"
 

shideneyu

Still Fresh
Joined
Jan 31, 2011
Messages
83
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 =)
 

shideneyu

Still Fresh
Joined
Jan 31, 2011
Messages
83
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:
Top