This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Re: [PATCH, Modula-2 (C/C++/D/F/Go/Jit)] (Register spec fn) (v2)


Hi Gaius,

> Many thanks for all the feedback/bugs/patches.
> I've been working through some of these.  The parallel build is now done.

thank you for the blazingly quick fixes.

>> * The mc output is far too verbose right now: this isn't of interest to
>>   anyone but gm2 developers ;-)
>
> added --quiet to all invocations of mc on master - will apply to 9.1.0
> soon.

Perfect.

>> With the missing gm2l worked around as above, my i386-pc-solaris2.11
>> testresults are way better now:
>>
>>                 === gm2 Summary for unix ===
>>
>> # of expected passes            11186
>> # of unexpected failures        24
>> # of unresolved testcases       12
>
> these results are great for solaris.  On the amd64/GNU/Linux I get 12
> failures (long.mod and long2.mod) run 6 times each.

Indeed: I'm pretty pleased by those results myself.

The remaining failures mostly fall in two categories:

Undefined			first referenced
 symbol  			    in file
KeyBoardLEDs_SwitchScroll           /var/gcc/gcc-10.0.0-20190708/11.5-gcc-gas-gm2-no-bootstrap-j1/i386-pc-solaris2.11/./libgm2/libcor/.libs/libcor.so
ld: fatal: symbol referencing errors
collect2: error: ld returned 1 exit status
compiler exited with status 1
FAIL: gm2/coroutines/pim/run/pass/testiotransfer.mod compilation,  -g 
UNRESOLVED: gm2/coroutines/pim/run/pass/testiotransfer.mod execution,  -g  (link failed)

The definition lives in libgm2/libcor/KeyBoardLEDs.c and is Linux-only,
requiring the KGETLED/KSETLED ioctls.  An empty fallback implementation
is missing from the !linux section.

Then there's

/var/tmp//ccrqpjSdcpp:1:failed to find module name
compiler exited with status 1
FAIL: gm2/cpp/pass/cpph.mod,  -g  

FAIL: gm2/pim/fail/TestLong4.mod,  -g  

with no further indication in gm2.log what might be wrong.  Will have a
look.

Most 64-bit testcases FAIL for the same reason:

Undefined			first referenced
 symbol  			    in file
funcString                          /var/tmp//ccGNv4Zd.a(m.o)
ld: fatal: symbol referencing errors
collect2: error: ld returned 1 exit status
compiler exited with status 1
FAIL: gm2/calling-c/datatypes/unbounded/run/pass/m.mod compilation,  -g 
UNRESOLVED: gm2/calling-c/datatypes/unbounded/run/pass/m.mod execution,  -g  (link failed)

funcString *is* defined in c.c, but that file is compiled in the .exp
file `under the hood' with exec ${XGCC} (not even visible in gm2.log)
and without the correct multilib flag.

[01m[K/vol/gcc/src/hg/trunk/solaris/gcc/testsuite/gm2/cpp/pass/subaddr.mod:32:3:[m[K [01;31m[Kerror: [m[Kcan only CAST objects of the same size
   32 | #else
      |   [01;31m[K^[m[K
compiler exited with status 1
FAIL: gm2/cpp/pass/subaddr.mod,  -g  

Haven't looked yet, but might be a generic multilib testing problem.

I also noticed that quite a number of temp files are left behind in
gcc/testsuite:

* many *_m2.s files.

* several .o files:

-rw-r--r-- 1 ro gcc 8928 Jul  9 13:45 cpp.o
-rw-r--r-- 1 ro gcc 3772 Jul  9 13:46 cvararg.o
-rw-r--r-- 1 ro gcc 5248 Jul  9 13:52 except2.o
-rw-r--r-- 1 ro gcc 4616 Jul  9 13:52 except4.o
-rw-r--r-- 1 ro gcc 4480 Jul  9 13:52 except5.o
-rw-r--r-- 1 ro gcc 6152 Jul  9 13:52 except7.o
-rw-r--r-- 1 ro gcc 5408 Jul  9 13:52 except8.o
-rw-r--r-- 1 ro gcc 2888 Jul  9 13:56 exceptiontest.o
-rw-r--r-- 1 ro gcc 1968 Jul  9 13:55 fileio.o
-rw-r--r-- 1 ro gcc 1712 Jul  9 14:19 hello.o
-rw-r--r-- 1 ro gcc 6424 Jul  9 13:45 libexcept.o
-rw-r--r-- 1 ro gcc 9780 Jul  9 13:45 mycpp.o
-rw-r--r-- 1 ro gcc 3392 Jul  9 13:56 raise.o
-rw-r--r-- 1 ro gcc 3520 Jul  9 13:57 raise2.o
-rw-r--r-- 1 ro gcc 1760 Jul  9 14:17 rangesupport.o
-rw-r--r-- 1 ro gcc 3488 Jul  9 14:14 sys.o

* a few *.x[0-5] files:

except2
except4
except5
except7
except8
exceptiontest
libexcept
raise
raise2

* 3 others:

-rw-r--r--   1 ro       gcc         4199 Jul  9 14:00 integer_m2.cpp
-rw-r--r--   1 ro       gcc           36 Jul  9 14:14 results.dat
-rw-r--r--   1 ro       gcc           26 Jul  9 13:56 test.txt

Besides, gm2.log is very full with debug output, making it hard to see
what's going on:

Stuff like

looking for /var/gcc/gcc-10.0.0-20190708/11.5-gcc-gas-gm2-no-bootstrap-j1/i386-pc-solaris2.11/./libpim/.libs/libiso.a

even seems to run several times for the same lib!?

Same for

about to call target_compile with /vol/gcc/src/hg/trunk/solaris/gcc/testsuite/../gm2/examples/callingC/hello.mod /var/gcc/gcc-10.0.0-20190708/11.5-gcc-gas-gm2-no-bootstrap-j1/gcc/testsuite/hello.o object {additional_flags= -g  } {compiler=/var/gcc/gcc-10.0.0-20190708/11.5-gcc-gas-gm2-no-bootstrap-j1/gcc/xgm2 -B/var/gcc/gcc-10.0.0-20190708/11.5-gcc-gas-gm2-no-bootstrap-j1/gcc -I/var/gcc/gcc-10.0.0-20190708/11.5-gcc-gas-gm2-no-bootstrap-j1/i386-pc-solaris2.11/./libgm2/libpim:/vol/gcc/src/hg/trunk/solaris/gcc/testsuite/../gm2/gm2-libs -I/var/gcc/gcc-10.0.0-20190708/11.5-gcc-gas-gm2-no-bootstrap-j1/i386-pc-solaris2.11/./libgm2/libiso:/vol/gcc/src/hg/trunk/solaris/gcc/testsuite/../gm2/gm2-libs-iso -I/vol/gcc/src/hg/trunk/solaris/gcc/testsuite/../gm2/examples/callingC -fpim -L/var/gcc/gcc-10.0.0-20190708/11.5-gcc-gas-gm2-no-bootstrap-j1/i386-pc-solaris2.11/./libgm2/libpim/.libs -L/var/gcc/gcc-10.0.0-20190708/11.5-gcc-gas-gm2-no-bootstrap-j1/i386-pc-solaris2.11/./libgm2/libiso/.libs
 }

They are currently written with send_log, but should use verbose instead
so they are off by default, but can be enabled if need be by running
runtest with an appropriate number of -v options.

And finally the testsuite should live in gm2.dg.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


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