Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
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.
|
|
|
|
|
|
Currently only enabled for arm64
|
|
Implement GetEntrypointExecutableAbsolutePath() on NetBSD
|
|
|
|
For defined(KERN_PROC_PATHNAME) use sysctl(7) (introduced after NetBSD-7.0).
For older NetBSD use the Linux's code.
|
|
[tfs-changeset: 1594511]
|
|
Add header file for the hosting API
|
|
Add the header file and also modify coreruncommon.cpp to use it.
|
|
respected by corerun
|
|
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).
|
|
In model.xml, I went over:
- FEATURE_ conditions that are disabled on Unix
- FEATURE_ conditions related to NetCF
- All ApiFxInternal methods
And flipped most them either to public, ImplRoot or deleted them.
Testing: Run all open CoreCLR and CoreFX tests, built legacy build razzle
[tfs-changeset: 1586209]
|
|
According to https://sourceforge.net/p/predef/wiki/OperatingSystems/
(Pre-defined Compiler Macros) and http://www.faqs.org/docs/Linux-HOWTO/GCC-HOWTO.html
(Porting and compiling:Automatically defined symbols), the __linux__ marcro is the
right way to detect systems based on the Linux kernel and is the POSIX compliant.
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
|
|
The long path support feature modified debug corerun.exe with debug
CRT (msvcrtd.dll). This made it more difficult to use corerun.exe,
since the debug CRT is not always available. It turns out this change
is no longer necessary, so reverting part of the change to link debug
corerun.exe with retail CRT (msvcrt.dll) again.
|
|
|
|
Disable UNW_ARM_METHOD_DWARF, which gets problematic with
assembly-created stacks in ARM systems.
Although previous commits have fixed the compatibility issues
between cpp stacks and libunwind-arm, the assembly part
(asmhelpers.S) had similar problems.
Fix #3462
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
|
|
[tfs-changeset: 1580615]
|
|
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.
|
|
Although PR#1818 was supposed to implement this for Linux, only the MacOS X
implementation was correct. We are now using `readlink' on Linux to get
the path of the current running executable.
|
|
[tfs-changeset: 1570939]
|
|
|
|
NAME
dlopen, dlclose, dlsym, dlvsym, dladdr, dlctl, dlerror - dynamic link
interface
LIBRARY
(These functions are not in a library. They are included in every
dynamically linked program automatically.)
SYNOPSIS
#include <dlfcn.h>
void *
dlopen(const char *path, int mode);
|
|
Enable the fPIE compiler option for executables in the coreclr repo on Unix platforms
|