Age | Commit message (Collapse) | Author | Files | Lines |
|
On OSX our trick to preload the PAL from the host before trying to load
coreclr doesn't actually cause the OSX loader to correctly resolve the
dependency.
This change moves to use rpath and then add an entry to the rpath list
for libcoreclr to @loader_path.
This way, we can load libcoreclr even in cases where the path to the PAL
is not on DYLD_LIBRARY_PATH and your CWD is not the doesn't have a copy.
Related issues are #709 and #719
|
|
|
|
Fixed the dac table file problem
|
|
is more than one process running managed code. As a temporary fix (using a file is very temporary anyway), use the CLR module base address in the file name. Even if there is more than one process with managed code/coreclr running if the base address is the same the dac table address will be the same. Moved the dac table initialization to be sooner in the EE initialization because SOS/DAC can need it even before the EE debugger support is started. Also fixed the dac table file cleanup. We can't actually remove the dac file now that the base address is part of the name because multiple processes could be using it.
|
|
Add optional arguments for choosing clang version and verbose build output
|
|
DAC's hardware exception handling, add
hardware exception holder used to determine if a C++ exception should be thrown for a hardware exception. Cleaned
up PAL initialization interactions between the debugger modules (PAL_InitializeDLL) and coreclr (PAL_InitializeCoreCLR).
|
|
|
|
would not be properly canonicalized due to a missing check to
ensure the function doesn't truncate the root slash
|
|
This commit adds two optional arguments to build.sh. The "verbose" option
enables verbose build output. This can be useful to debug build failures by
seeing the complete command line used to invoke the build.
The other option is "clangx.y", which allows to specify the clang version used
for the build. This makes it easy to test different clang versions and aid
future migration to newer clang releases and other platforms. Closes #740
|
|
Added APIs:
InterlockedBitTestAndReset
InterlockedBitTestAndSet
InitializeCriticalSectionEx
Added test for the first two APIs.
|
|
The locate_llvm_exec function was missing the $llvm_prefix
|
|
Hardcode CP_ACP to UTF-8 on Linux
|
|
Make GetTempPathA/W first check TMPDIR
|
|
Ensure we differentiate between division by zero and overflow
|
|
This change implements parsing of the IDIV instruction operand so that
we can find whether an integer division error was a division by zero or
an integer overflow.
It replaces the previous functionality that was implemented for OSX only
and was incomplete (it didn't handle memory operands) and partially incorrect
(not handling R8..R15 properly).
|
|
|
|
Previously, on Linux, the PAL would attempt to detect the current codepage via
setlocale and maintained a mapping from LC_TYPES to Win32 locale names.
On OSX, we didn't do any of this, instead we always used UTF-8 as the
current codepage.
This change moves to this model on Linux as well, something we want to
do because it will enable us to use Ansi marshalling during PInvoke to
marshall UTF-8 data to native code (which is common when interoping with
existing native libraries on Linux) and allows us to remove a bunch of
code we don't want to carry forward from the PAL.
|
|
CoreClr: Fix FreeBSD linking-issues.
|
|
FreeBSD now builds without compilation errors. For FreeBSD and glory!
, ,
/( )`
\ \___ / |
/- _ `-/ '
(/\/ \ \ /\
/ / | ` \
O O ) / |
`-^--'`< '
(_.) _ ) /
`.___/` /
`-----' /
<----. __ / __ \
<----|====O)))==) \) /====
<----' `--' `.__,' \
| |
\ / /\
______( (_ / \______/
,' ,-----' |
`--{__________)
This closes https://github.com/dotnet/coreclr/issues/594#issuecomment-93995183
|
|
Today GetTempPathA/W are hardcoded to return /tmp/. This commit makes them first consult the TMPDIR environment variable, using its value if it exists.
This also overhauls the tests for GetTempPathA/W, which were out-of-date with regards to the existing implementation and which were excluded from PAL test runs.
|
|
This fix brings the build almost up to 100% (from 35%), where it fails due to PIC-errors.
|
|
Add missing MIT license headers
|
|
.rc and .def files were missing the MIT license headers, so this
change adds them.
|
|
PAL: Fix threading on FreeBSD.
|
|
|
|
The safecrt code in PAL was heavily sprinkled with #ifdefs for POSITIONAL_PARAMETERS
(that we never define) and _SAFECRT_IMPL (which is always defined in the PAL code).
This change cleans that up by removing checks of those ifdefs.
Also, I've found that the src/pal/src/safecrt/crtdefs.h is not used anywhere,
so I am removing it as well.
|
|
Remove long double support from safecrt routines in PAL
|
|
This change removes the long double support from the safecrt
printf style routines in PAL. The existing support was effectively
disabled anyways, we didn't have similar support in the non-safe
printf style functions and coreclr has no need to print long doubles.
|
|
Simply change the case of the library the PAL lives in so that is all
lowercase.
|
|
use it.
|
|
|
|
PAL: Preliminary work on FPU/SSE-registers for FreeBSD x86_64.
|
|
Remove timezone usage from PAL
|
|
Fix various FreeBSD build-breakers.
|
|
This change removes all references to the timezone variable, all the functions that
transitively depended on it from PAL and all the related tests.
None of these was used outside of PAL and the tests.
|
|
|
|
This partially addresses https://github.com/dotnet/coreclr/issues/594
|
|
|
|
Implement RtlRestoreContext in asm
|
|
This change implements the RtlRestoreContext in asm to get consistent and
reliable behavior on all platforms.
|
|
This change refactors the native context register access to use the
MCREG_xxx macros so that it can compile on FreeBSD too.
|
|
Make FreeBSD handle exceptions like Linux.
|
|
|
|
Addresses https://github.com/dotnet/coreclr/issues/626
.
|
|
Make managed debugging on Linux possible
|
|
Fix configuration of ptrace on FreeBSD.
|
|
This closes https://github.com/dotnet/coreclr/issues/625
|
|
clang-3.5 is required to build correctly, but is not detected on FreeBSD
where it is aliased as clang35 and clang++35, not clang-3.5 and clang++-3.5.
This closes https://github.com/dotnet/coreclr/issues/615
|
|
simple/dummy implementation for Linux.
Rename CMakeLists.txt file.
|
|
stacktrace)
Fixes that were required to achieve that
1. Funnel SIGTRAP into EE debugger.
2. Making that memory allocated by EE debugger is executable.
3. Disable metadata reading optimizations which are not working on Linux.
4. Workaround RtlRestoreContext not properly working with EFlags.
5. Avoid calls to ShimRemoteDataTarget.GetContext on Linux, it is not
implemented and not needed for pure managed debugging.
6. Adjust IP value after breakpoint SIGTRAP to meet debuggers expectations.
|