- allow findlib/dune use libraries available from OPAM (@dinosaure #144)
- Ignore pthread_cond_destroy (@dinosaure #144)
- README: fixes (@shym #145)
- opam: add missing depopt (@hannesm 52c9f8d20d9d80dc51e416cc67d03b80dce257af)
- Support for OCaml 5.2.1 (#134 @dinosaure @haesbaert @shym @palainp @kit-ty-kate)
- use ocamlfind instead of opam to discover ocaml-src (@hannesm #142)
- CI fixes (@shym #136, @hannesm #140)
- Deduplicate example, fix formatting (@shym #137)
- Update GitHub actions (@smorimoto #138)
- Fix errors reported by shellcheck (@shym #141)
- malloc: fix the memory allocation tracking for posix_memalign (used in mirage-xen via io-page) (#135 @palainp)
- Fix the compilation of the OCaml toolchain by specifying the right target value (#128 @dinosaure)
- malloc: fix the memory allocation tracking to be precise (fixes #126 reported by @hannesm, #127 @palainp)
- malloc: keep track of memory allocation and release (faster than mallinfo, more accurate than footprint) (#120, @winux138 and @palainp)
- Rename freestanding to solo5 (#114, #115, @dinosaure, @samoht)
- Disable build of ocamltest (#108, @hannesm)
- vfprintf: change long double to double to fix a floating point exception (#110, @palainp)
- Add conf-which as a dependency (#113, @dinosaure)
- remove afl, fp, nnpchecker configure options (#107, @hannesm)
- Add suppport for OCaml 4.14 (#109, @kit-ty-kate)
-
NOTE: This release is a part of the MirageOS 4.0 release and, at this stage,
ocaml-freestanding.0.7.0
will not continue to support MirageOS 3 unikernels.ocaml-freestanding
becomes a real cross-compiler used then bydune
(with the cross-compilation option) to compile libraries including C stubs. For the MirageOS 4.0 perspective, libraries which include C stubs does not need anymore to compile multiple times C artifacts depending on whatocaml-freestanding
provides. Thedune
context will help the compilation of these C stubs according the target chosen by the end-user (with themirage
tool). -
Add compatibility with the solo5 0.7.0 package split. (#104)
-
Build a freestanding cross-compiler to use with the ocamlfind toolchain feature. This cross-compiler is able to build partial executables to link with a solo5 bindings library. (#104)
-
Fix the OpenBSD 7 support (#104)
-
Remove
pkg-config
(#104)
- Fix compilation on alpine 3.13+ with OCaml 4.13+ by providing LDFLAGS including -lopenlibm to OCaml's configure (#99, @dinosaure, fixes #97)
- Add support for OCaml 4.13 (#95 #94, @kit-ty-kate @dra27)
- Remove cflags and libs flags that are no longer used in the MirageOS-with-dune development (#91 @hannesm, reverts #50 @TheLortex). These were introduced in version 0.4.4.
- Add support for OCaml 4.12 (#88, @kit-ty-kate)
- nolibc: dlmalloc: Improve security posture and robustness by always enabling assertions, initialising magic value for heap canaries using monotonic time and enabling FOOTERs. (#87, @mato)
- Fix
posix_memalign()
return values in failure cases. (#82, @mato)
- Add support for Solo5/xen bindings,
posix_memalign()
. (#81, @mato) - nolibc: Implement
assert()
which was previously a no-op. (#80, @mato)
Downstream OPAM packages with C code that wish to use the interfaces/headers added in this release should depend on ocaml-freestanding { >= 0.6.1 }
.
- Drop support for OCaml 4.06 and 4.07. (#72, @hannesm)
- Define an
__ocaml_freestanding__
preprocessor macro, undefine leaky host toolchain preprocessor macros (__linux__
,__FreeBSD__
,__OpenBSD__
et al.), provide an<endian.h>
. (#74, @mato) - Install all OCaml runtime headers. (#75, @hannesm)
- Provide a minimal
<inttypes.h>
. (#76, @mato, fixes #60) - Various build system improvements and cleanups. (part of #74, #76, @mato)
Note that #74 may break downstream C code that uses #if...#elif...#endif
chains to detect the system it is built on. Such code should be explicitly adapted to detect the presence of ocaml-freestanding by testing for the __ocaml_freestanding__
preprocessor macro.
Further, downstream OPAM packages with C code that wish to use the interfaces/headers added in this release should depend on ocaml-freestanding { >= 0.6.0 }
.
- Drop support for OCaml 4.05.0. (#64, @hannesm)
- Add FreeBSD CI using Cirrus CI. (#67, @hannesm)
- Build system cleanups. Move to fully using autotools for OCaml >= 4.08.0. Improves portability to less common platforms, such as OpenBSD. (#65, @hannesm / @mato)
- OCaml 4.10.0 support. (#68, @kit-ty-kate)
- Add support for OCaml 4.09.0 (@hannesm)
- Fix support for OCaml 4.08.1+ (@hannesm)
- Add support for OCaml 4.08.0 (@avsm, @hannesm, @mato)
- Add support for upcoming Solo5 "spt" target (@mato)
- dlmalloc: expose struct mallinfo and mallinfo() (@hannesm)
- Various build system changes for "non-OPAM" (dune) support (@mato, @hannesm)
- Add a link test to Travis CI (@hannesm, fixes #24)
- Remove support for OCaml < 4.05.0, matching MirageOS requirements (@hannesm)
- Fix system compiler, add system switch to Travis CI via INSTALL_LOCAL. Reverts part of #50. (@hannesm, #51).
- Use solo5_abort in abort() (@hannesm, #49)
- Expose flags through files and enable the use of -runtime-variant (@TheLortex, #50)
- Solo5 bindings for Genode (@ehmry, #46)
- Migrate to OPAM2 (@hannesm, #44)
- Correctly check heap bounds if heap + stack are not contiguous (@ehmry, #43)
- Install an empty META file to keep ocamlfind etc. happy (@hannesm, #45)
- Update to Solo5 0.4.0 OPAM package and target names (@mato, #41)
- Support OCaml 4.07.0 (@hannesm, #39)
- Update to Solo5 v0.3.0 APIs (@hannesm/@mato #30, #32, #34)
- Update openlibm to a844d58@master (@mato, #37)
- Add OpenBSD support (@adamsteen, #35)
- Update dtoa.c to fix #18 (
string_of_float
incorrectly returns-nan
) (@mato, #28). - Support OCaml 4.06.0 (@mato, #27)
- Add additional stubs needed by newer gmp (@hannesm, #26)
- aarch64 support (@mato, #25)
- Support OCaml 4.05.0 (@mato, #23)
- Fixes for OCaml 4.04.1+ (@mato, #22)
- Silence STUB: warnings by default (@mato, #19)
- Add support for solo5-kernel-muen, not exposed in Solo5 or MirageOS yet (@Kensan, #18)
- Declare
OCAML_OS_TYPE
asfreestanding
(@hannesm, #14)
- FreeBSD support (@mato, @hannesm)
- OpenLibm supplied as a git subtree (@mato, #11)
- Support OCaml 4.04.0 (@mato, #8)
- Initial release for publishing to opam.ocaml.org.