From: Dave Voutila Subject: Re: [UPDATE] OCaml 4.14.1 -> 4.14.2 To: Dave Voutila Cc: ports@openbsd.org, volker@openbsd.org, Anil Madhavapeddy Date: Fri, 12 Apr 2024 07:22:14 -0400 ping. Dave Voutila writes: > OCaml 4.14.2 is a bugfix release that includes some of our patches and > tweaks upstreamed thanks to miod@: > > - the nobtcfi linker flags are now set in OCaml's configure script so > we don't need the LDFLAGS dance in the Makefile > - the no-execute-only flag is also set, so we can drop the patch > > Built on both amd64 and arm64. (I don't have other machines.) > > Running `make test` has the same single test failure as 4.14.1. > > I don't commit to ports often so: > - Do we keep an empty patches directory or no? I'd presume yes. > - Can someone help run a build of any dependent ports or point me to > how? > - I kept the USE_NOBTCFI flag. I'm not sure how we incorporate that > into the ports infra, but since OCaml is still not able to build > without the linker flag, I'm assuming it's sensible to keep that for > reference? > > feedback welcome :) > > -dv > > diff refs/heads/master refs/heads/ocaml-4 > commit - 4aa8f0d502946b9c12dc190e1ff27c02dba9cca5 > commit + b26e117aba3d2931b28a8443b0ec65f12003c909 > blob - 744f9992f6a1812450bcb4c2e96e483c25e87971 > blob + 244c1b7315faa3a96849574ea5d05e78a7a22cd9 > --- lang/ocaml/Makefile > +++ lang/ocaml/Makefile > @@ -2,7 +2,7 @@ COMMENT = ML language with complete class-based obj > > # XXX Don't even think of updating ocaml alone. > # Do check that the ports that depend on it still work, or repair them. > -VERSION= 4.14.1 > +VERSION= 4.14.2 > > # if the ocaml compiler gains support for BTI, as well as > # removing USE_NOBTCFI here (or changing to an arch-dependent > @@ -64,12 +64,6 @@ CONFIGURE_ARGS += --enable-imprecise-c99-float-ops > LDFLAGS+= -Wl,-z,notext > .endif > > -# We need to pass nobtcfi in LDFLAGS so that ocamlopt > -# will pick it up when building OCaml native binaries > -.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "arm64" > -LDFLAGS+= -Wl,-z,nobtcfi > -.endif > - > USE_GMAKE= Yes > > WANTLIB = c m pthread > blob - 07c4adb25913fc8db722c8753fefbf55e7182ceb > blob + b2ed4b8eda49096b389cc1b7e95d69075810b55e > --- lang/ocaml/distinfo > +++ lang/ocaml/distinfo > @@ -1,4 +1,4 @@ > SHA256 (ocaml-4.14-refman-html.tar.gz) = +dILjzxXO797/JkVVzFHK5G5vwhOndK1U50q5HNAbKc= > -SHA256 (ocaml-4.14.1.tar.gz) = GDl53JwJyw9YCiMraFMaCbAlqmKLjY1ydEnxRv1vX+4= > +SHA256 (ocaml-4.14.2.tar.gz) = k7TzujnVWalj/BB0RWO0xukun/tUDOieXF6/dghrmfM= > SIZE (ocaml-4.14-refman-html.tar.gz) = 1982462 > -SIZE (ocaml-4.14.1.tar.gz) = 5497979 > +SIZE (ocaml-4.14.2.tar.gz) = 5504138 > blob - 8e2f6dcfd97891503f2704b423fd429e5cb357d8 (mode 644) > blob + /dev/null > --- lang/ocaml/patches/patch-configure > +++ /dev/null > @@ -1,24 +0,0 @@ > -Backport part of https://github.com/ocaml/ocaml/pull/12372/files > -Pointed out by avsm@ > - > -Index: configure > ---- configure.orig > -+++ configure > -@@ -14133,6 +14133,17 @@ if test -z "$mkmaindll"; then : > - mkmaindll=$mksharedlib > - fi > - > -+# Make sure code sections in OCaml-generated executables are readable > -+# (required for marshaling of function closures) > -+ > -+case $host in #( > -+ *-*-openbsd7.[3-9]|*-*-openbsd[89].*) : > -+ oc_ldflags="$oc_ldflags -Wl,--no-execute-only" > -+ natdynlinkopts="$natdynlinkopts -Wl,--no-execute-only" ;; #( > -+ *) : > -+ ;; > -+esac > -+ > - # Configure native dynlink > - > - natdynlink=false