summaryrefslogtreecommitdiff
path: root/src/binder
AgeCommit message (Collapse)AuthorFilesLines
2019-05-17Delete unnecessary locale arguments (#24624)Jan Kotas4-122/+7
Everything in the runtime should use Invariant culture. It is not necessary to pass the locale arguments around.
2019-05-14Fix issues reported by PREfast static analysis tool (#24577)Jan Kotas6-23/+3
2019-05-10Move EventProvider native layout to be driven by CMake configure (#24478)Jeremy Koritzinsky2-0/+4
* Generate eventpipe implementation as part of CMake configure. * Generate Etw provider as part of CMake configure. * First pass porting over lttng provider to cmake. * Fix up CMake Lttng provider generation. * Move Lttng provider into CMake tree. * Move dummy event provider to CMake * Move genEventing into the CMake tree. * Remove extraneous logging and unused python locator. * Clean up build.sh * Clean up genEventingTests.py * Add dependencies to enable more incremental builds (providers not fully incremental). * Convert to custom command and targets instead of at configure time. * Get each eventing target to incrementally build. * Fix incremental builds * Add missing dependencies on eventing headers. * PR Feedback. Mark all generated files as generated * Clean up eventprovider test CMakeLists
2019-04-29Fix Satellite Assembly loading (#24191)Steve MacLean1-3/+4
* Fix Satellite Assembly loading When loading satellite assemblies, we should probe next to the parent assembly and load into the same AssemblyLoadContext as the parent assembly. Disable fallback probing for satellite assemblies. Add AssemblyLoadContext.Resolving handler to probe for satellite assemblies next to parent Fixes #20979 * Call ResolveSatelliteAssembly from native Only call ResolveSatelliteAssembly from native when resolving a satellite assembly * PR Feedback Minimize string creation Remove unnecessary if null checks Eliminate corner cases by only allowing one case insensitive matching directory. * ResolveSatelliteAssembly should ... ResolveSatelliteAssembly should always be called on the ALC which loaded parentAssembly Simplify code. Add Debug.Assert * Remove case insensitive culture search * PR Feedback * Fix parentAssembly logic * Fixes from initial testing * Add probe for lower case culture name * PR feedback
2019-04-21Fix AssemblyName cache hash and key (#24138)Steve MacLean1-0/+9
* Add ContextualReflection LoadWithPartialName case * Remove unnecessary MethodImplOptions.NoInlining * Remove m_assembly warning * Fix AssemblyName hash function * AssemblyNative::Load fix stackMark usage Do not use the stackMark if (ptrLoadContextBinder != NULL) * Temporarily disable DefaultContextOverrideTPA Test is failing due to a logic error. Fix is pending in https://github.com/dotnet/corefx/pull/37071
2019-04-16Remove limits on IVT public key lengths. (#24042)Jeremy Koritzinsky1-7/+1
2019-02-22More GNUC Fixes (#22687)Sinan Kaya1-1/+1
* Replace __sync_swap with __atomic_exchange_n __sync_swap() is a clang specific function. * Remove multiline comment * Add paranthesis around sum src/md/hotdata/../inc/streamutil.h:73:34: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses] UINT32 aligned = *totalBytes + 3 & ~3; * Define __int64 * Define windows types for tests * Remove undefined has_builtin defines and define alloca and inline for GNUC * Remove __clang__ where possible * Add implicit casting to help compiler find WCHAR* variant src/binder/assembly.cpp:294:73: error: no matching function for call to ‘SString::SString(SString)’ return (pAsmName == nullptr ? nullptr : pAsmName->GetSimpleName()); ^ In file included from src/inc/sstring.h:1082:0, from src/inc/ex.h:19, from src/inc/stgpool.h:28, from src/inc/../md/inc/metamodel.h:18, from src/inc/../md/inc/metamodelro.h:19, from src/inc/metadata.h:17, from src/binder/../vm/util.hpp:19, from src/binder/../vm/common.h:110, from src/binder/assembly.cpp:14: src/inc/sstring.inl:73:8: note: candidate: SString::SString(void*, COUNT_T) inline SString::SString(void *buffer, COUNT_T size) ^ src/inc/sstring.inl:73:8: note: candidate expects 2 arguments, 1 provided src/inc/sstring.inl:436:8: note: candidate: SString::SString(SString::tagLiteral, const WCHAR*, COUNT_T) inline SString::SString(tagLiteral dummytag, const WCHAR *literal, COUNT_T count) ^ src/inc/sstring.inl:436:8: note: candidate expects 3 arguments, 1 provided src/inc/sstring.inl:418:8: note: candidate: SString::SString(SString::tagLiteral, const WCHAR*) inline SString::SString(tagLiteral dummytag, const WCHAR *literal) ^ src/inc/sstring.inl:418:8: note: candidate expects 2 arguments, 1 provided src/inc/sstring.inl:401:8: note: candidate: SString::SString(SString::tagUTF8Literal, const UTF8*) inline SString::SString(tagUTF8Literal dummytag, const UTF8 *literal) ^ src/inc/sstring.inl:401:8: note: candidate expects 2 arguments, 1 provided src/inc/sstring.inl:382:8: note: candidate: SString::SString(SString::tagLiteral, const CHAR*) inline SString::SString(tagLiteral dummytag, const ASCII *literal) * Reorder DLLEXPORT and STDAPI GNUC wants extern "C" <attribute> format. * Abstract __FUNCSIG__ * Abstract __debugbreak() * Move common compiler options out of clang and add Wno-unused-value * Add paranthesis around || and && src/gc/gc.cpp:9084:38: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] (!chosen_power2) && (i < free_space_count)); * Set Wno-delete-non-virtual-dtor for CXX files only * Don't warn on unterminated endif labels * Suppress unused functions * Use 0x syntax rather than h syntax on GNU asm files * Correct constructor call directly src/ToolBox/superpmi/superpmi-shared/logging.cpp:301:27: required from here src/inc/clr_std/string:58:9: error: cannot call constructor ‘std::basic_string<char>::basic_string’ directly this->basic_string::basic_string(_Ptr, c_len(_Ptr)); * Suppress NULL used in arithmetic warnings
2019-01-25Fix collectible AssemblyLoadContext weak handle (#22193)Jan Vorlicek1-1/+1
Native runtime keeps short weak handle for collectible AssemblyLoadContext until the unload time when it gets converted to a strong one. A test running with gc stress has recently hit a problem caused by the fact that the weak handle is "short weak" and thus doesn't track resurrection. Here is what happened: * The test code has lost reference to the AssemblyLoadContext * Finalizer was just invoked on that context due to that and so the weak short handle was destroyed. * Native runtime called AssemblyLoadContext.Resolve with the now dead handle, the function tried to get the managed object and failed. The fix is to change the handle type to long weak so that it doesn't get destroyed before the finalization.
2019-01-23Remove all traces of FEATURE_STACK_PROBE. (#22149)Filip Navara1-1/+0
2019-01-02Delete lstrlen from Unix PAL (#21745)Jan Kotas1-1/+1
strlen/wcslen works just fine.
2018-12-21Remove dead ICLRPrivBinder methods (#21637)Steve MacLean6-117/+0
* Remove dead FindAssemblyBySpec All paths returned E_FAIL * Remove dead BinderFlags * Remove dead VerifyBind
2018-12-17Delete dead code (#21562)Jan Kotas2-7/+0
- Delete clix support from PAL. "clix" was launcher in the Rotor days - like "dotnet" today. - Delete URL parsing from PALRT
2018-12-05Remove FromGAC & OnTPAList (#21371)Steve MacLean2-16/+0
* Remove FromGAC & OnTPAList * PR feedback
2018-12-03Refactor all FCalls out of AppDomain.cs (#21337)Jan Kotas1-116/+106
This saves the unmanaged->managed->unmanaged trip to initialize the assembly binder. Includes small bits of unrelated cleanup.
2018-11-22Delete System.AppDomainSetup (#21157)Jan Kotas1-5/+34
* Delete System.AppDomainSetup Contributes to #21028 * Add test hook for null entry assembly * Validate that the binder paths are absolute
2018-11-18Add headers to all md*, v3binder*, and ceefgen vcxproj (#20163)Jacek Blaszczynski1-1/+56
Work toward #14884
2018-10-31Remove superfluous 'const' qualifier from trivial return types (#20652)Michał Janiszewski5-6/+6
The 'const' used in this context has no meaning
2018-10-07Remove mention of rotor from comments (#20297)Austin Wise1-1/+0
* Remove old reference to Rotor in documentation. All remaining references relate to rotor's role in CoreCLR history. * Remove rotor comment from enummem.cpp. I can find no evidence that the presence of g_pStressLog is conditional on FEATURE_PAL being defined. * Remove old todo, DbgDllMain looks for thread detach. * Update nativepipeline.h comment refernce to rotor. All unix-like systems except android have FEATURE_DBGIPC_TRANSPORT_DI defined, hence "most unix-like platforms". * Update some comments to not refer to Rotor. * Remove some more references to Rotor from comments. * Remove old comment. Though maybe this macro should be removed and everywhere use the & operator. It appears there are only two places that use this macro.
2018-08-24Very small cleanup of various comments and code formatting (#19665)Vitek Karas3-27/+15
* Very small cleanpu of various comments and code formatting Fixed couple of comments to match the code and the wording. Fixed indentation in several places. Removed unused local variable in AppDomain::BindAssemblySpec * Remove unused enum in the binder
2018-08-23Enable unloading of AssemblyLoadContext (#18476)Jan Vorlicek6-10/+118
Enable assembly unloading * Allow PInvoke methods on collectible assemblies * Fix test unloadability Several hundreds of tests were using Helper class that created GCHandle, but never freed it. That prevented unloading of those tests. The change modifies the Helper class to keep the handle in a finalizable object. Several GCHandle related tests were not freeing the GCHandle they allocated, so this change adds freeing them to enable the unloading. * Add missing error messages to the resources * Fix shuffle thunk cache for unloadability * Add GetLoaderAllocator to ICLRPrivBinder
2018-06-28Typo (#18684)John Doe1-2/+2
* approrpriate -> appropriate * allignment -> alignment * aquire -> acquire * aquisition -> acquisition * arbitraty -> arbitrary * arcance -> arcane * archetecture -> architecture * Archicture -> Architecture * architecures -> architectures * argmuent -> argument
2018-05-24Fix a variety of typos (#18096)John Doe1-2/+2
* absense -> absence * aboring -> aborting * absense -> absence * absoute -> absolute * absoute -> absolute * abstration -> abstraction * dwDesiredAcces -> dwDesiredAccess * accees -> access * accesed -> accessed * accessability -> accessibility * accessable -> accessible * accidentaly -> accidentally * accesible -> accessible * accommondate -> accommodate * accurancy -> accuracy * accuratley -> accurately * Achitecture -> Architecture * acompannying -> accompanying * acordingly -> accordingly
2018-03-19Delete unused downlevel globalization support (#17022)Jan Kotas1-2/+1
Delete ENABLE_DOWNLEVEL_FOR_NLS and everything under it
2018-02-17delete unused mirror files (#16423)Sergey Andreenko4-4/+0
2017-08-17Fix AssemblyName(string) constructor's version parsing (#13373)Koundinya Veluri5-157/+151
Fix AssemblyName(string) constructor's version parsing Functional fix for https://github.com/dotnet/corefx/issues/22663 - Allow fewer version components - Match .NET Framework behavior in several cases. Major and minor version must be specified for the version to be used. - Used zero for unspecified build/revision. This is different from .NET Framework but the loader also behaves differently. Details are in code comments.
2017-05-10Allow users to enable automatic NI bind fallback via command-line (#11485)Jonghyun Park1-2/+2
* 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-03Fix Binder NI to IL fallback (#11341)Steve MacLean1-6/+11
* Fix Binder NI to IL fallback Always try NI first * Fix Windows warning as error * [Arm64/Unix] Revise PR per feedback * More cleanup
2017-04-27[WIP] Enable binding to CoreLib as NI image (#11040)Gaurav Khanna1-16/+11
Enable binding to CoreLib as NI image
2017-03-28return TPA assembly if loadfrom is passed a path to assembly with same identityRahul Kumar1-2/+2
2017-03-01Cleanup (#9892)Jan Kotas2-4/+0
* Delete unused PdbTypeMatch tool * Delete unused GetFileVersion.dll binary * Delete bad comments
2017-02-12Remove never defined FEATURE_FUSIONdanmosemsft1-4/+0
2017-02-12Remove always defined FEATURE_VERSIONINGdanmosemsft1-6/+0
2017-02-12Remove always defined FEATURE_HOST_ASSEMBLY_RESOLVERdanmosemsft9-32/+28
2017-02-11Revert "Remove always defined FEATURE_CORESYSTEM"danmosemsft1-0/+3
This reverts commit 751771a8976f909af772e35c167bd7e3ffbe44c8.
2017-02-10Remove always defined FEATURE_CORECLRdanmosemsft1-4/+0
2017-02-10Remove always defined FEATURE_CORESYSTEMdanmosemsft1-3/+0
2016-12-26Remove files related to legacy build system (#8723)Robert4-100/+0
2016-05-20Enable overriding of TPA assembliesGaurav Khanna4-41/+31
2016-05-18Fix crossgen /createpdb when input filename is given without path (#5045)John Chen1-3/+9
Fix a bug in "crossgen /createpdb" command that can cause it to fail if the input filename is given without a path.
2016-05-17Revert "Enable overriding assemblies from TPA"Gaurav Khanna4-31/+41
2016-05-16Initial change to support System.Private.CoreLib.dll as Core Library.Gaurav Khanna2-14/+15
2016-05-15Enable overriding assemblies from TPAGaurav Khanna4-41/+31
2016-04-29Add query handling of ICLRPrivResource for Assembly::CLRPrivResourceAssembly ↵shion1-0/+6
(#4562)
2016-03-22Delete legacy netcf compat support (part 2)Jan Kotas5-365/+24
2016-03-21Delete legacy netcf compat support (part 1)Jan Kotas2-16/+1
2016-03-09Delete dead codeJan Kotas7-29/+29
- Delete BINDER, STANDALONE_BINDER and MDIL ifdefs
2016-02-29Support long paths in CoreCLR runtime on WindowsJohn Chen (JOCHEN7)2-7/+10
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-01-27Update license headersdotnet-bot61-244/+183
2016-01-26Remove Invalid assertGaurav Khanna1-2/+0
2016-01-25Ensure TPA Binder initialized Managed ALC field to NULLGaurav Khanna (CLR)1-0/+1