-
Notifications
You must be signed in to change notification settings - Fork 30
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
Support OCaml 5.2 #134
base: main
Are you sure you want to change the base?
Support OCaml 5.2 #134
Commits on May 31, 2024
-
Add -Wl,--start-group & -Wl,--end-group
It's probably a better way to add libraries when we link objects from OCaml. With these options, we allow the linker to resolve all symbols regardless the order of these libraries. Indeed, the linker will repeatly lookup on these libraries until all symbols are resolved. However, it seems that these options can have an impact about performances of the linker. If we need to improve this situation, we must recalculate a topological order of libraries. But for our purpose, that's probably fine. Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a894db6 - Browse repository at this point
Copy the full SHA a894db6View commit details -
Delete the usage of
sed -i
(and replace it bysed && mv
)`sed -i` is not POSIX, it's better to generate a `*.sed` file and move it to the real destination. Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d580220 - Browse repository at this point
Copy the full SHA d580220View commit details -
Specify the architecture into the OCaml's
./configure
scriptCo-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f3a91fa - Browse repository at this point
Copy the full SHA f3a91faView commit details -
Add $$PTHREAD_LIB into our pattern to modify nativecclibs
With OCaml 5, the pattern was updated and has $$PTHREAD_LIB. We update accordingly. Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 31bd923 - Browse repository at this point
Copy the full SHA 31bd923View commit details -
Add runtime/primitives as a dependency for the coldstart rule
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for aeb1b7d - Browse repository at this point
Copy the full SHA aeb1b7dView commit details -
ocamlrun{,d,i} are located into the runtime directory
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5d551fc - Browse repository at this point
Copy the full SHA 5d551fcView commit details -
Delete fake libcamlrun{,d,i}.a from the Makefile
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 26c9f4d - Browse repository at this point
Copy the full SHA 26c9f4dView commit details -
/runtime/Makefile was deleted (OCaml 5.0) and everything is into /Mak…
…efile Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 40f0c2f - Browse repository at this point
Copy the full SHA 40f0c2fView commit details -
Replace ocamlyacc by $$(ocamlyacc_PROGRAM)
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3886e3c - Browse repository at this point
Copy the full SHA 3886e3cView commit details -
Replace the number of domains into our OCaml runtime
Currently, OCaml 5.0 wants to create 128 domains which requires a big allocation. We decided to allow the usage of only 1 domain. Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ee17f73 - Browse repository at this point
Copy the full SHA ee17f73View commit details -
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for da1b4f0 - Browse repository at this point
Copy the full SHA da1b4f0View commit details -
Delete unecessary tweak Makefile rule about objinfo_helper
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9c12de1 - Browse repository at this point
Copy the full SHA 9c12de1View commit details -
Add a missing / into our nolibc's test-include/%.c rule
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d74bf80 - Browse repository at this point
Copy the full SHA d74bf80View commit details -
Add the -p option when we use mkdir (nolibc's Makefile)
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a0b346a - Browse repository at this point
Copy the full SHA a0b346aView commit details -
Set NATIVE_COMPILER to true into the OCaml's Makefile.config
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 217d7fb - Browse repository at this point
Copy the full SHA 217d7fbView commit details -
Add test-include/sys/ as a dependency for test-headers (nolibc's Make…
…file) Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5f6bfca - Browse repository at this point
Copy the full SHA 5f6bfcaView commit details -
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b5db5ce - Browse repository at this point
Copy the full SHA b5db5ceView commit details -
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for be0aad0 - Browse repository at this point
Copy the full SHA be0aad0View commit details -
Initially, we used NULL and it seems that these values are used by GMP. We probably break something here if NULL <> 0 but conventionally, NULL = 0. Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f4f52a2 - Browse repository at this point
Copy the full SHA f4f52a2View commit details -
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 34bc918 - Browse repository at this point
Copy the full SHA 34bc918View commit details -
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 269d9c0 - Browse repository at this point
Copy the full SHA 269d9c0View commit details -
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d6c2e0f - Browse repository at this point
Copy the full SHA d6c2e0fView commit details -
Stub fputs, fopen and fclose and implement puts and putchar
As usual, we stub fputs, fopen and fclose which manipulate file description (and they don't exist with Solo5). However, puts and putchar use stdout and we decided to implement them (they will write _via_ Solo5 into stderr). Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f052909 - Browse repository at this point
Copy the full SHA f052909View commit details -
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 23b4ec5 - Browse repository at this point
Copy the full SHA 23b4ec5View commit details -
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7af0209 - Browse repository at this point
Copy the full SHA 7af0209View commit details -
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1726bba - Browse repository at this point
Copy the full SHA 1726bbaView commit details -
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cd593ac - Browse repository at this point
Copy the full SHA cd593acView commit details -
Note that these functions are not stubbed but they are just exported. They are probably not needed by the OCaml runtime but needed by the way to build OCaml. Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2863bd9 - Browse repository at this point
Copy the full SHA 2863bd9View commit details -
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2c63b4b - Browse repository at this point
Copy the full SHA 2c63b4bView commit details -
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 11e978c - Browse repository at this point
Copy the full SHA 11e978cView commit details -
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d6c7ed4 - Browse repository at this point
Copy the full SHA d6c7ed4View commit details -
Add the sched.h interface (and the CPU_ZERO value)
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3f40660 - Browse repository at this point
Copy the full SHA 3f40660View commit details -
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 88f58da - Browse repository at this point
Copy the full SHA 88f58daView commit details -
Add sysconf.c (to let OCaml to know the _SC_PAGE{,_}SIZE)
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9d56d63 - Browse repository at this point
Copy the full SHA 9d56d63View commit details -
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 66f5aea - Browse repository at this point
Copy the full SHA 66f5aeaView commit details -
Initialise the Thread Local Store
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a11227c - Browse repository at this point
Copy the full SHA a11227cView commit details -
Upgrade ocaml-solo5 with OCaml 5.0
Co-authored-by: Pierre Alain <[email protected]> Co-authored-by: Kate <[email protected]> Co-authored-by: Christiano Haesbaert <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b50d638 - Browse repository at this point
Copy the full SHA b50d638View commit details -
Configuration menu - View commit details
-
Copy full SHA for 06ce260 - Browse repository at this point
Copy the full SHA 06ce260View commit details -
Use __c11 atomic macros when they are available (and fix the LLVM sup…
…port) Co-authored-by: Pierre Alain <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 22ec349 - Browse repository at this point
Copy the full SHA 22ec349View commit details -
Configuration menu - View commit details
-
Copy full SHA for f154390 - Browse repository at this point
Copy the full SHA f154390View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8fa4ee3 - Browse repository at this point
Copy the full SHA 8fa4ee3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c84241 - Browse repository at this point
Copy the full SHA 3c84241View commit details -
Configuration menu - View commit details
-
Copy full SHA for 17113f5 - Browse repository at this point
Copy the full SHA 17113f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for cdb7aa1 - Browse repository at this point
Copy the full SHA cdb7aa1View commit details -
Configuration menu - View commit details
-
Copy full SHA for c0cf23e - Browse repository at this point
Copy the full SHA c0cf23eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7eb825b - Browse repository at this point
Copy the full SHA 7eb825bView commit details -
Configuration menu - View commit details
-
Copy full SHA for a8a84a0 - Browse repository at this point
Copy the full SHA a8a84a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for c3394df - Browse repository at this point
Copy the full SHA c3394dfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4a96b72 - Browse repository at this point
Copy the full SHA 4a96b72View commit details
Commits on Jul 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 47b0f7f - Browse repository at this point
Copy the full SHA 47b0f7fView commit details -
`execv` is used in `header.c` which will not be used in native cross-compiler anyway
Configuration menu - View commit details
-
Copy full SHA for 348772b - Browse repository at this point
Copy the full SHA 348772bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7d9de55 - Browse repository at this point
Copy the full SHA 7d9de55View commit details -
Configuration menu - View commit details
-
Copy full SHA for a29b575 - Browse repository at this point
Copy the full SHA a29b575View commit details -
Configuration menu - View commit details
-
Copy full SHA for 48e8ee5 - Browse repository at this point
Copy the full SHA 48e8ee5View commit details -
Use the compiler-provided
stdatomic.h
Use the builtin implementation of atomics of the compiler instead of a dummy one The compiler-provided `stdatomic.h` follows our constraints. Even if it is not explicitly listed in the freestanding headers: - clang still enables it with `-nostdlibinc` that the solo5 toolchain uses, - all gcc headers are brought into view anyway, - those headers respect `-ffreestanding` (ie they do not pull unwanted headers when `-ffreestanding` is enabled).
Configuration menu - View commit details
-
Copy full SHA for cf55596 - Browse repository at this point
Copy the full SHA cf55596View commit details -
Do not rebuild
nolibc.a
when nothing changedRemove the dependency from `nolibc.a` to a phony target that forces running `ar` on all builds The dependency to the test target is moved to `all`
Configuration menu - View commit details
-
Copy full SHA for 3c03282 - Browse repository at this point
Copy the full SHA 3c03282View commit details -
Trim down
configure.sh
and adapt Makefiles- SYSDEP_OBJS is constant so move it to the relevant Makefile - MAKECONF_CFLAGS is always empty so remove it - Drop the variables concerning the build machine - Rename the variables concerning the target using TARGET (rather than BUILD) - Remove aspects that are to be moved to a new solo5-ocaml toolchain: - adding explicitly the libgcc for the aarch64 target - picking the exact version and options of commands
Configuration menu - View commit details
-
Copy full SHA for 48f9351 - Browse repository at this point
Copy the full SHA 48f9351View commit details -
Clean up typos in
configure.sh
Use `${OPT#*=}` to remove only up to the first `=` (in case more than one appear in the argument)
Configuration menu - View commit details
-
Copy full SHA for 2888a51 - Browse repository at this point
Copy the full SHA 2888a51View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6f590c2 - Browse repository at this point
Copy the full SHA 6f590c2View commit details -
WIP Create a OCaml/Solo5-specific cross toolchain
Add a script to generate all the tools of a OCaml/Solo5 specific toolchain, using the `ARCH-solo5-ocaml-` tool prefix, in order to: - allow to have a clean way to point to the build directories in `-I` and `-L` options for nolibc and openlibm during the build, and to the installed directories after installation - build upon the toolchain autoconfiguration in OCaml's configure, so that it is not necessary to override each tool separately Add Makefile recipes to build the two variants of the toolchain, the one for build and the one to be installed Add a configure option to set up the tool prefix to use for the binutils that are not part of the Solo5 toolchain WIP: This creates wrappers for all the standard binutils, OCaml is using autoconf that detect most of them. This commit goes for consistency (covering them all) but maybe some are really not necessary.
Configuration menu - View commit details
-
Copy full SHA for 5d6a5aa - Browse repository at this point
Copy the full SHA 5d6a5aaView commit details -
Define __BSD_VISIBLE and __XSI_VISIBLE when compiling C files
Define openlibm's __BSD_VISIBLE and __XSI_VISIBLE to false when compiling C files openlibm headers use those macros to detect BSD and X/Open, but solo5 is neither When left undefined, compiling openlibm generates warnings when compiling OCaml (those warnings are turned into errors when compiling development versions of the compiler)
Configuration menu - View commit details
-
Copy full SHA for 6d32ebf - Browse repository at this point
Copy the full SHA 6d32ebfView commit details -
Disable Clang's unused-command-line-argument warning that triggers often as our toolchain is not smart enough to generate only useful arguments for each call
Configuration menu - View commit details
-
Copy full SHA for 00de7bd - Browse repository at this point
Copy the full SHA 00de7bdView commit details -
Clean up options to build libraries
Following the introduction of the OCaml/Solo5 toolchain, clean up all the options used to build the libraries
Configuration menu - View commit details
-
Copy full SHA for 452ac54 - Browse repository at this point
Copy the full SHA 452ac54View commit details -
Use OCaml's cross-compiler-aware configure and make
Use OCaml's cross-compiler-aware versions of configure and make, which are able to detect the toolchain using only the configure `--target` argument Until this is available upstream, this is to be provided through local patches Reorganise Makefile targets so that `ocaml` is no longer both a directory and a phony target to build the compiler: - the `ocaml` target now creates the `ocaml` directory from either an `ocaml-src.tar.gz` archive or from the content of the `ocaml-src` OPAM package, and then applies patches found in `patches/<OCaml version>/` - an empty `_build/ocaml_is_built` file is used to record whether, and when, the compiler was built Accepting an archive for the OCaml sources makes it easy to use any (alpha, beta, ... or custom) version of the compiler, even if no `ocaml-src` package is available for it
Configuration menu - View commit details
-
Copy full SHA for e84b036 - Browse repository at this point
Copy the full SHA e84b036View commit details -
Remove workaround for mirage#101
The specific toolchain allow the proper detection of the math library
Configuration menu - View commit details
-
Copy full SHA for c09bc95 - Browse repository at this point
Copy the full SHA c09bc95View commit details -
Configuration menu - View commit details
-
Copy full SHA for 45f55ab - Browse repository at this point
Copy the full SHA 45f55abView commit details -
Instead of removing the `ocaml` directory, invoke the `clean` and `distclean` rules of the compiler's Makefile, to play nicer with work done in there
Configuration menu - View commit details
-
Copy full SHA for 9342962 - Browse repository at this point
Copy the full SHA 9342962View commit details -
Update the dependencies of the
all
targetUpdate the dependencies of the `all` target to cover everything that needs to be installed Move it to the end, to use variables Create a `default` target to make sure `all` is still the default target
Configuration menu - View commit details
-
Copy full SHA for c016052 - Browse repository at this point
Copy the full SHA c016052View commit details -
Configuration menu - View commit details
-
Copy full SHA for 712b5dc - Browse repository at this point
Copy the full SHA 712b5dcView commit details -
Split up the declaration of phoniness of targets
`ocaml` is no longer a phony target Follow the OCaml's usage of declaring `.PHONY`-ness of targets at the place those targets are defined, to make maintenance easier
Configuration menu - View commit details
-
Copy full SHA for e7fda01 - Browse repository at this point
Copy the full SHA e7fda01View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6894d7f - Browse repository at this point
Copy the full SHA 6894d7fView commit details -
Generate an OPAM .install file
Add two scripts to create an .install file: - `gen_ocaml_install.sh` drives (bends...) OCaml's `make install` in order to generate two subfiles, namely `_build/ocaml.install.lib{,exec}`, containing the lines to install the compiler itself, into the `lib` and `libexec` sections - `gen_dot_install.sh` generates the complete `.install` file, including the content of the subfiles for the compiler The generated `.install` file diverges from the current installation process in that it tries to follow the standard organisation of the OPAM directory: the OCaml cross-compiler is installed in `%{_:lib}%` (ie `%{prefix}%/lib/ocaml-solo5`) instead of `%{prefix}%/solo5-sysroot`. Note that the paths fed to `configure.sh` must be consistent with that for the installed compiler to work as expected.
Configuration menu - View commit details
-
Copy full SHA for 09926fa - Browse repository at this point
Copy the full SHA 09926faView commit details -
WIP Use opam-installer for the install and uninstall targets
In the standard use case, namely installation through OPAM, those targets are no longer necessary, since a `.install` file is generated so that OPAM does the installation itself Remove install.sh and uninstall.sh WIP: Should those targets be completely removed?
Configuration menu - View commit details
-
Copy full SHA for 83f6429 - Browse repository at this point
Copy the full SHA 83f6429View commit details -
Configuration menu - View commit details
-
Copy full SHA for 820fb6b - Browse repository at this point
Copy the full SHA 820fb6bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 726c968 - Browse repository at this point
Copy the full SHA 726c968View commit details -
WIP OPAM package: Depend on the 5.2.0 OCaml compiler
WIP Should the dependency be stricter? As ocaml.5.2.0 accepts ocaml-base-compiler.5.2.0~rc1, which would be rejected by the configure script (maybe the configure script is overly conservative)
Configuration menu - View commit details
-
Copy full SHA for 542f109 - Browse repository at this point
Copy the full SHA 542f109View commit details -
Configuration menu - View commit details
-
Copy full SHA for 75c4174 - Browse repository at this point
Copy the full SHA 75c4174View commit details -
Configuration menu - View commit details
-
Copy full SHA for 23a43dd - Browse repository at this point
Copy the full SHA 23a43ddView commit details -
Use an order-only dependency for nolibc test directory
Co-authored-by: Fabrice Buoro <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 80168f6 - Browse repository at this point
Copy the full SHA 80168f6View commit details -
Update comments in nolibc'
signal.h
Rephrase the comments to catch up with the evolutions of `signal.h` Co-authored-by: Fabrice Buoro <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0df415e - Browse repository at this point
Copy the full SHA 0df415eView commit details -
Follow a suggestion by Christiano Haesbaert, as Solo5 doesn't provide signals, it might just be ignored As of OCaml 5.2.0 beta1, `sigfillset` is only used in functions creating threads, and so that will abort in any case. Ignoring the function may make it more future-proof, though.
Configuration menu - View commit details
-
Copy full SHA for b9575c2 - Browse repository at this point
Copy the full SHA b9575c2View commit details -
Change pthread_create stub to report a failure to create
Make extra sure that, if `pthread_create` is called, the caller will know it failed
Configuration menu - View commit details
-
Copy full SHA for 34f02b9 - Browse repository at this point
Copy the full SHA 34f02b9View commit details -
Ensure that library dependencies work across Makefiles
Since the main Makefile doesn't know the dependencies for the nolibc and openlibm libraries, create intermediate phony targets. That scheme ensures, even when one library already exists, that: - when building a target that depend on that library, a recursive make is invoked to check that it is up-to-date, - if the recursive make doesn't update the library, the dependency on the library is not a reason to rebuild the target.
Configuration menu - View commit details
-
Copy full SHA for 6c9fd42 - Browse repository at this point
Copy the full SHA 6c9fd42View commit details -
WIP: Should the test of version compatibility be relaxed, for instance to accept any version 5.2.0...?
Configuration menu - View commit details
-
Copy full SHA for 89be472 - Browse repository at this point
Copy the full SHA 89be472View commit details -
Configuration menu - View commit details
-
Copy full SHA for c3cebec - Browse repository at this point
Copy the full SHA c3cebecView commit details -
Handle
mmap(addr..., MAP_FIXED, ...)
usesOCaml calls mmap with a non-null address and with the `MAP_FIXED` flag only on already reserved memory to commit or decommit that memory block, ie to set its protection to `PROT_READ|PROT_WRITE` or to `PROT_NONE`, in the `caml_mem_commit` and `caml_mem_decommit` functions So we accept this particular case without allocating memory that would leak since the OCaml code base simply ignores the returned value (as `MAP_FIXED` enforces the returned value to be either `addr` or `MAP_FAILED`) Accordingly, remove the man page extract that says that `addr` is just a hint since OCaml always sets `MAP_FIXED` when `addr` isn't null
Configuration menu - View commit details
-
Copy full SHA for 5ad3cc3 - Browse repository at this point
Copy the full SHA 5ad3cc3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0b3b7ff - Browse repository at this point
Copy the full SHA 0b3b7ffView commit details