This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

app crashes when compiled with OTime O3 using RVDS 4.0

Note: This was originally posted on 1st December 2008 at http://forums.arm.com

Hi,
I am using RVDS 4.0 trial version. When I compile my app using OTime O3 compiler flag, the application crashes. But if I specify O2 then it is working properly.

My compiler flags are :

-DRVCT -DDYNAMIC_APP -DBREW --cpu=ARM926EJ-S --apcs=/ropi/interwork/norwpi -c -Otime -O2 --littleend --split_sections -zo


My linker flags are:

--split --reloc --entry AEEMod_Load --first AEEMod_Load --callgraph

please do let me know if i need to specify anything else in the compiler/linker flag options
Parents
  • Note: This was originally posted on 1st December 2008 at http://forums.arm.com

    There are a a couple of likely explanations:

    • When you compile with "-O3", the compiler uses multifile compilation by default. Where multifile compilation causes problems, it generally does so at compile time, though it might be worth adding the "-no_multifile" switch to check. If you're compiling one file at a time, this won't make any difference.
    • As you might expect, "-O3 -Otime" will produce larger code than "-O2 -Otime" as it aggressively optimizes for speed at the cost of code size. Thus, it's possible that your binary image has crossed a page boundary or exceeded some other size limit.
    Have a look at the RVCT reference manual to see if the side-effects of your options can cause the problems you are seeing in your specific system. "-Otime" is documented [url="http://infocenter.arm.com/help/topic/com.arm.doc.dui0348b/CIHCBJIF.html"]here[/url], and "-O3" is documented [url="http://infocenter.arm.com/help/topic/com.arm.doc.dui0348b/CIHGFGFB.html"]here[/url].

    I hope that helps,
    Jacob
Reply
  • Note: This was originally posted on 1st December 2008 at http://forums.arm.com

    There are a a couple of likely explanations:

    • When you compile with "-O3", the compiler uses multifile compilation by default. Where multifile compilation causes problems, it generally does so at compile time, though it might be worth adding the "-no_multifile" switch to check. If you're compiling one file at a time, this won't make any difference.
    • As you might expect, "-O3 -Otime" will produce larger code than "-O2 -Otime" as it aggressively optimizes for speed at the cost of code size. Thus, it's possible that your binary image has crossed a page boundary or exceeded some other size limit.
    Have a look at the RVCT reference manual to see if the side-effects of your options can cause the problems you are seeing in your specific system. "-Otime" is documented [url="http://infocenter.arm.com/help/topic/com.arm.doc.dui0348b/CIHCBJIF.html"]here[/url], and "-O3" is documented [url="http://infocenter.arm.com/help/topic/com.arm.doc.dui0348b/CIHGFGFB.html"]here[/url].

    I hope that helps,
    Jacob
Children
No data