Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Improve the packing mechanism used to build Dynlink #2268
This pull request improves the packing mechanism used in the Dynlink makefile so that we can reference compilerlibs from both the bytecode and native dynlink implementations. (At present, it can only be referenced from the bytecode one.) In turn, this means that we can improve the types that are used to describe the format of
This patch means that the dynlink code is no longer "special" as regards what can be referenced, which makes it easier to modify and reduces code duplication.
If you are interested in the details, which are quite grim, please see the various comments that are added in this patch to
After consultation on the core developers' list I am proposing this patch to remove support for compiler plugins. The main motivations for removing compiler plugins are: - They are a potential security risk. - They increase the complexity of the build system and make maintenance of the Dynlink libraries more difficult (although actually, this complexity could probably be reduced after #2268 is merged). - Many applications of plugins should be able to be expressed by building custom compiler drivers that link against compilerlibs. * Remove compiler plugins and hooks * Add new function Dynlink.unsafe_get_global_symbol but keep it outside the documented API. * Remove otherlibs/dynlink/nodynlink.ml * Update Changes
There was one failure on precheck, but it appears to have been a github-related failure that also occurred for another pull request being tested. The relevant platform passed precheck for this GPR on the previous round, so I'm certain enough that this is ok to merge now.