------- Comment #31 from joel at gcc dot gnu dot org  2008-04-03 00:10 -------

(In reply to comment #30)
> Did you look at what happens in Initialize_TCB to the variable Success ?

After waiting and waiting at the hospital today, I had plenty of time
to think.  My guess was that the saved copy of %ebx on the stack was
getting corrupted.  About an hour of playing on my laptop, I found the
culprit!!  

The pthread_condattr_t structure in s-opsinte-rtems.ads was one 4 byte 
integer field too short!!! 

I also noticed a typo in the pthread_attr_t structure.  I have no
idea how this worked on powerpc, sparc, and mips so well and only
failed on i386.  Must just be lucky on the alignment or something
and missed stuff on the stack that mattered.  

Here is the much improved ACATS with this change on i386.  Many appear to
be floating point issues. The last run I sent to the mailing list had
307 failures.

                === acats Summary ===
# of expected passes            2286
# of unexpected failures        26
# of unsupported tests          3
*** FAILURES: c34014h c52103q c52104k c64005c c64005d c953002 cd1009w cd5011e
cxg2002 cxg2003 cxg2004 cxg2006 cxg2007 cxg2010 cxg2011 cxg2012 cxg2013 cxg2014
cxg2015 cxg2016 cxg2017 cxg2018 cxg2019 cxg2020 cxg2021 la14012

I will run overnight and file more test results on the mailing list. 
Patch will be attached in a minute.  


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35284

Reply via email to