Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamically allocate the alternate signal stack on 4.09 and earlier #10725

Closed
wants to merge 177 commits into from

Conversation

dra27
Copy link
Member

@dra27 dra27 commented Oct 25, 2021

Glibc 2.34 is starting to trickle into mainstream distros (see repology for more detail). In particular, Ubuntu 21.10 now has it, as will Fedora 35.

This affects opam installations of older compilers on those distros, so as we did with the GCC 10 -fcommon change, we'll expect to carry patches in opam-repository.

In previous dev meetings, we've discussed (and IIRC agreed) to committing these changes to the maintenance branches. The 4.10-4.12 backport of #10266 is trivial. Here is a candidate for 4.09 and earlier, as these versions don't include #8670.

cc @xavierleroy, @stedolan and all other signals experts 🙂

No author and others added 30 commits October 26, 2005 15:11
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@7177 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@7178 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@7189 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@7219 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@7223 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@7225 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
   (.TP caused a lot of odd margins)


git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@7229 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
   from text files handled as modules.
 - fix: display only text for "text modules"


git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@7231 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@7232 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@7233 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@7234 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@7239 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@7244 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@7246 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@7247 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@7249 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Damien Doligez and others added 12 commits November 19, 2007 17:15
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@8536 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@8701 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.09@8778 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
… embed Caml code in a shared library.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
@dra27
Copy link
Member Author

dra27 commented Oct 25, 2021

I'm attempting to run this through precheck#631 - I'm not sure if AppVeyor still works on the 4.09 branch and obviously we turned off Travis ages ago.

@dra27
Copy link
Member Author

dra27 commented Oct 25, 2021

No, precheck doesn't work - I have however tested on Linux locally.

@dra27
Copy link
Member Author

dra27 commented Oct 25, 2021

Aha: it's running less unsuccessfully in precheck#632. macOS 10.15 and OpenBSD are failing because those workers are no longer configured to have libbfd and OmniOS isn't supported.

@dra27
Copy link
Member Author

dra27 commented Oct 25, 2021

FreeBSD failure is #9981 (also probably a candidate for an opam-repository, but not right now)

@xavierleroy
Copy link
Contributor

I think it makes sense to backport #10266, but I was hoping to fix the leak reported in #10698 before, and I just submitted a PR that does this: #10726.

@dra27
Copy link
Member Author

dra27 commented Oct 25, 2021

For 4.09 and earlier, we have to back-port #8670 as well - is that what you intend? The full back-port of 10266 for 4.10 and 4.12 are presently on my own fork (e.g. https://github.com/dra27/ocaml/commits/4.10) ready to push - I also agree with adding #10698 to it before pushing that here and to opam-repository.

@xavierleroy
Copy link
Contributor

For 4.09 and earlier, we have to back-port #8670 as well - is that what you intend?

I don't know. If all we want for 4.09 and earlier is to compile with Glibc 2.34, we don't have to back-port #8670: we can elect to keep stack overflow handling in threads as broken as before. Likewise, avoiding the memory leak like #10698 does may not be absolutely necessary.

@Zimmi48
Copy link

Zimmi48 commented Nov 29, 2021

Hello! Is there any hope to make progress on this backport? It looks like we might have an issue related to this making it impossible to install the Coq platform with opam on Ubuntu 21.10 (because some included packages are not yet compatible with OCaml 4.13 and earlier versions of OCaml do not compile on Ubuntu 21.10).

@dra27
Copy link
Member Author

dra27 commented Nov 29, 2021

At the moment, I've been waiting until #10726 is merged to decide whether to back-port that part of the machinery to 4.09 and earlier.

@xavierleroy
Copy link
Contributor

Hello! Is there any hope to make progress on this backport?

Should make progress pretty soon. Please review #10726 ASAP and we'll make a backport, with or without #10726 depending on the outcome of the review.

@cheese
Copy link

cheese commented Dec 2, 2021

Great job! Tested 4.08.1 build on CentOS Stream 9.

@dra27
Copy link
Member Author

dra27 commented Jan 10, 2022

This will be pushing pushed directly, rather than merged through a PR and this version is out of date. See dra27#56 for the actual proposed commits for the 4.09 branch.

@dra27 dra27 closed this Jan 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants