Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-09-12[jit] Add an intrinsics for BitConverter.IsLittleEndian. (#10531)Zoltan Varga
2018-08-16gcc/win32 emulates __thread, which is not clearly worthwhile. (#9672)Jay Krell
2018-08-07Merge pull request #8654 from alexanderkyte/enable_linux_dumpingAlexander Kyte
Enable mono-state-based telemetry for crashing on CI
2018-08-02[runtime] Cross32 changes. (#9840)Zoltan Varga
* [offsets-tool] Add i386-apple-darwin11.2.0 as an abi target, used only for development. * [offset-tool] Emit sizes for structures. * [runtime] Cleanup the cross targets in configure.ac and add more target defines. Redefine SIZEOF_REGISTER to refer to the target size. Add TARGET_SIZEOF_VOID_P define and target_mgreg_t type. * [runtime] Add missing object offsets for x86. * [runtime] Avoid trying to execute assembly load hooks in aot mode. * [runtime] Fix the windows build. * [offset-tool] Fix indentation. * [runtime] Add a mono_gc_get_target_card_table () function which is the same as mono_gc_get_card_table () but returns information for the target. Use it in the JIT and in places where we generate IL code. * [aot] Save the card table parameters in the AOT image and check them at load time. * Fix llvm support.
2018-07-30Revert "[runtime] Make unhandled state dumper OSX-specific"Alexander Kyte
This reverts commit f72d9b05296e28ca2a9763d21def7c20e0d97905.
2018-07-20Update Windows requirement from Vista (6.0) to 7 (6.1). (#9568)Jay Krell
2018-07-19Use __declspec(thread) with Visual C++, and __thread with Win32/gcc, (#9594)Jay Krell
* Use __declspec(thread) with Visual C++, and __thread with Win32/gcc, instead of much slower TlsGetValue / TlsSetValue * Avoid affecting Boehm. * Replace HAVE_KW_THREAD and USE_KW_THREAD with MONO_KEYWORD_THREAD.
2018-06-30Enable incompatible-pointer warnings on Windows/gcc like Unix/gcc. (#9221)Jay Krell
Suppress the very many Visual C++-specific warnings introduced recently by typesafe handles.
2018-06-20Add LLVM AOT/Full AOT support on Windows x64.lateralusX
Uses mono LLVM master branch, build using cmake and VisualStudio 2015/2017. Commit adds support for AOT/Full AOT LLVM codegen for Windows x64 Visual Studio build mono runtime. Normal configure/make using cygwin won’t support LLVM and will trigger an error if configured. In order to build using LLVM first mono LLVM master branch must be build using static linked LLVM configuration (dynamic loading can be added later), NOTE mono LLVM build needs to include the following commit, https://github.com/mono/llvm/commit/9b92b4b87607e137266f84dc307181b8842fe54a in order to successfully build on Windows x64. Build mono LLVM branch using the following cmake configuration: -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ZLIB=OFF -DLLVM_TARGETS_TO_BUILD="X86" -DCMAKE_CROSSCOMPILING=False -DCMAKE_SYSTEM_NAME=Windows Use cmake with -G "Visual Studio 14 2015 Win64" to generate VS 2015 x64 targets. NOTE, if mono runtime is build using VS 2017, then LLVM should be build using the same VS version using -G "Visual Studio 15 2017 Win64" To enable LLVM build in mono.sln, set MONO_ENABLE_LLVM to “true” and make sure MONO_LLVM_INSTALL_DIR_PREFIX points to the install directory used in LLVM build above, default msvc/dist/llvm. Above LLVM properties can also be set if build using msbuild. A sample LLVM configure script has been included in msvc/llvm-cmake-config.bat.
2018-06-14Quash countless warnings until/unless other work is done to address them. ↵Jay Krell
(#9115)
2018-06-14Replace powershell in winsetup.bat with pure batch script (#9093)Jay Krell
This reduces our dependency on powershell.
2018-03-16Fix platform-specific build issues (#7342)Joshua Peterson
* Fix platform-specific build issues These changes allow some of the Mono code used by the debugger to build on a few additional platforms. Specifically, this includes platforms: * That don't have access to the full Win32 API * That don't have access to the full Posix API * That don't support IPv6 * Wrap `access` and `_access` in `g_access` * Convert indentation to tabs * Wrap `mktemp` and `_mktemp` in `g_mktemp` * Wrap `open` and `_open` in `g_open` * Wrap `write` and `_write` in `g_write` * Fix indentation * Use proper asserts * Add a configure check for `access` * Remove the use of HAVE_XBOXONE_WINAPI_SUPPORT * Replace the previous definition of `g_open` I missed that it was here in my earlier commit, and ended up redefining it. * Use `g_error` instead of `g_assert(0)`
2018-03-09[metadata] split IL generation code into seperate compilation units. (#7487)Bernhard Urban
* [metadata] split IL generation code into seperate compilation units. * [metadata] move ENABLE_ILGEN definition to configure * [metadata] split IL generation code into seperate compilation units. By adding callbacks for IL generating runtime code, we can link in code later into the runtime that does such for configurations which do not need IL generation initially. This is the case if you configure the runtime with `--enable-minimal=jit,interpreter`. In such configuration, the build will produce an additional library, called `libmono-ilgen`. An embedded can choose to link this library to the final binary and initialize IL generation with the following three, newly added, API calls: * `void mono_marshal_ilgen_init (void)` * `void mono_method_builder_ilgen_init (void)` * `void mono_sgen_mono_ilgen_init (void)` This change is mostly moving code around, but there are minor changes like introducing the enum `MarshalTypeCheckPositions`, so we avoid copy/paste constants accross compilation units. * [windows] add IL gen files to windows build and set ENABLE_ILGEN * [fixup!] fix windows build * [fixup!] resolve merge conflicts with class getter commits * marshal.c: b8da9736209427ef49267923e1321c801c65dfd2 * sgen-mono.c: 8ba4947f7a3b37b3c5e5458834109fad317f91bc at some point I gave up to resolve merge conflicts and worked through errors/warnings by compiling with > `CFLAGS=-DENABLE_CHECKED_BUILD_PRIVATE_TYPES=1` so the result is likely a bit different * redo lost changes from 57f3f34e60ee6d17fb1dada4b8799f3d753ca2b0 * redo lost changes from 52514effbf19992edc323ff9d7bf21766bc50b2c * [fixup!] fix array marshal * [method-builder] use eglib types review comment by Ludovic, https://github.com/mono/mono/pull/7375#discussion_r171876337 * [marshal] remove stelem strings from header review comment by Rodrigo, https://github.com/mono/mono/pull/7375#discussion_r171921029
2017-11-14[interp] fix build on windows (#6000)Bernhard Urban
it was fine on CI, but developers can run into build errors if they don't follow a strict order (due to autotools fighting with `winconfig.h`). `basic.exe` passes, but everything involving native transitions crashes.
2017-11-08[interp] enable it by default in configure (#5925)Bernhard Urban
* [interp] enable it by default in configure can be disabled via --enable-minimal=interpreter, like other components in the runtime. * [interp] use DISABLE_INTERPRETER in Makefile.am.in so it is closer to what we had before * [interp] improve handling of interpreter flag and also check if we are on a cross-compile runtime * [configure] add interpreter to the list of --enable-minimal * [ci] remove --enable-interpreter from script * [windows] disable interpreter for now * [driver] add output about availabilty of interpreter in --version * [man] add entry to mono.1 about --interpreter * [driver] update --interpreter handling
2017-08-15[runtime] Use HOST_ defines instead of PLATFORM_ defines. (#5362)Zoltan Varga
2017-08-08[runtime] Move eglib into mono/eglib so it becomes a convenience library ↵Zoltan Varga
similar to utils/ etc. (#5297)
2017-06-15Revert "[win] set HAVE_ONLINE_VES" (#5038)Bernhard Urban
This reverts commit 501e77f91215d31c56aa63de0c99c91d8b13bfa5. superseded by https://github.com/mono/mono/pull/5000
2017-06-08[win] set HAVE_ONLINE_VESBernhard Urban
2017-04-26Define HAVE_STRUCT_SOCKADDR_IN6 on Windows (#4755)Joshua Peterson
This enables IPv6 support on Windows.
2017-03-16Include Mono version in corlib versionAlexander Köplinger
This makes it possible to version the runtime<->corlib interface for each version branch independently and fixes the problem of monolite getting overwritten by changes in different branches when corlib version is still the same. We're moving definition of the corlib version into configure.ac so we can more easily bake the Mono version into it.
2017-02-28Improve unwind support on Windows x64.lateralusX
This commit improves the unwind support on Windows x64 by implementing a number of missing features. It also adds support for out of proc function table callback module on older OS versions and switch to different function table methods (growable function tables) on Win8/Win2012Server and later OS versions. Commit aligns more to the windows x64 prolog/epilog ABI, but since mono uses negative offsets from frame pointer while x64 windows uses positive, it is not possible to do a 100% "correct" representation in the prolog, but if we don’t give the OS unwinder the full unwind metadata in the frame pointer use case, we can trick unwinder to do the right thing presenting correct callstacks in debuggers. Commit includes representation of windows unwind info in mono's unwind data using extensions to better integrate windows specific unwind info in areas currently not supported (like trampolines). It will also be easier to implement unwind info in full AOT objects in the future, if windows specific unwind data is included in mono’s unwind data structures. On Win8/Win2012Server and later OS versions, all function table data is registered using growable function tables giving full support for callstacks on live debug targets and crash dumps. On previous OS versions function table callbacks are used together with an out of proc module. This works for live debugging in WinDBG and Visual Studio (if right permissions are given to the debuggers to load out of proc unwind module). Crash dumps works as expected in WinDBG but currently not in Visual Studio for older OS versions using callback support. If that use case needs to be supported it needs to be solved in a separate PR, but since we support crash dumps in Visual Studio on later OS versions and in WinDBG on earlier, it is still possible to analyze crash dumps by picking the right tool. Debuggers needs some additional information to work with function table callbacks out of proc modules (NOTE, this is NOT needed on Win8/Win2012Server and later). WinDBG: To just do live debugging, it is possible to run the following command in WinDBG, settings set EngineInitialization.VerifyFunctionTableCallbacks=false To do crash dump analysis the following registry key needs to be set, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\KnownFunctionTableDlls Add the full path to mono-2.0-dac-sgen.dll matching the mono-2.0-sgen.dll as a 32-bit REG_DWORD. NOTE, adding the registry key removes the need to set the setting. Visual Studio: To do live debugging, set the same registry key as WinDBG use case.
2016-11-08Build mono runtime under none desktop Windows API family, adjustments and ↵lateralusX
cleanup. Continuation work on previous none desktop Windows API family PR's adjusting all changes to similar patterns used over previous PR's. This PR also move the logic to silence a MS VS linker warning on empty source files into a macro. It also includes the use of the macro in a couple of more source files causing linker warnings when build on none desktop API families excluding JIT support. Since other Windows API family work is still in progress it also disables build capabilities for none desktop API families.
2016-09-27Build eglib under none desktop Windows API family.lateralusX
Initial work to build eglib under none desktop Windows API family. Classic Windows API have been split into families and partitions in order to support different subsets on different Windows platforms. In order to build against other Windows targets/platforms Mono needs to follow these families/partitions in order to successfully build where API’s have been removed/replaced. Since most Mono platforms uses the Windows API signatures a new defined has been added to all platforms, HAVE_CLASSIC_WINAPI_SUPPORT, used to decide what implementation to include. On none Windows platforms this is always defined and on Windows platforms it follows the winapifamily.h. In order to keep down regressions, the existing API’s are kept for HAVE_CLASSIC_WINAPI_SUPPORT even if there are more modern replacements available.
2016-04-20[profiler] Remove unused OProfile stuff from the build system.Alex Rønne Petersen
2016-04-12Fixed issue on x64 windows Visual Studio builds where signal define values ↵lateralusX
got mixedup. Caused incorrect exception behavior and failures in basic.exe, exceptions.exe regression test on x64 windows. This was due to the fact that some source files didn't include signal.h while others did. In case where signal.h was not included incompatible defines were used for SIGILL and SIGFPE in mini-amd64.h.
2015-12-11[io-layer] Remove shared handles cross process supportLudovic Henry
2015-12-08[msvc] Automatically update (win-)config.h with the correct version numberAlexander Köplinger
A small powershell command grabs the version number from configure.ac and uses it during winsetup.bat, this way we don't have to manually keep them in sync.
2015-12-07[msvc] Fix a few missing renames from ARCHITECTURE -> MONO_ARCHITECTUREAlexander Köplinger
They were missed in 43403b8221ed0d6e65d4766fc629f178915df4e4.
2015-09-03[windows] Check for WINVER define before re-defining.triton
2015-08-06Fixed MSVC solution to compile straight out of the boxsdridi
2015-07-24[runtime] Check for signal function in Autoconf.João Matos
2015-06-16Define HAVE_SYSTEM for Windows.Rolf Bjarne Kvinge
2015-05-25[windows] Fixed MSVC config.h to define HAVE_COMPLEX_H.Joao Matos
2015-05-15[runtime] Drop support for external libgc.Alex Rønne Petersen
This has not been supported for a while, so remove it.
2015-04-20Bump Windows version requirement to Vista.Vincent Povirk
2015-03-11Bump winconfig.h to 4.1.0Jo Shields
2015-01-15[msvc] Fixed the build.João Matos
2014-11-25[msvc] Allow cygwin "make" to be called after winsetup.batJo Shields
As-is, winsetup.bat replaces config.h with winconfig.h, which is needed for the MSVC compilation - but breaks all further use of cygwin's make (e.g. to build the class library, or run "make install"). This patch introduces a new cygconfig.h as a backup prior to squashing config.h (if it exists, so the runtime can still be built without cygwin ever being used), and makes winconfig.h use it on non-MSVC compilers (i.e. cygwin)
2014-11-20[msvc] Bump winconfig.h VERSION to match configure.acJo Shields
Unhelpfully, winconfig.h is used for building eglib, and it includes a hardcoded VERSION definition which needs to match configure.ac - otherwise msvc builds identify themselves as 2.11
2014-10-09[runtime] Remove pre WinXP SP2 windows support code.Zoltan Varga
2014-06-26Remove MONO_SIZEOF_SUNPATHJonas 'Sortie' Termansen
The configure script determines the size of the sun_path member in struct sockaddr_un. However the test is broken during cross-compilation (with a comment that there is no macro to determine the size of struct members at configure time) and MONO_SIZEOF_SUNPATH defaults to 0 (leading to buffer underflows and overflows). There is no reason to determine this at configure time when a simple traditional sizeof will do the job at compile time. This change is released under the MIT/X11 license.
2014-06-22Moved _WIN32_WINNT to winconfig.h; dropped support for WinXP SP1 and belowi59
Win32 compilation was broken due to attempting to use Interlocked* functions introduced with XP SP2.
2014-05-25Rename configure.in -> configure.ac. Based on PR #976.Alex Rønne Petersen
2014-03-06[runtime] Disable MONO_XEN_OPT on windows.Zoltan Varga
2013-12-12Add HAVE_DECL_INTERLOCKED* symbols to winconfig.h.Vincent Povirk
This commit licensed as MIT/X11.
2013-12-04Remove some more mdb bits.Alex Rønne Petersen
2013-11-20Check for __readfsdword at configure-timeAndrew Eikum
Recent versions of mingw-w64 have moved this definition to a header included by this file, so checking simply for GCC would cause a multiple definition error. We should instead check for this function's availability at configure-time. These changes are released under MIT/X11 license.
2013-09-20Test for InterlockedCompareExchange64 in the configure script.Vincent Povirk
mingw.org doesn't have this function but mingw-w64 does. This commit is licensed under MIT/X11.
2012-03-08Rework vcxproj files to match Makefile based build. Build libmonoutils and ↵Jonathan Chambers
libmonoruntime seperate from libmono. Initial work on building sgen enabled mono with VS.