Date: Sat, 22 Aug 2020 21:32:36 +0000 (UTC) From: Niclas Zeising <zeising@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r545786 - head/lang/ocaml/files Message-ID: <202008222132.07MLWax8057880@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: zeising Date: Sat Aug 22 21:32:36 2020 New Revision: 545786 URL: https://svnweb.freebsd.org/changeset/ports/545786 Log: lang/ocaml: Fix build with llvm 11 Fix the build of lang/ocaml with llvm 11. There are two issues, first off, te issue with -fno-common, which is default with llvm 11. This is fixed by pulling in a modified patch from upstream, as well as local patches. Secondly, there's a problem with how asm sections are handled, patch this locally. Thanks to dim@ for help with this. MFH: 2020Q3 (implicit, -fno-common fixes, ok by joenum) Added: head/lang/ocaml/files/patch-675e98a2.c (contents, props changed) head/lang/ocaml/files/patch-asmrun_amd64.S (contents, props changed) head/lang/ocaml/files/patch-byterun_backtrace.c (contents, props changed) Added: head/lang/ocaml/files/patch-675e98a2.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/ocaml/files/patch-675e98a2.c Sat Aug 22 21:32:36 2020 (r545786) @@ -0,0 +1,48 @@ +--- asmrun/startup.c.orig 2017-07-13 08:56:44 UTC ++++ asmrun/startup.c +@@ -44,8 +44,8 @@ + #endif + + extern int caml_parser_trace; +-CAMLexport header_t caml_atom_table[256]; + char * caml_code_area_start, * caml_code_area_end; ++struct ext_table caml_code_fragments_table; + + /* Initialize the atom table and the static data and code area limits. */ + +--- byterun/caml/intext.h.orig 2017-07-13 08:56:44 UTC ++++ byterun/caml/intext.h +@@ -196,7 +196,7 @@ struct code_fragment { + + CAMLextern struct code_fragment * caml_extern_find_code(char *addr); + +-struct ext_table caml_code_fragments_table; ++extern struct ext_table caml_code_fragments_table; + + #endif /* CAML_INTERNALS */ + +--- byterun/caml/major_gc.h.orig 2017-07-13 08:56:44 UTC ++++ byterun/caml/major_gc.h +@@ -64,9 +64,9 @@ extern uintnat total_heap_size; + extern char *caml_gc_sweep_hp; + + extern int caml_major_window; +-double caml_major_ring[Max_major_window]; +-int caml_major_ring_index; +-double caml_major_work_credit; ++extern double caml_major_ring[Max_major_window]; ++extern int caml_major_ring_index; ++extern double caml_major_work_credit; + extern double caml_gc_clock; + + /* [caml_major_gc_hook] is called just between the end of the mark +--- byterun/fix_code.c.orig 2017-07-13 08:56:44 UTC ++++ byterun/fix_code.c +@@ -38,6 +38,7 @@ + code_t caml_start_code; + asize_t caml_code_size; + unsigned char * caml_saved_code; ++struct ext_table caml_code_fragments_table; + + /* Read the main bytecode block from a file */ + Added: head/lang/ocaml/files/patch-asmrun_amd64.S ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/ocaml/files/patch-asmrun_amd64.S Sat Aug 22 21:32:36 2020 (r545786) @@ -0,0 +1,11 @@ +--- asmrun/amd64.S.orig 2020-08-22 20:02:29 UTC ++++ asmrun/amd64.S +@@ -725,7 +725,7 @@ G(caml_system__spacetime_shapes): + #elif defined(SYS_mingw64) || defined(SYS_cygwin) + .section .rdata,"dr" + #else +- .section .rodata.cst8,"a",@progbits ++ .section .rodata.cst8,"aM",@progbits,8 + #endif + .globl G(caml_negf_mask) + .align SIXTEEN_ALIGN Added: head/lang/ocaml/files/patch-byterun_backtrace.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/ocaml/files/patch-byterun_backtrace.c Sat Aug 22 21:32:36 2020 (r545786) @@ -0,0 +1,12 @@ +--- byterun/backtrace.c.orig 2020-08-22 14:46:44 UTC ++++ byterun/backtrace.c +@@ -27,9 +27,6 @@ + #include "caml/backtrace_prim.h" + #include "caml/fail.h" + +-/* The table of debug information fragments */ +-struct ext_table caml_debug_info; +- + CAMLexport int32_t caml_backtrace_active = 0; + CAMLexport int32_t caml_backtrace_pos = 0; + CAMLexport backtrace_slot * caml_backtrace_buffer = NULL;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202008222132.07MLWax8057880>