[Bug jit/84288] Support jit on Solaris
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84288 Richard Biener changed: What|Removed |Added Status|NEW |ASSIGNED
[Bug jit/84288] Support jit on Solaris
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84288 --- Comment #10 from ro at CeBiTec dot Uni-Bielefeld.DE --- > --- Comment #9 from Martin Liška --- > Rainer: Can the bug be marked as resolved? No, there are quite a number of issues still open: * the total_sz_out printing, * hardcoded gld-specific options in jit.exp * finding dejagnu.h in non-system directories * dejagnu.h vs. C++ * does %p format include "0x" or not? * skipping jit.dg for non-default multilib and probably more. It seems your check for PRs where patches have been committed is too simplistic...
[Bug jit/84288] Support jit on Solaris
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84288 Martin Liška changed: What|Removed |Added CC||marxin at gcc dot gnu.org --- Comment #9 from Martin Liška --- Rainer: Can the bug be marked as resolved?
[Bug jit/84288] Support jit on Solaris
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84288 --- Comment #8 from Rainer Orth --- Author: ro Date: Wed Mar 21 17:39:16 2018 New Revision: 258727 URL: https://gcc.gnu.org/viewcvs?rev=258727&root=gcc&view=rev Log: Enable jit on Solaris: soname option and EXTRA_GCC_LIBS (PR jit/84288) gcc/jit: PR jit/84288 * Make-lang.in ($(LIBGCCJIT_FILENAME)): Add $(EXTRA_GCC_LIBS). gcc: PR jit/84288 * configure.ac (gcc_cv_ld_soname) <*-*-solaris2*>: Set. * configure: Regenerate. Modified: trunk/gcc/ChangeLog trunk/gcc/configure (contents, props changed) trunk/gcc/configure.ac trunk/gcc/jit/ChangeLog trunk/gcc/jit/Make-lang.in
[Bug jit/84288] Support jit on Solaris
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84288 --- Comment #7 from ro at CeBiTec dot Uni-Bielefeld.DE --- > --- Comment #6 from David Malcolm --- > I'm not sure if r258388 fixes the linker issue on Solaris, but it should make > it much easier to fix; e.g. to apply your patch here: > https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00835.html > (currently reported as untested) It did indeed, as I've now found out: https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00925.html There are a couple more issues to address, but we're getting there :-) Thanks. Rainer
[Bug jit/84288] Support jit on Solaris
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84288 --- Comment #6 from David Malcolm --- I'm not sure if r258388 fixes the linker issue on Solaris, but it should make it much easier to fix; e.g. to apply your patch here: https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00835.html (currently reported as untested)
[Bug jit/84288] Support jit on Solaris
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84288 --- Comment #5 from David Malcolm --- Author: dmalcolm Date: Fri Mar 9 15:24:44 2018 New Revision: 258388 URL: https://gcc.gnu.org/viewcvs?rev=258388&root=gcc&view=rev Log: jit: use 'configure' to replace hard-coded linker options (PR jit/64089 and PR jit/84288) gcc/ChangeLog: PR jit/64089 PR jit/84288 * Makefile.in (LD_VERSION_SCRIPT_OPTION, LD_SONAME_OPTION): New. * configure: Regenerate. * configure.ac ("linker --version-script option"): New. ("linker soname option"): New. gcc/jit/ChangeLog: PR jit/64089 PR jit/84288 * Make-lang.in (COMMA): New. (LIBGCCJIT_VERSION_SCRIPT_OPTION): New. (LIBGCCJIT_SONAME_OPTION): New. (jit): Move --version-script and -soname linker options to the above. Modified: trunk/gcc/ChangeLog trunk/gcc/Makefile.in trunk/gcc/configure trunk/gcc/configure.ac trunk/gcc/jit/ChangeLog trunk/gcc/jit/Make-lang.in
[Bug jit/84288] Support jit on Solaris
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84288 --- Comment #4 from Rainer Orth --- (In reply to Rainer Orth from comment #0) [...] > * In the 32-bit case, two tests FAIL like this: > > PASSED: test-vector-rvalues.cc.exe iteration 1 of 5: verify_vec_code: > fn is > non-null > FAILED: test-vector-rvalues.cc.exe iteration 1 of 5: check_div: actual: > c[i] != expected: a[i] / b[i] > incorrect value [...] > FAILED: test-vector-types.cc.exe iteration 1 of 5: check_div: > actual: c[i] != expected: a[i] / b[i] > incorrect value [...] > ISTM that check_div needs to use CHECK_DOUBLE_VALUE here. I've just run an i686-pc-linux-gnu build and see exactly the same errors. So this seems to be a 32-bit (or 32-bit x86) issue.
[Bug jit/84288] Support jit on Solaris
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84288 Rainer Orth changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2018-02-15 Depends on||84379 Ever confirmed|0 |1 --- Comment #3 from Rainer Orth --- I've now developed a patch for PR target/84379 that cures the GC-related failures described before. Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84379 [Bug 84379] Problems with sol2.c GTY handling
[Bug jit/84288] Support jit on Solaris
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84288 --- Comment #2 from ro at CeBiTec dot Uni-Bielefeld.DE --- > * If DejaGnu is installed into a non-system directory, dejagnu.h isn't found > compiling the tests. I've hacked around this by hardcoding a matching -I > option in jit.exp. I believe this should be handled like GMPINC: gcc/configure.ac gains an --with-dejagnu option which ultimately sets DEJAGNUINC, that's emitted to site.exp in gcc/Makefile.in so gcc/testsuite/jit.dg/jit.exp can use it. > * When gcc is configured with Solaris as and ld, a couple of tests FAIL like > this: > > NOTE: test-compile-to-assembler.c.exe iteration 2 of 5: writing > reproducer to ./test-compile-to-assembler.c.exe.reproducer.c > ./test-compile-to-assembler.c.exe: error: in get, at cgraph.h:404 > 0xfcfd4d3a symtab_node::get(tree_node const*) > /vol/gcc/src/hg/trunk/local/gcc/cgraph.h:401 > 0xfcfd4d3a decl_comdat_group(tree_node const*) > /vol/gcc/src/hg/trunk/local/gcc/tree.c:708 > 0xfd0ce378 solaris_define_comdat_signature(comdat_entry**, void*) > /vol/gcc/src/hg/trunk/local/gcc/config/sol2.c:267 > 0xfd0ce6d6 void hash_table xcallocator>::traverse_noresize &(solaris_define_comdat_signature(comdat_entry**, void*))>(void*) > /vol/gcc/src/hg/trunk/local/gcc/hash-table.h:969 > 0xfd0ce6d6 void hash_table::traverse &(solaris_define_comdat_signature(comdat_entry**, void*))>(void*) > /vol/gcc/src/hg/trunk/local/gcc/hash-table.h:990 > 0xfd0ce6d6 solaris_file_end() > /vol/gcc/src/hg/trunk/local/gcc/config/sol2.c:291 > [...] > FAIL: test-compile-to-assembler.c.exe: non-zero exit code: 7862 exp9 0 4 [...] > Haven't yet started debugging how error_mark arrives there. That those errors only happen during the second iteration seems to point at a GC issue. In fact, there are problems here, cf. PR other/84379), but no solution so far.
[Bug jit/84288] Support jit on Solaris
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84288 --- Comment #1 from David Malcolm --- Candidate patch for the linker issue: https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00776.html