This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi Richard, Thanks for the reply. >This disassembly cannot possibly come from the example code you cite above. > >1) It calls a pointer to a function >2) It tries to return a value (interrupt functions must be void). The pointer is acceptable as it is defined to be a valid function. The return was a mistake, I had it there to see if it would work but forgot to recompile my code. >Yes, use gcc-3.3.1. There have been a large number of problems with >generating code that returns from interrupts. Hopefully these are now all >fixed. > >Putting your *source* code into gcc 3.3.1 gives: > > str ip, [sp, #-4]! > mov ip, sp > stmfd sp!, {r0, r1, r2, r3, fp, ip, lr, pc} > sub fp, ip, #4 > bl IRQ > ldmea fp, {r0, r1, r2, r3, fp, sp, lr} > ldmfd sp!, {ip} > subs pc, lr, #4 > I have being trying to compile a newer version of gcc (3.3.1 and 3.3-20030811), I am using 3.2.3 at present, but I am bombing out with the following error: chmod: changing permissions of `/cygdrive/c/arm/lib/gcc-lib/arm-elf/3.3.2/install-tools/_inst.1700_': No such file or directory if [ xstmp-fixproto != x ] ; then \ /bin/sh /usr/local/src/gnu/gcc-3.3-20030811/install-sh -c /usr/local/src/gnu/gcc-3.3-20030811/gcc/mkinstalldirs \ /cygdrive/c/arm/lib/gcc-lib/arm-elf/3.3.2/install-tools/mkinstalldirs ; \ /bin/sh /usr/local/src/gnu/gcc-3.3-20030811/install-sh -c /usr/local/src/gnu/gcc-3.3-20030811/gcc/fixproto /cygdrive/c/arm/lib/gcc-lib/arm-elf/3.3.2/install-tools/fixproto ; \ /bin/sh /usr/local/src/gnu/gcc-3.3-20030811/install-sh -c fix-header.exe \ /cygdrive/c/arm/lib/gcc-lib/arm-elf/3.3.2/install-tools/fix-header.exe ; \ else :; fi /bin/sh /usr/local/src/gnu/gcc-3.3-20030811/install-sh -c mkheaders /cygdrive/c/arm/lib/gcc-lib/arm-elf/3.3.2/install-tools/mkheaders cp: cannot create regular file `/cygdrive/c/arm/lib/gcc-lib/arm-elf/3.3.2/install-tools/_inst.1700_': No such file or directory make[1]: *** [install-mkheaders] Error 1 make[1]: Leaving directory `/usr/local/src/gnu/BUILD/gcc/gcc' make: *** [install-gcc] Error 2 make: Leaving directory `/usr/local/src/gnu/BUILD/gcc' Any ideas? If not is it possible to copy gcc/config/arm/arm.c from 3.3.X to 3.2.3 and use it to implement to fixes? Thanks, Dave -- http://www.iol.ie ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |