summaryrefslogtreecommitdiff
path: root/src/tools
AgeCommit message (Collapse)AuthorFilesLines
2016-04-28Merge pull request #4572 from JohnChen0/crossgen-createpdbJan Kotas1-1/+1
Enable crossgen /createpdb command on Windows
2016-04-26Merge pull request #4528 from gkhanna79/DynamicJITLoadGaurav Khanna1-1/+5
Refactor FEATURE_MERGE_JIT_AND_ENGINE to allow consuming JIT as a dynamic library
2016-04-26This has following changes:Rahul Kumar2-11/+3
1. Update arm64 toolset to latest. 2. Link against ucrt. 3. Fix tls offsets which have changed due to updated toolset 4. Fix source code in decimal.cpp to avoid integer overflow. Result of signed integer overlfow is undefined in C++. 5. Enable build of sos which can be loaded in arm64 windbg 6. Add nop to empty assembly marker methods as new toolset generates invalid .pdata for them.
2016-04-26Keep FEATURE_MERGE_JIT_AND_ENGINE with refactored approachGaurav Khanna1-1/+5
2016-04-25Enable crossgen /createpdb command on WindowsJohnChen01-1/+1
2016-04-20Change the names of the JIT products to `clrjit`.Pat Gavlin1-6/+1
- The static library to be linked into the CLR is now `clrjit_static` - The static library to be linked into crossgen is now `clrjit_crossgen` - The dynamic library is now `clrjit`
2016-04-16Cleanup VCRuntime140.dll dependency from native componentsGaurav Khanna1-1/+2
2016-04-14Make it possible to build JIT32 in the OSS tree.Pat Gavlin1-2/+7
This change adds a new argument to build.cmd, buildjit32, that configures the build to build and link JIT32 instead of RyuJIT if the sources are available in `src/jit32`.
2016-03-24Remove static lib dependency on CrossGenKyungwoo Lee1-5/+1
The motivation is for enabling ARM64 which does not have correct static lib with the current toolset. But looking at other console apps (ilasm/ildasm/coreconsole/corerun) or coreclr.dll, they also have dependency on msvcrt for Windows. So, I've decided to make crossgen.exe with the same flavor. This changes reduces the binary size -- 10M -> 9M (Debug). Release binary is slightly smaller. I've validated this by comparing .ni.dll for all FX assemblies that we use for tests (under CORE_ROOT), which are identical before and after.
2016-03-22Merge pull request #3794 from mikem8361/stripsymMike McLaughlin1-6/+3
Strip symbols on release builds into separate binaries
2016-03-22Strip symbols on release builds into separate binariesMike McLaughlin1-6/+3
Issue #3669 Created a common cmake strip_symbols function that all the modules and programs use to strip the symbols out of the main into a separate .dbg (Linux) or .dSYM (OSX) file. Added an install_clr cmake function to encapsulate the install logic. Changed all the library module cmake install lines from a TARGETS to a FILES one. The TARGETS based install directives caused cmake to relink the binary and copy the unstripped version to the install path. Left the all programs like corerun or ildasm as TARGETS installs because on OSX FILES type installs don't get marked as executable. Need to use "get_property(strip_source_file TARGET ${targetName} PROPERTY LOCATION)" for the older versions of cmake and "set(strip_source_file $<TARGET_FILE:${targetName}>)" on newer versions (v3 or greater).
2016-03-21Delete legacy netcf compat support (part 1)Jan Kotas1-11/+0
2016-03-19Fix a CrossGen CreatePDB issue that caused a Windows build breakJohn Chen1-0/+8
CrossGen /CreatePDB command gives preference to the TPA list while loading assemblies. So if the TPA contains the IL version of the input assembly but not the NI version, we would end up loading the IL instead of NI. This causes the CreatePDB command to fail, since it can't operate on IL images. This is fixed by putting the input file as the first entry in the TPA list. Another issue is when the above error does occur, the error message is very unclear (it only shows "Unspecified error"). This is fixed with a better error message. [tfs-changeset: 1587876]
2016-03-16Update code to use COMPlus_ instead of COMPLUS_ when referencing knobsManu1-2/+2
2016-03-09Delete dead codeJan Kotas1-89/+0
- Delete BINDER, STANDALONE_BINDER and MDIL ifdefs
2016-03-04Fixup CRT linkages for uCRTGaurav Khanna3-2/+17
2016-02-29Support long paths in CoreCLR runtime on WindowsJohn Chen (JOCHEN7)1-34/+6
The CoreCLR runtime is updated to support long file paths on Windows. Pending updates to mscorlib.dll, the following scenarios are supported: * Run managed apps from a long path. * Load CoreCLR runtime and framework from a long path. * Load user assemblies from a long path. * Run CrossGen from a long path, with its input/output from a long path. * Generate debug log file at a long path. The following scenarios are not yet supported, and will be fixed in future commits: * Mscorlib.dll and framework assemblies are not yet long path compatible. Note that until mscorlib.dll is fixed, most of the runtime changes can't actually be used. * Support on non-Windows platforms. * Support for debugging and error reporting. * Tools such as ilasm or ildasm.
2016-02-23Update crossgen /CreatePerfMap to clear NGENWORKER_FLAGS_READYTORUN.Brian Robbins1-1/+4
2016-02-19This Change Adds initial Support for LongFiles in the VM,Rama Krishnan Raghupathy1-18/+19
They are: 1. Wrappers for OS APIs which take or return PATHS 2. Fixing the usage of following Api's: GetEnvironmentVariableW SearchPathW GetShortPathNameW GetLongPathNameW GetModuleFileName Work remaining: Remove fixed size buffers in the VM
2016-02-12Fix build issue #788907: crossgen /createpdb not workingdotnet-bot1-1/+1
[tfs-changeset: 1575079]
2016-02-10Change crossgen defaultsJan Kotas1-2/+14
Change crossgen to generate R2R images by default
2016-02-06Delete mdil support from coreclrJan Kotas2-7/+1
[tfs-changeset: 1573006]
2016-02-01Fix OACR errors for ProjectKdotnet-bot1-3/+4
[tfs-changeset: 1570939]
2016-01-27Update license headersdotnet-bot16-64/+48
2016-01-22Use coreclr buildtools nuget package instead of compiling the tools used ↵Rahul Kumar1-5/+0
during build. This only applies to windows build.
2016-01-21FIx the incremental build for WindowsJan Vorlicek1-1/+1
Conflicts: build.cmd src/dlls/clretwrc/CMakeLists.txt Cleanup
2016-01-16Merge pull request #2707 from dotnet-bot/from-tfsMatt Ellis3-0/+14
Merge changes from TFS
2016-01-15rollback 1565534 and also fix build breakRahul Kumar1-0/+6
[tfs-changeset: 1565674]
2016-01-15Rollback changeset 1565223.Wes Haggard1-6/+0
[tfs-changeset: 1565534]
2016-01-14Fix for Build Issue #785302:Rahul Kumar1-0/+6
tools were still not getting built for projectK build....fixed that. Verified on local machine using below command msbuild /t:rebuild /p:ProductGroupsToBuild=PK dirs.proj [tfs-changeset: 1565223]
2016-01-14Enable the fPIE compiler option for executables in the coreclr repo on Unix ↵Sergiy Kuryata1-0/+4
platforms
2016-01-14Add OSS license headers to all new files in githubRahul Kumar2-0/+8
[tfs-changeset: 1565108]
2016-01-13coreclr BuildTools for github builds - instead of building the tools (which ↵Rahul Kumar5-3/+21
do not change) create a nuget package This contains changes for following: 1. Binplace & sign following binaries a. pdbtypematch.exe (only build in x86 ret .... build errors for other flavors) b. dactableGen.exe c. dialib.dll d. GenClrDebugResource.exe e. InjectResource.exe 2. add sources of PdbTypeMatch tools in github 3. bump up the version of coreclr buildtools package to 1.0.4 4. add above tools to coreclr buildtools package 5. remove bclrewriter from coreclr buildtools package 6. build dotnet.builtools.coreclr package only for x86 ret builds as pdbtypematch.exe only builds for ret flavor. [tfs-changeset: 1564332]
2015-12-14PAL Module/shutdown cleanup.Mike McLaughlin1-8/+0
Added a PAL_Shutdown function that cleans/shutdowns the PAL without exiting/terminating the process doing exactly what ExitProcess/TerminateProcess before exiting the process. Removed the PAL_InitializeCoreCLR export. The new coreclr_* hosting apis should be used. Moved the "is module manager initialized" check (exe_module.prev != NULL) inside the module lock to prevent races during shutdown in LOADCallDllMain. Removed LOADFreeModules so we never try to call the DLL_PROCESS_DETACH handlers. Most of this cleanup happened because I was trying to getting the DLL_PROCESS_DETACH notifications working, but there were too many opportunities for deadlock. Emulating Windows behavior isn't that important and in this case will cause more problems that it fixes. Removed PAL_RegisterLibrary*/PAL_UnregisterLibrary. They were only used in one place to load modules that don't exist anymore (rotor_palrt and sscoree). Renamed LOAD_SEH_CallDllMain to LoadCallDllMainSafe (we don't usually use _ in names) and use this function in all the places we call the DllMain handler. This combines some code in a common place and protects all DllMain calls from exceptions. Source code formatting cleanup and moved internal functions around to be next to the rest of the internal functions. Initialize pDllMain to NULL in LOADAllocModule. Get the DllMain function address into LOADAddModule so that it is initialized in the PAL_RegisterModule path. Changed PAL_UnregisterModule not to call the DllMain function.
2015-12-11Port of all JIT changes for .NET Framework 4.6.1 changesBrian Sullivan1-7/+2
http://blogs.msdn.com/b/dotnet/archive/2015/11/30/net-framework-4-6-1-is-now-available.aspx .NET Framework list of changes in 4.6.1 https://github.com/Microsoft/dotnet/blob/master/releases/net461/dotnet461-changes.md Additional changes including - Working ARM64 JIT compiler - Additional JIT Optimizations o Tail call recursion optimization o Array length tracking optimization o CSE for widening casts o Smaller encoding for RIP relative and absolute addresses in addressing modes o Tracked Local Variable increased to 512 o Improved handling of Intrinsics System.GetType() o Improved handling of Math intrinsics - Work for the X86 Ryu-JIT compiler [tfs-changeset: 1557101]
2015-12-07Enable ildasm for *nixKyungwoo Lee3-46/+75
This enables ildasm for cross-platforms. Unlike Window (where initialization is done when DLL attach), CoreCLR is explciltly hosted/initialized to get the Metadata related APIs. This also eliminates the need of setting dynamic library path. Currently, ildasm binary is assumed to be located same as CoreCLR binary. I added a simple CoreCLRLoader (not meant to run an assembly file) for just direct uses of APIs. Since I expect this library to be used for ilasm work. Resource string is also handled using a static string table based on my prior check-in. Other changes are mostly mechanic with regard to wide constant string.
2015-11-27Fix mismatched use of new and deleteJuergen Hoetzel1-1/+1
Clang > 2.7.0 emits warnings for mismatched uses of new and delete (-Wmismatched-new-delete). Refs #2135
2015-11-25Enable ILDASM for WindowsKyungwoo Lee1-0/+4
This enables building ILDASM with Cmake for Windows. This ILDASM now depends on CoreCLR targeting cross-platform and thus I dropped some features like GUI/PDB -- default output is console. Metadata related APIs in CoreCLR are directly exported, and used in ILDASM: MetaDataGetDispenser GetMetaDataInternalInterface GetMetaDataInternalInterfaceFromPublic GetMetaDataPublicInterfaceFromInternal The code path is diverged by a definition FEATURE_CORECLR. There are still Window specific components. Among others, resource file/dll generation is the one that should be ported.
2015-11-24Open sourcing ILDASMdotnet-bot7-0/+5076
[tfs-changeset: 1551732]
2015-11-18Replace most windows style types by c++ typesJan Vorlicek1-0/+1
This change replaces DWORD, LONGLONG, ULONGLONG, SIZE_T, BYTE, LONG32 and few more by standard c++ types. The DWORD still remains present in signatures of Windows APIs used by the GC. There are few issues with those that need to get fixed.
2015-11-12Enable offline generation of text-based symbol tables for native images. ↵Brian Robbins1-2/+58
This is needed in order to profile applications on Linux using perf_event. This change also modifies the runtime to emit a perfmap entry when a native image is loaded so that offline trace processing tools can identify when a perfmap file for a native image is needed and generate it.
2015-10-07correct word spellingあまみや ゆうこ2-7/+7
2015-09-23Fix crossgen command line handling on UnixJan Kotas1-9/+9
Replace hardcoded Windows directory and path separators with symbolic constants.
2015-09-08Replace MAX_PATH with new defines, rest of coreclr.Lakshmi Priya Sekar2-7/+7
2015-07-29Fix prefast warnings in CLR codeEugene Zemtsov2-6/+6
[tfs-changeset: 1507366]
2015-05-20ReadyToRun bugfixesJan Kotas1-0/+4
Fix bugs found by desktop tests [tfs-changeset: 1474260]
2015-05-18Ensure fallback to English resources on non-Windows platformsAditya Mandaleeka1-0/+1
Take the resources in RC files and build a static library that contains the ID->English string mappings. Use those strings as the key to gettext so that when gettext is not able to find a suitable string in the desired language, it falls back on returning the English string.
2015-05-07Merge pull request #957 from dotnet-bot/from-tfsJan Kotas1-3/+3
Merge changes from TFS
2015-05-07Enable crossgen CreatePDB for desktopJan Kotas1-3/+3
[tfs-changeset: 1466606]
2015-05-07Changes for building using VS2015Jan Kotas1-0/+1