Commit Graph

10 Commits (master)

Author SHA1 Message Date
Mark Shinwell 36c163248d Remove support for compiler plugins (#2276)
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
2019-03-13 11:46:37 +01:00
Xavier Clerc 7e29162582 Pass the elements from `BUILD_PATH_PREFIX_MAP` to the assembler (#1930) 2018-07-27 12:25:23 +02:00
Mark Shinwell 70c585d5eb Take PLT-clobbered registers into account at Ialloc (#1304)
Mark PLT-clobbered registers as destroyed across the Ialloc instruction.

Currently only x86-64 is affected, in PIC mode only, and only with the glibc dynamic loader.
2017-08-28 19:09:57 +02:00
Damien Doligez 5401ce8473 Update headers for the new license.
Remains to be done: remove all headers in testsuite/tests.
2016-02-18 16:59:16 +01:00
Damien Doligez b860d63145 whitespace cleanup, cut long lines, add some missing headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16415 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-11 11:58:31 +00:00
Alain Frisch 654521cbd4 Support far relocations in Win64, using a custom local implementation of something similar to the GOT table. This allows loading .cmxs units far from the main process. Might fix #6594 as well.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15900 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-03-11 16:02:20 +00:00
Alain Frisch e5c5963a36 Revert previous commits (not ready yet).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15792 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-22 16:31:51 +00:00
Alain Frisch 2535da8317 Adapt amd64 backends under windows in order to avoid relative relocations to symbols that could be defined in other images. This is necessary to allow .cmxs to be loaded at arbitrary addresses. 32-bit relative relocations could previously fail if the .cmxs was loaded too far from the main program. Require flexdll 0.34, which has improved support for __imp_X symbols.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15789 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-22 13:18:45 +00:00
Alain Frisch 8b9733eb3a Support for the byte directive under solaris 32-bit.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15616 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-28 15:44:02 +00:00
Alain Frisch 9decba7731 Rename Intel_* to X86_*.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15612 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-27 17:12:21 +00:00