summaryrefslogtreecommitdiff
path: root/src/binder
AgeCommit message (Collapse)AuthorFilesLines
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
2016-01-21Merge pull request #2772 from ramarag/fixincrementabuildJan Kotas2-2/+2
Fix incremental build
2016-01-21FIx the incremental build for WindowsJan Vorlicek2-2/+2
Conflicts: build.cmd src/dlls/clretwrc/CMakeLists.txt Cleanup
2016-01-21Add support for AssemblyResolution when an assembly is not found in a given ↵Gaurav Khanna (CLR)5-13/+43
Load Context. 1) Expose AssemblyResolve event off AssemblyLoadContext 2) Invoke the event if the abstract Load implementation does not return an assembly.
2016-01-12Fix arm specific build break pertaining to AssemblyLoadContext changes.Gaurav Khanna2-3/+6
[tfs-changeset: 1564035]
2016-01-12Add support Load assemblies from explicit path/streams into default load contextGaurav Khanna (CLR)2-0/+91
2016-01-10Use ARCH_SOURCES_DIR consistentlyMike Danes1-12/+1
Some places already use ARCH_SOURCES_DIR for things like include_directories but others test the platform/arch variables to figure out the dir. Use ARCH_SOURCES_DIR everywhere for consistency.
2015-12-13Remove unnecessary files from build and disable LNK4221Mike Danes2-4/+12
Some files have their contents ifdefed out because some CLR features (remoting, CAS, fusion etc.) are not present (and they'll probably never be) in CoreCLR. A few others are DAC, CrossGen or arch specific so they have been moved to the appropiate file lists.
2015-11-11Fix a couple of issues involving assembly loadingKoundinya Veluri6-11/+36
Fixes #1740 - After an assembly is loaded through a custom load context, when its dependencies are being loaded and the dependencies are in an app folder but not on the TPA list, don't search app paths when using the TPA binder, and instead use the default binder for the dependent assembly to load dependencies through the same custom AssemblyLoadContext. Fixes #1187 - In the AssemblyName created by AssemblyLoadContext.GetAssemblyName(), don't initialize the CodeBase property since it's not in the exposed surface area for .NET Core. If the AssemblyName is passed to Assembly.Load(), note that regardless of the path sent to GetAssemblyName(), default search orders are still used to load the assembly by name. A custom AssemblyLoadContext would need to be used to control where an assembly is loaded from. - Fixed a couple of error messages that mentioned phone
2015-10-07correct word spellingあまみや ゆうこ2-2/+2
2015-09-30Merge pull request #1651 from kouvel/TpaPktFixKoundinya Veluri3-13/+5
Remove the need for the PKT to match when binding to an assembly on t…
2015-09-30Remove the need for the PKT to match when binding to an assembly on the TPA listKoundinya Veluri3-13/+5
There is some inconsistency in how binding works with and without a custom AssemblyLoadContext being active. By default, the binder allows binding to assemblies on the TPA list despite a PKT mismatch while searching app paths. This part is skipped when a custom AssemblyLoadContext is active. It has been determined that generally, the binder shouldn't require the PKT to match, so disabling that check. Fixes #1640
2015-09-25Use PathString type to allocate large path strings on linux scenario.Lakshmi Priya Sekar5-53/+8
Respond to PR feedback. Fix test failures in mscoree.
2015-09-21Use SString type for path allocations in binder.Lakshmi Priya Sekar3-8/+18
2015-09-09Allow loading assemblies on the TPA list without specifying a versionKoundinya Veluri2-40/+11
When comparing the bound assembly's version against the requested assembly name, removed the distinction between platform assemblies and app assemblies when the bound assembly is on the TPA list. A requested version of null behaves equivalently to a requested version of 0.0.0.0.
2015-08-25Replace MAX_PATH with new defines.Lakshmi Priya Sekar3-4/+4
2015-08-24Run code under long paths on UnixJeremy Kuhne2-5/+5
This change allows the happy path for a simple corerun Hello World app. This is pretty close to the bare minimum needed to run. Adds a MAX_LONGPATH define for long paths and MAX_PATH_FNAME to use for places where MAX_PATH is used for something that is trully 260 characters (usually file names).
2015-08-04Enable the Windows x86 buildMike Danes1-1/+3
This allows building the Windows x86 version of CoreCLR by using "x86" for the BuildArch parameter of build.cmd. Note that CMAKE_SYSTEM_PROCESSOR is no longer used in Windows builds to set IS_64BIT_BUILD. This change is enough to get CoreCLR to build but more changes are required for it to actually run correctly. In particular, the JIT compiler support for x86 is pretty limited at this point.
2015-07-27[aarch64] Initial aarch64/linux bring upGeoff Norton1-1/+3
2015-07-24Add ARM target for CoreCLR on Linux.Ben Pye1-1/+7
c_runtime/vprintf/test1 is disabled as casting NULL to va_list is against the C specification. Fix SetFilePointer tests on 32 bit platforms. Define _FILE_OFFSET_BITS=64 so that we have long file support on 32 bit platforms. Implement context capture/restore for ARM. Link libgcc_s before libunwind on ARM so C++ exceptions work. Translate armasm to gas syntax. Specify Thumb, VFPv3, ARMv7 for the ARM target. Add ARM configuration to mscorlib build Implement GetLogicalProcessorCacheSizeFromOS in PAL. Set UNWIND_CONTEXT_IS_UCONTEXT_T from configure check.
2015-05-26Fix the virtual destructor warningJan Vorlicek1-1/+1
This change changes destructors to be virtual or adds virtual ones where they were missing based on the clang warnings.
2015-04-29Fix warnings introduced by crossgenJohn Chen (CLR)1-0/+2
2015-04-28Build crossgen for LinuxJohn Chen (JOCHEN7)1-3/+1
- Crossgen is now built as part of coreclr - Crossgen successfully compiles mscorlib.dll - Resulting mscorlib.ni.dll not yet usable
2015-04-20Enable build crossgen.exe from build.cmd.John Chen3-4/+17
Adds and modifies CMakeLists.txt files to enable building of crossgen.exe from build.cmd for x64 processor on Windows. Also adds a step in build.cmd to generate native image for mscorlib. [tfs-changeset: 1456454]
2015-04-01Fix next round of warning typesJan Vorlicek4-159/+5
This change fixes the following warnings: 1) Assignment in a condition should be wrapped in () 2) Priority of && / || should be indicated by parentheses. 3) Unknown #pragma optimize ifdefed out for non MSVC 4) Unused functions deleted or put under #ifdef 5) Extra tokens warning disabling moved to the CMakeLists.txt in the src/inc 6) Self assignment of a member or local variable 7) Assigning ~0 to a bitfield member that was just 8 bit wide It also fixes a bug in the STRESS_LOGxx macro invocation in exceptionhandling.cpp and stackwalk.cpp related to recent adding the DBG_ADDR macro usage. This macro expanded a single parameter into two expressions to extract high / low 32 bits separately. But the STRESS_LOGxx parameters are passed to the StressLog::LogMsg method as follows: (void*)(size_t)(data1) That means that the expanded pair x, y would be inserted as data 1 and that leads to ignoring the x due to the comma operator.