Testing SDCC 3.2.1

Aug 13, 2012
With suggestion from Philipp, SDCC team released 3.2.0 earlier than usual this year in the hope of a steady version. I was busy learning Linux programming when it was released. After I finished the test of AR1688 software release 0.58 last week, the first thing in my mind was to test the new SDCC version.
At first I was very happy, the 2 annoying bugs in 3.1.0, Caught signal 11 and max-allocs-per-node, were gone. But more tests with different AR1688 devices showed at least 3 more bugs. Seems that we have to continue to use old 3.0.1 #6078 for quite some time.
The table below summarizes the test results. Code size and compile time results are generated with command line mk ar168g sip us and standard compiler option -mz80 -c --std-c99.
SDCC version Extra compile option Code size (bytes) Compile time (minutes) Known problem
3.0.1 #6078
158073 2
3.2.1 #8062
156413 6 AR168M UART error
3.2.1 #8062 --oldralloc 154871 3 AR168G keypad error
3.2.1 #8062 --max-allocs-per-node 10000 152552 13 AR168R SIP message error with VoIPtalk
The above compile time were all measured on my old Sony VGN-FW235J with Intel(R) Core(TM)2 Duo CPU T5800 @ 2.00GHz, 4GB DDR2 RAM and 64-bits Windows Vista. When I tried the slowest one on my new Sony VPCEG with Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz, 6GB DDR3 RAM and 64-bits Windows 7, the total time reduced to 6 minutes from 13 minutes. I did not realized that my new computer was so much faster than the old one in the past 2 months!