summaryrefslogtreecommitdiff
path: root/clrdefinitions.cmake
AgeCommit message (Collapse)AuthorFilesLines
2017-09-13Introduce FEATURE_GDBJIT_SYMTAB (#13567)Konstantin Baladurin1-0/+3
* Introduce FEATURE_GDBJIT_SYMTAB This commit adds new feature FEATURE_GDBJIT_SYMTAB. When it's set ELF file with symtab section will be generated for all JITed methods. It helps lldb and gdb correctly unwind frames of JITed methods as they can use assembly language inspection to determine location of saved registers on stack. * gdbjit symtab feature: use different symbols for each function in JITed code
2017-09-12[GDBJIT] Specify C# language in DWARF debug information (#13720)Konstantin Baladurin1-0/+3
* [GDBJIT] Specify C# language in DWARF debug information To correctly support C# language in lldb DWARF debug information should contain correct information about language. Now we use 0x9e57 constant for specify C# language. * [GDBJIT] Introduce FEATURE_GDBJIT_LANGID_CS If this feature is set gdbjit will use 0x9e57 as c# lang id, otherwise it will use DW_LANG_C89.
2017-08-27Remove always defined FEATURE_RANDOMIZE_STRING_HASHING define (#13491)Dan Moseley1-1/+0
* Remove always defined FEATURE_RANDOMIZE_STRING_HASHING * Fully remove randomized hashing * Leftovers * Remove additionalEntropy from HashSortKey as it was always 0 * Remove additionalEntropy from HashString as it was always 0 * Change to private, as not in fact called by reflection in .NET Core * Fix build break due to FCDECLn * Revert removed QCALL * Remove unused strlen parameter
2017-08-22[Local GC] Enable building the GC as a shared library (#13137)Sean Gillespie1-1/+3
* [Local GC] Build the GC using system headers * Disable features to get the GC to build * Get rid of the separate 'GC PAL' build * Remove unused stuff * Don't build gcenv.os.cpp when linking in a standalone gc * Stub out CPUGroupInfo and NumaNodeInfo * Stub out IsGCThread and friends * Build the GC as a shared library :tada: * Build, link, and run! :tada: * Fix standalone GC build break * Fixes where the GC's MethodTable and VM's MethodTable classes disagree * Integrate a standalone GC into the CoreCLR build system (so it gets copied to the output folder). Re-enable some ifdef-ed out includes that are required for a non-standalone build of the GC. * Bring changes to Unix and fix the Unix build. Implement some compiler intrinsic wrappers and alignment functions expected by the GC. * Fix the Windows build * 1. Code review feedback: use standard types for BitScanForward and BitScanForward64 2. Delete FEATURE_COM stuff from the build system, not needed for this PR 3. Fix the Unix build * Fix the Windows x86 build - the _BitScanForward64 intrinsic is not available when targeting 32-bit platforms * Remove a number of things from gcenv.base.h that are not used * Remove a linker workaround now that we are not linking a standalone GC into the runtime * Remove dead code, make the lack of GC_PROFILING for standalone gc not break profiling on the non-standalone build * Code review feedback - use add_library_clr and other cmake-related fixes * Fix include indentation * Remove some extraneous parameters to cmake functions (cmake is remarkably lenient...)
2017-08-18Introduce COMPlus_GDBJitElfDump (#13448)Jonghyun Park1-0/+6
* Add COMPlus_GDBJitElfDump * Fix Release build error * Add flags in EEConfig
2017-08-15Implement out of context stack unwinder (#13302)Mike McLaughlin1-0/+1
Implement out of context stack unwinder Decode the eh frame info found in the in-memory module image and pass it back to the remote libunwind8 to do the unwind. Added remote-unwind.cpp for all the out of context unwind code. Added an all managed threads option -all the "clrstack" (sos ClrStack). The IDebugDataTarget4 feature needs to be enabled for OS X. Add libunwind license notice to third party notices file.
2017-07-24Add the runtime code versioning featurenoahfalk1-2/+5
This makes tiered compilation work properly with profiler ReJIT, and positions the runtime to integrate other versioning related features together in the future. See the newly added code-versioning design-doc in this commit for more information. Breaking changes for profilers: See code-versioning-profiler-breaking-changes.md for more details.
2017-05-17Switch multicast delegate stub on Windows x64 to use stubs-as-il (#11624)Jan Kotas1-1/+3
Fixes #11611. The old hand generated assembly path did not work well for structs passed by reference.
2017-05-10Re-Factor EventSource to Support Writing to EventPipe (#11435)Brian Robbins1-2/+2
Re-Factor EventSource to Support Writing to EventPipe.
2017-05-10Allow users to enable automatic NI bind fallback via command-line (#11485)Jonghyun Park1-0/+3
* Add FEATURE_NI_BIND_FALLBACK support * Fix incorrect variable setup * Negate the check condition * Use WIN32 instead of FEATURE_PAL * Check WIN32 first, and FEATURE_NI_BIND_FALLBACK later
2017-05-06Log Events to EventPipe on Linux (#11433)Brian Robbins1-1/+3
* Implement the EventPipe object model for providers and events. * Plumb Runtime Events into EventPipe (#11145) Plumb runtime ETW events into the EventPipe. * Fix bug where all events except for SampleProfiler events were never enabled. * Plumb EventPipeEventInstance through the EventPipe. * Implement EventPipeFile and FastSerializer. * Write event contents to the EventPipeFile. * Only build EventPipe on Linux. * Conditionally add a sentinel value marking event end. * Send SampleProfiler events to the EventPipeFile. * Fix provider ID printing to JSON file. * Write the start date/time, timestamp, and clock frequency into the trace file. * Support unloading of EventPipeProviders. * Handle failure cases when we can't walk the stack or are shutting down. * Fix a bug where we pass a null src pointer to memcpy.
2017-05-05[Arm64/Unix] Enable FEATURE_USE_SOFTWARE_WRITE_WATCH_FOR_GC_HEAP (#11375)Steve MacLean1-2/+2
* [Arm64/Unix] Enable FEATURE_USE_SOFTWARE_WRITE_WATCH_FOR_GC_HEAP * [Arm64/Unix] Enable FEATURE_MANUALLY_MANAGED_CARD_BUNDLES
2017-04-27Remove support for the x86 compat JIT from .NET Core.Pat Gavlin1-6/+0
These changes remove support for the x86 compat JIT from the build, the runtime, and the various perf/test scripts. Fixes #10733, #10734.
2017-04-25Allow FEATURE_INTERPRETER to be enabled by command-line option (#11188)Jonghyun Park1-0/+3
* Allow FEATURE_INTERPRETER to be enabled by command-line option * Set FEATURE_INTERPRETER as 0
2017-04-24Support FEATURE_DBGIPC override (#11164)Jonghyun Park1-4/+4
2017-04-17Support FEATURE_EVENT_TRACE override (#10961)Jonghyun Park1-12/+1
2017-04-13[ARM32/Linux] Build libcoreclrtraceptprovider.so (#10406)Hyeongseok Oh1-2/+8
* Build libcoreclrtraceptprovider.so for ARM32 and modify cmake - Build libcoreclrtraceptprovider.so for ARM32 - Include libcoreclrtraceptprovider.so in nuget package - Don't build libcoreclrtraceptprovider.so for Tizen: lttng is not supported in Tizen - Exclude packaging libcoreclrtraceptprovider.so based on os-name excluded for tizen * Remove libcoreclrtraceptprovider.so before test for ARM32/Linux Remove libcoreclrtraceptprovider.so before test for ARM32/Linux in CI CI test environment using docker with qemu has some problem to use lttng library
2017-04-03Basic EventPipe functionality that supports writing sample profile events to ↵Brian Robbins1-0/+1
JSON. SampleProfiler that globally suspends the runtime every 1ms to walk stacks and write them to the EventPipe.
2017-03-29Tiered Compilation step 1noahfalk1-0/+1
Tiered compilation is a new feature we are experimenting with that aims to improve startup times. Initially we jit methods non-optimized, then switch to an optimized version once the method has been called a number of times. More details about the current feature operation are in the comments of TieredCompilation.cpp. This is only the first step in a longer process building the feature. The primary goal for now is to avoid regressing any runtime behavior in the shipping configuration in which the complus variable is OFF, while putting enough code in place that we can measure performance in the daily builds and make incremental progress visible to collaborators and reviewers. The design of the TieredCompilationManager is likely to change substantively, and the call counter may also change.
2017-03-13Build Linux altjit for x86 and amd64 (#10120)Bruce Forstall1-2/+4
Enable Windows hosted, Linux target amd64 altjit With this change, we build a JIT that runs on Windows amd64 and targets Linux amd64, as an altjit named linuxnonjit.dll. This is useful for debugging, or generating asm code or diffs. You can even easily create Windows/non-Windows asm diffs (either to compare the asm, or compare the generated code size). For this to work, the JIT-EE interface method getSystemVAmd64PassStructInRegisterDescriptor() was changed to always be built in, by defining `FEATURE_UNIX_AMD64_STRUCT_PASSING_ITF` in all AMD64 builds. The `_ITF` suffix indicates that this is functionality specific to implementing the JIT-EE interface contract. There were many places in the VM that used this interchangeably with `FEATURE_UNIX_AMD64_STRUCT_PASSING`. Now, `FEATURE_UNIX_AMD64_STRUCT_PASSING` means code in the VM needed to implement this feature, but not required to implement the JIT-EE interface contract. In particular, MethodTables compute and cache the "eightbyte" info of structs when loading a type. This is not done when only `FEATURE_UNIX_AMD64_STRUCT_PASSING_ITF` is set, to avoid altering MethodTable behavior on non-Unix AMD64 builds. Instead, if `getSystemVAmd64PassStructInRegisterDescriptor()` is called on a non-Unix build (by the altjit), the `ClassifyEightBytes()` function is called, and nothing is cached. Hopefully (though it was hard for me to guarantee by observation), calling `ClassifyEightBytes()` does not have any side effects on MethodTables. It doesn't really matter, since if called for altjit, we don't care too much about running. The previously used `PLATFORM_UNIX` define is now insufficient. I introduced the `#define` macros `_HOST_UNIX_` to indicate the JIT being built will run on Unix, and `_TARGET_UNIX_` to indicate the JIT is generating code targeting Unix. Some things were converted to use the `UNIX_AMD64_ABI` define, which makes more sense.
2017-03-01Merge pull request #9770 from adityamandaleeka/card_bundles_unix_2Aditya Mandaleeka1-0/+1
Implement second-level card tables for non-Windows platforms
2017-02-28Implement card bundles for non-Windows platforms.Aditya Mandaleeka1-0/+1
2017-02-28Fix mismatch in the cmake script endif condition (#9859)Jan Vorlicek1-1/+1
This change fixes a mismatch in the cmake script endif condition introduced by #9809.
2017-02-28Disable DBGIPC_TRANSPORT_DI and DBGIPC_TRANSPORT_VM on Android (#9809)Frederik Carlier1-1/+1
* Disable DBGIPC_TRANSPORT_DI and DBGIPC_TRANSPORT_VM on Android
2017-02-23[x86/Linux] Enable FEATURE_ARRAYSTUB_AS_IL (#9752)Jonghyun Park1-4/+6
* [x86/Linux] Enable FEATURE_ARRAYSTUB_AS_IL * Move FeatureStubsAsIL into Windows-specific block
2017-02-12Remove always defined FEATURE_VERSIONINGdanmosemsft1-1/+0
2017-02-12Remove defined but wrapping dead code FEATURE_SYNTHETIC_CULTURESdanmosemsft1-1/+0
2017-02-12Remove always defined FEATURE_SYNCHRONIZATIONCONTEXT_WAITdanmosemsft1-1/+0
2017-02-12Remove always defined FEATURE_SPAN_OF_Tdanmosemsft1-2/+0
2017-02-12Remove never used FEATURE_NORM_IDNA_ONLYdanmosemsft1-1/+0
2017-02-12Remove never used FEATURE_MERGE_CULTURE_SUPPORT_AND_ENGINEdanmosemsft1-1/+0
2017-02-12Remove always defined FEATURE_MAIN_CLR_MODULE_USES_CORE_NAMEdanmosemsft1-1/+0
2017-02-12Remove always defined FEATURE_HOST_ASSEMBLY_RESOLVERdanmosemsft1-1/+0
2017-02-12Remove always defined FEATURE_EXCEPTIONDISPATCHINFOdanmosemsft1-1/+0
2017-02-12Remove always defined FEATURE_EXCEPTION_NOTIFICATIONSdanmosemsft1-1/+0
2017-02-12Remove never used FEATURE_ASYNC_IOdanmosemsft1-1/+0
2017-02-12Fix indentation in cmakedanmosemsft1-2/+2
2017-02-09[ARM32/Linux] Fix definition and CMake for cross-architecture build (#9262)Hyeongseok Oh1-3/+3
- Fix ABI flag based on target - Exclude corefx for cross-architecture component
2017-01-23[Local GC] Provide an implementation of GCToOSInterface for Unix-like ↵Sean Gillespie1-4/+0
platforms (#8976) * Add way to build with FEATURE_STANDALONE_GC from build.sh * Make CMake changes to build the GC 'PAL' as its own build target (to avoid -nostdinc). In addition, introduce a "GC PAL" that provides an implementation of GCToOSInterface on Unix-like platforms, for use with FEATURE_STANDALONE_GC.
2017-01-11[x86/Linux] Introduce UNIX_X86_ABI definition (#8863)SaeHie Park1-0/+2
Add UNIX_X86_ABI definition for Unix/Linux specific ABI parts First will be for 16 byte stack alignment codes
2016-12-21Remove FEATURE_BLC_FORMATTING (#8699)Jan Vorlicek1-1/+0
This feature is always defined and the PAL functions that would be used if the feature was not defined are not in PAL anymore.
2016-12-13Enable interop debugging for Windows amd64 and x86. (#8603)Mike McLaughlin1-0/+3
Found sos portable pdb problem on x86. Fixed interop problems between the native sos and SOS.NetCore managed helper assembly.
2016-11-16Enable GCToOSInterface to be defined on the GC side of the GC interface (#8121)Sean Gillespie1-0/+4
* Re-introduce changes lost in a merge conflict * Enable GCToOSInterface to be defined behind the GC interface when building the GC in standalone mode. Provide a skeleton Windows implementation and the framework for a Unix implementation. * Address code review feedback
2016-11-10Expose some things for ns2.0Koundinya Veluri1-0/+1
Mostly: - Exposed flow-related methods on `ExecutionContext` - Enabled and exposed `SynchronizationContext` wait overriding Realted issues: - dotnet/corefx#11638 - dotnet/corefx#11633 - dotnet/corefx#11635 - dotnet/corefx#11636 - dotnet/corefx#13484
2016-10-30Add FEATURE_SPAN_OF_TJan Kotas1-0/+2
2016-10-04Add support for Alpine Linux (#7440)Jan Vorlicek1-0/+6
This change enables build of CoreCLR on Alpine Linux. Here is the list of changes: - Disable asserts checking RSP in arbitrary threads against cached stack limit for the respective thread. The stack on Alpine obviously grows over the limit reported by the pthread functions. - Disable using XSTATE. This should be re-enabled after MUSL gets the _xstate, _fpx_sw_bytes and related data structures added to the signal.h header. - Disable setting rlimit of RLIMIT_NOFILE to the max value, since it breaks debugging for some reason. - Add skipping over the hardware signal trampoline in the PAL_VirtualUnwind. While we were not trying to walk over it in a simple case, in a case where an exception was thrown from a catch handler of a hardware exception, we still attempted to walk over it and it fails on Alpine. - Fix detection of Alpine Linux in the PAL's CMakeLists.txt so that it works in Docker containers too. - Modified PAL_VirtualUnwind to make the check for unwinding past the bottom of the stack unconditional. We had a long list of platforms where we were doing this check and it doesn't hurt to do it on platforms where it is not needed. I have done that rather than adding a check for Alpine Linux as another platform that needs it.
2016-09-30Expose AppDomain apisRahul Kumar1-0/+1
2016-09-22Fix Unable to step through Visual Studio remote debugger with coreclr ↵Mike McLaughlin1-0/+1
executables on Nano Server (#7317) Needed to add back a dummy version of ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly interface so VS doesn't get the QI failure and stop working by not calling the "Continue" method. Issue #7316
2016-08-23Initial commit to build Win32 Arm CoreCLRGaurav Khanna1-0/+4
2016-08-12Enable FEATURE_STUBS_AS_IL for ARM/Linux (#6500)Jonghyun Park1-1/+1
This commit enables FEATURE_STUBS_AS_IL for ARM/Linux. This commit tries to fix #6452.