[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-gcc-list] Tests and patches

From: Andrew Hutchinson
Subject: [avr-gcc-list] Tests and patches
Date: Sat, 22 Mar 2008 16:27:06 -0400
User-agent: Thunderbird (Windows/20080213)


I found old PC and got Debian loaded to help with testing instead of Cygwin. Much to my amazement it worked - after I got the pre-requisite packages loaded.

On a slower PC, it is about 10x faster at testing and a bit faster building GCC. The shell stuff (including make) hurts Cygwin.

With Putty as SSH terminal and SAMBA to mount my windows shares I built from exactly the same sources (located on XP).

The testsuite runs cleaner - Cygwin version has a few errors related to include files just before tests run. I've always ignored them - the effects are benign. I got same numbers on both systems (which amazed me!).

I have been plowing thru the bugs and attempting to create patches that can be applied - (mostly the AVR bit of gcc.). There are quite a few now waiting for approval. Mike Stein was kind enough to offer regression tests on i686 - which give patches that change GCC some credibility. Still it's a long wait. (Maybe I need to use Beer or Donuts to get things moving?).

Today I managed to figure out PR34210 - which relates to 16 bit function missing from libgcc for the AVR target. There's a whole bunch of testsuite failures related to this. This took torture/execute failures down from 66 to 44. My working version also had a couple of other patches so don't expect to see 66 on your copy ! (Think its more like 82 out of the box).

(It would be even lower than 44 but some tests added recently are incorrect - nothing wrong with gcc.)

I will post patch shortly for PR34210.

I exclusively use AVRTEST as simulator - since its easier to understand and runs fast!

To get down towards 66 failures you have to skip certain "no hope" tests. Taken from earlier work by Bjorn and Paulo we disable trampolines and long long using the simulator test file:

set_board_info no_long_long 1
set_board_info obj_format "elf"
set_board_info cflags  " -DSIGNAL_SUPPRESS -mmcu=atmega128 "
set_board_info gcc,stack_size 2048
set_board_info gcc,no_trampolines 1
set_board_info gcc,no_pch_tests 1
set_board_info ldflags "/home/Andy/dejagnuboards/exit.c -Wl,-u,vfprintf -lprintf_flt -Wl,-Tbss=0x802000,--defsym=__heap_end=0x80ffff"

One day long long might be switched back on again - it should work but there are few gaps in the implementation.

Enough rambling!


reply via email to

[Prev in Thread] Current Thread [Next in Thread]