This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

recent C++ on coff tankage


The i586-pc-sco3.2v5.0.0 COFF test results have taken on some serious
water recently.   Are other COFF targets seeing the same?



Between 1/28 and 1/30 all the libio coff tests stopped building
completely.  This is becuase of undefined symbols in the COFF tinfo.o.
nm coff/libgcc.a | c++ filt shows many UNDEF references to '.Lnnnn'
symbols:

Symbols from libgcc.a[tinfo.o]:

[Index]   Value      Size    Type  Bind  Other Shndx   Name

[1]     |         0|       0|FILE |LOCL |0    |ABS    |tinfo.cc
[2]     |         0|       0|NOTY |LOCL |0    |1      |.text
[3]     |         0|       0|NOTY |LOCL |0    |2      |.data
[4]     |         0|       0|NOTY |LOCL |0    |3      |.bss
[5]     |         0|       0|NOTY |LOCL |0    |4      |.comment
[6]     |         0|       0|NOTY |LOCL |0    |1      |gcc2_compiled.
[7]     |         0|       0|NOTY |LOCL |0    |1      |__gnu_compiled_cplusplus
[8]     |         0|       0|NOTY |GLOB |0    |UNDEF  |.L154
[9]     |         0|       0|NOTY |GLOB |0    |UNDEF  |.L146
[10]    |         0|       0|NOTY |GLOB |0    |UNDEF  |.L132
[11]    |         0|       0|NOTY |GLOB |0    |UNDEF  |.L124
[12]    |         0|       0|NOTY |GLOB |0    |UNDEF  |.L92
[13]    |         0|       0|NOTY |GLOB |0    |UNDEF  |.L68
[14]    |         0|       0|NOTY |GLOB |0    |UNDEF  |.L44


This can be reproduced with:
./xgcc --save-temps -mcoff -B/usr/local/i586-pc-sco3.2v5.0.5/bin/ -B./ \
  -I/usr/local/i586-pc-sco3.2v5.0.5/include -O2   -DIN_GCC    \
  -W -Wall -Wtraditional -O2 -g  -I./include   -g1  -DIN_LIBGCC2 \
  -D__GCC_FLOAT_NOT_NEEDED     -I. -I../../egcs/gcc -I../../egcs/gcc/config \
  -I../../egcs/gcc/../include \
  -c ../../egcs/gcc/cp/tinfo.cc

.L154 appears in      .globl __class_type_info::__class_type_info(char const *, __class_type_info::base_info const *, unsigned int)
__class_type_info::__class_type_info(char const *, __class_type_info::base_info
const *, unsigned int):     It's the last function in the file.
   

	movl    8(%ebp), %eax 
	movl    $_vt.16__user_type_info, 4(%eax)
	movl    4(%edx), %eax    
	movl    (%eax), %eax     
	movl    %eax, 4(%edx)    
	movl    %eax, -120(%ebp) 
	movl    %ecx, %eax       
	movl    %ecx, -112(%ebp) 
	subl    $88, %eax
	movl    $0, -116(%ebp)
	movl    %esp, 8(%eax)
	addl    $140, %esp
	movl    $.L154, 4(%eax)      <- The only occurrence of .L154 
	subl    $8, %eax


While the ELF testresults have held basically steady over the last two
weeks, the COFF results have been backsliding.  What is most the most
helpful way to tackle this?  Analyze each failure individually?  Walk
through the changes on a day-by-day basis, trying to correlate new
failures to ChangeLog entries?

One (admittedly vague) indication of the amount of backslide is the
size of the testsuite results

$ l -t */summary | head     
-rwx------   1 robertl  group      37698 Jan 31 05:34 results-000131/summary
-rwx------   1 robertl  group      37698 Jan 30 05:45 results-000130/summary
-rwx------   1 robertl  group      20738 Jan 28 05:46 results-000128/summary
-rwx------   1 robertl  group      20117 Jan 27 05:38 results-000127/summary
-rwx------   1 robertl  group      20792 Jan 26 05:43 results-000126/summary
-rwx------   1 robertl  group      20140 Jan 25 05:42 results-000125/summary
-rwx------   1 robertl  group      18141 Jan 24 05:31 results-000124/summary
-rwx------   1 robertl  group      18745 Jan 23 05:34 results-000123/summary
-rwx------   1 robertl  group      19884 Jan 22 10:04 results-000122/summary
-rwx------   1 robertl  group      17955 Jan 15 06:06 results-000115/summary


RJL

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]