Age | Commit message (Collapse) | Author | Files | Lines |
|
* Fix TPA map hash calculation.
The point of issue is "the Turkish-I Problem". After locale changed, towupper() provide another result for "i" and different hash are calculated in case if file name have "i" letter.
* Regression test for #37910
|
|
* Fix PIE options
We were missing passing the -pie linker option. That means that while we
were compiling our code as position independent, the executables
(not shared libraries) were not marked as position independent and
ASLR was not applied to them. They were always loaded to fixed addresses.
This change adds the missing -pie option and also replaces all the individual
settings of -fPIE / -fPIC on the targets we build by a centralized setting
of CMAKE_POSITION_INDEPENDENT_CODE variable that causes cmake to add the
appropriate compiler options everywhere.
* Fix native parts of coreclr tests build
The native parts of the tests are not built using the root CMakeLists.txt
so I am moving enabling the position independent code to configurecompiler.cmake
Change-Id: Ieafff8984ec23e5fdb00fb0c2fb017e53afbce88
|
|
|
|
Now we use corerun to run corefx tests instead of dotnet, because last
one isn't available for Tizen/armel. So we need to skip dotnet specific
arguments, we patch corerun for it because Microsoft.DotNet.RemoteExecutor
tries to execute binary that it gets from /proc/self/maps, so we need a
binary that will behave like dotnet.
|
|
This vector is populated by the kernel while loading an ELF, and is
available to user land without requiring any system calls. This is
specially interesting if programs are executed under a chroot where
/proc isn't available (and thus realpath("/proc/self/exe"), the current
method of obtaining the full path name for the executable).
|
|
|
|
|
|
* Update CCW semantics to not unwrap when a managed COM server was activated
from a managed COM client. This is a functional change from .NET Framework.
* Add support for CoreShim to "attach" to the existing CLR instance when
running from a CoreRun scenario.
* Add testing for NET COM client activating a NET COM server
|
|
Redesign tests that needed to modify Core_Root to no longer do so.
- Loader.FromNativePaths: Use `CORE_LIBRARIES` instead of `COREROOT`
- Loader.AssemblyDependencyResolver: Split out the invalid hosting test that needs hostpolicy to not be preloaded. Have `CoreRun` and `CoreShim` preload hostpolicy when a path to a hostpolicy is specified in the `MOCK_HOSTPOLICY` environment variable.
- Add a `CLRTest.MockHosting.targets` file that is imported when a test requires hostpolicy. It adds the reference to the mock hostpolicy and ensures that the `MOCK_HOSTPOLICY` environment variable is correctly set in the test scripts.
Fixes #23429.
|
|
* Fix the calling convention for P/Invokes and delegates
* Update mock library to match official hostpolicy calling conventions
|
|
This reverts commit 831cb13f1432aac09e66a8543831d3ed55b4bddf.
|
|
|
|
Improve coreclrhost.h header
|
|
|
|
|
|
|
|
|
|
The header didn't contain comments on the APIs, which was pointed out in
Also, the function declarations and pointers didn't include __stdcall
and so it caused crashes when someone developing his own host on x86
Windows used __cdecl as the default calling convention (#22217)
|
|
* Update COM Activator to use ALCs
* Update tests to now supply an assembly name rather than an binary "path"
since the COM activator is now using ALCs.
* Add test for non-rooted assembly path.
* Move the hostpolicy mock project to a Common area
Move hostpolicy mock API to CoreCLR test library
* Add test for COM server isolation
* Move ComActivator class and logic to Internal namespace.
|
|
to explicit convert string to wstring to avoid warning. (#19947)
|
|
* Rough outline of managed implementation for COM activation in SPCL
* Add property for finding interop common
Add property to exclude default assertion file
Display exe ExeLaunchProgram class is going to launch
* Add a native client for the NETServer
Consume the ExeLauncherProgram.cs file as a wrapper for the native test
* Update COM Server contracts to use 'int' instead of 'long'
* Complete symmetric testing coverage for .NET server and native client.
* Block EXE launch from running on non-Windows machines
* Disable COM testing in helix since it has issues on Windows Nano and there
is no way to determine that is the platform.
* Update tests based on CLSID mapping manifest approach.
|
|
(#18728)
in the target managed assembly. This allows RegFree COM scenarios and ensures
the intended app manifest is used for the 'exe' scenario.
|
|
* update server gc export for runtest.sh
* remove CORECLR_SERVER_GC
* Change CORECLR_CONCURRENT_GC to COMPlus_gcConcurrent as well
* Remove it from coreruncommon.cpp
|
|
|
|
|
|
Before this fix, corerun would AV on certain invalid paths e.g.: corerun test.exe\
|
|
* Fix old copy paste mistake
* Remove dead HResults.cs
* Rename __HResults to HResults
* Rename other two __HResults classes
* Combine into single HResults class, to match CoreRT
* Make hex consistently uppercase
* Sort HResults
|
|
* Ensure using the given executable path.
Fix the bug that corerun trying to load the executable from current directory even if the user has specified a full path of the executable.
Fix #5631
* Revert "Ensure using the given executable path."
This reverts commit d237e6329f85132429176a0644cf6d93c9437ff4.
* Partially implemented.
* Ensure app context using correct IL file path.
Extracting simple name from the given file path and look up its value in tpa list. If the value does not equal to the given file path, we update the value with correct given file path.
Fix #5631
* Re-arrange the slashIndex to eliminate unneccessary code.
* A few performance improvement with a memory leak bug fixed.
* Added the absolute path of target assembly to tpa list.
Fix #5631
* Added the path of target assembly to tpa on Windows.
Fix #5631
|
|
* Enable corerun to select Globalization Invariant mode
* Support 'true' also
|
|
* Change ICLRRuntimeHost2 to ICLRRuntimeHost4 for Windows corerun.
Since we've introduced ICLRRuntimeHost4 in PR #10842 for Unix, we apply it for Windows corerun as well.
Fix #10960
|
|
* Ensure Environment.ExitCode works correctly after app domain unloaded.
This PR addresses 2 problems of Environment.ExitCode:
1. Can't get correct exit code of main function.
2. Can't set %errorlevel%.
Details can be found on #6206
Fix #6206
|
|
|
|
* Fix dependency to coreclr and mscorrc in Linux
Remove dependency with coreclr in some projects for Linux
Recover build mscorrc for cross architecture in Linux
* Fix CMakeLists.txt in src/dlls
minimize uses of CLR_CROSS_COMPONENTS_BUILD flag in CMakeLists.txt
Modify root/CMakeLists.txt to exclude corerun and coreconsole build
during cross component build
|
|
* Support cross-building CoreCLR for arm64 Android
* Link gcc_s before libunwind
|
|
This is a result of attempt to bring up CoreCLR on ARM64 Android.
The bring up is on hold now, but I want to check in the changes
that added ARM64 asm helpers and fixed general Linux ARM64 issues.
|
|
This avoids placing duplicate entries on the TPA list.
|
|
|
|
|
|
* Now Append will work properly if strLen is big (for example 3xm_capacity). And value 1.5 is better for memory growth.
* Correct way of calculating 1.5 (without floating point calculation, thanks mikedn)
* After long discussion we decided that simple and aggressive allocation is better for this case
|
|
These issues were found when building with the /permissive- flag in the
latest version of MSVC. No tests were added/modified because this does not
change any behavior.
There are a few types of language conformance issues fixed in this:
1) Strict string conversion (this is also covered by the /Zc:strictStrings
flag)
The 'const' is not implicitly dropped by string literals, which means the
following is not allowed:
char str = "const string literal"; //error: cannot convert a 'const char'
to a 'char*'
This fix to to make str 'const char*'. (This can have a domino effect
depending on where str is used)
2) Fully qualified inline declarations members inside class
struct A {
void A::f() { } // Error: illegal qualified name in member declaration,
remove redundant 'A::' to fix
};
3) MSVC by default will allows name lookup in a dependent base. This is
disabled by /permissive-
template <class T> struct B {
void f();
};
template <class T> struct D
: public B<T> //B is a dependent base because its type depends on the type of T in D<T>.
{
//One possible fix is to uncomment the following line. If this
//were a type we should have 'using typename'...
//using B<T>::f;
void g() {
f(); //Error: identifier not found, one possible fix is change it to 'this->f();'
}
};
void h()
{
D<int> d;
d.g();
}
4) Warning 4800 has been removed in version 19.1 (1910) of the compiler.
For backwards compatability, surround the usage of 4800.
This is not related to C++ conformance.
#if _MSC_VER <= 1900
// 'BOOL' forcing value to bool 'true' or 'false'
#pragma warning(disable: 4800)
#endif
|
|
* Default to latest behavior when a TFM is not specified
Instead of requiring that a compatibility switch is set in order to get the
latest behavior for all AppContext switches that are based on TFM, have that
behavior on by default.
* Remove the UseLatestBehaviorWhenTFMNotSpecified compat switch
|
|
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
|
|
libunwind for ARM does not interpret ARM vfpv3/NEON
registers in DWARF format correctly.
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
|
|
FreeBSD does not come with procfs enabled by default, and should use
sysctl() for this purpose.
While it has similarities with NetBSD's implementation, there are a
few subtle differences, which justifies leaving this implementation
under its own guard.
It's also worth noting that on FreeBSD sysctl.h MUST be present, which
is unlike NetBSD. Therefore the HAVE_SYS_SYSCTL_H define is not
checked for or used.
This commit fixes https://github.com/dotnet/coreclr/issues/6184.
This commit is based on the following commit from core-setup:
https://github.com/dotnet/core-setup/commit/d5ce08014a174b006a3b409b8bb93d003ae583a0
|
|
portable pdb reader (#5688)
* Initial support of breakpoint setting by source + line on Linux
* Fix macro redefinition error in OSX build
* Fix after review from Mike McLaughlin
|
|
On some operating systems `<sys/sysctl.h>`is not present yet `sysct`
function in available. One example is Alpine Linux which uses musl-libc
as opposed to GNU libc.
Ref: dotnet/corefx#6253
|
|
(#5126)
> https://github.com/dotnet/coreclr/pull/3502/
> Fix Stack Unwind Behavior of Libunwind-ARM
We have been getting the 300+ failures(in ./JIT/ directory) in release-build
mode whenever we have always run CoreCLR unit-test since
https://github.com/myungjoo/coreclr/commit/35b5df6888f1574e6ef9313c6bc8522d1817573d.
(Reference - https://wiki.linaro.org/KenWerner/Sandbox/libunwind#overhead_of_the_ARM_specific_unwind-tables)
With recent fixes on stack unwindings, it appears that we no more send ambiguous
requests to libunwind-arm.(Checked by @myungjoo, with cases of #3462)
From now on, let's remove the unwind environment variable (e.g., UNW_ARM_UNWIND_METHOD=6)
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com>
CC: Ben Pye <@benpye>
CC: Jan Kotas <@jkotas>
CC: Matt Mitchell <@mmitche>
|
|
Check CLRConfig value explicitly to determine whether concurrent GC was forced
|
|
|
|
Mimic the Windows behavior by adding to the search path of native dlls
the content of the CORE_LIBRARIES environment variable.
|