I've recently upgraded my project-local copy of LLVM from 3.1svn to the latest 3.2svn, and all hell broke loose in my attempts to build OCaml projects. Trying to narrow it down, I tried testing examples/OCaml-Kaleidoscope and eventually test/Bindings, only to discover that literally nothing in the repository which uses the OCaml bindings seems to build in the current trunk: - OCaml-Kaleidoscope/Chapter{2-6} fail early with apparent Makefile misconfigurations - test/Bindings/OCaml/* fail to link for lack of `_LLVMConstInlineAsm`, which is also the first (of many) symbols I struggled to link correctly in my own project after upgrading and rebuilding. Is this a known state of affairs? This came up first on OS X 10.8.1, Homebrew OCaml 3.12.1, and a fresh bare checkout of trunk at 163420. I reproduced it exactly on Ubuntu 12.04 (with stock OCaml 3.12.1 and trunk at 163420). Thanks.
The linking issue is a recent breakage. I traced it back to r163175. Basically LLVMConstInlineAsm() got an additional parameter, but the C headers and the OCaml bindings were not updated accordingly. About the miscompilations, can you provide further details? Nuno ----- Original Message -----> I've recently upgraded my project-local copy of LLVM from 3.1svn to the > latest 3.2svn, and all hell broke loose in my attempts to build OCaml > projects. > > Trying to narrow it down, I tried testing examples/OCaml-Kaleidoscope and > eventually test/Bindings, only to discover that literally nothing in the > repository which uses the OCaml bindings seems to build in the current > trunk: > > - OCaml-Kaleidoscope/Chapter{2-6} fail early with apparent Makefile > misconfigurations > - test/Bindings/OCaml/* fail to link for lack of `_LLVMConstInlineAsm`, > which is also the first (of many) symbols I struggled to link correctly in > my own project after upgrading and rebuilding. > > Is this a known state of affairs? > > This came up first on OS X 10.8.1, Homebrew OCaml 3.12.1, and a fresh bare > checkout of trunk at 163420. I reproduced it exactly on Ubuntu 12.04 (with > stock OCaml 3.12.1 and trunk at 163420). > > Thanks.
On Sep 7, 2012, at 3:40 PM, Nuno Lopes wrote:> The linking issue is a recent breakage. > I traced it back to r163175. Basically LLVMConstInlineAsm() got an additional parameter, but the C headers and the OCaml bindings were not updated accordingly.r163175 was my change. I'm not familiar with the OCaml project. If I'm responsible for updating said C headers/OCaml bindings, would someone mind pointing me in the right direction? If not, let me know if I can be of assistance. Chad> > About the miscompilations, can you provide further details? > > Nuno > > > ----- Original Message ----- >> I've recently upgraded my project-local copy of LLVM from 3.1svn to the latest 3.2svn, and all hell broke loose in my attempts to build OCaml projects. >> >> Trying to narrow it down, I tried testing examples/OCaml-Kaleidoscope and eventually test/Bindings, only to discover that literally nothing in the repository which uses the OCaml bindings seems to build in the current trunk: >> >> - OCaml-Kaleidoscope/Chapter{2-6} fail early with apparent Makefile misconfigurations >> - test/Bindings/OCaml/* fail to link for lack of `_LLVMConstInlineAsm`, which is also the first (of many) symbols I struggled to link correctly in my own project after upgrading and rebuilding. >> >> Is this a known state of affairs? >> >> This came up first on OS X 10.8.1, Homebrew OCaml 3.12.1, and a fresh bare checkout of trunk at 163420. I reproduced it exactly on Ubuntu 12.04 (with stock OCaml 3.12.1 and trunk at 163420). >> >> Thanks. >