summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-02-09Fix casing of interop directories (dotnet/corert#6982)Jan Kotas1-1/+1
Match convention introduced by https://github.com/dotnet/corefx/pull/35085 Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-02-09Move eventpipe buffer to TLS (#21817)Sung Yoon Whang7-174/+120
* start ripping out eventpipe buffer to tls * can now emit events from gc threads * cleanup * more cleanup * more cleanup * tested on linux * Addressing PR comments * Move things around a bit to build in Linux * change eventpipe buffer deallocation code * more cleanup * this while loop doesnt do anything now * Fix build * fixing build * More cleanup * more pr comments * Fix unix build * more pr comments * trying to add a message to assertion that seems to be causing CIs to fail * more pr feedback * handle non-2-byte aligned string payloads inside payload buffers * some more cleanup * Fix off by one error in null index calculation * Make Get/SetThreadEventBufferList a static member of ThreadEventBufferList * make only the methods public in ThreadEventBufferList * Addressing noah's comments * fix comment and last off by 1 error
2019-02-09set up CoreLib to include EventCounter in build project (#22501)Sung Yoon Whang1-0/+1
2019-02-09Add reporting exception from ResolveEHClause (#17947)Jan Vorlicek2-18/+39
* Add reporting exception from ResolveEHClause When an exception, like EEFileLoadException happens in the ResolveEHClause, it was not caught by the runtime and so it caused exit with `terminating with uncaught exception of type EEFileLoadException*` message without any additional details. This change adds catching the exception, reporting its details and call stack and then failing fast. * Change StackSString to SString * Ensure the catch clause types are loaded before EH In crossgen-ed images, ensure the types used in catch clauses are loaded before the function containing these clauses is executed. That ensures that a failure to load the EH clause type will occur at that time instead of during the EH stack walking that searches for the catch handler. * Fix EH clause class module check * Remove the EH clause class module check It turns out that even if the class was from the current module, it may depend on types from other modules, so we still need to add a fixup for it.
2019-02-08move EventCounter to shared CoreLib (dotnet/corefx#35183)Sung Yoon Whang1-0/+491
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-02-08Move Array's SZGenericArrayEnumerator to shared partition (#22480)Marek Safar4-203/+211
* Move Array's SZGenericArrayEnumerator to shared partition * Remove legacy comment * Move all array enumerators to a new file
2019-02-08Delete EnvironmentAugments (#22485)Jan Kotas2-49/+0
2019-02-09Set visibility option to hidden (#21924)Adeel Mujahid51-156/+217
2019-02-08BitOps.TrailingZeroCount has inconsistent software fallback (#22333)Grant1-16/+41
Fix #22326
2019-02-08[Official Build] Remove FreeBSD builds (#22451)Jarret Shook2-12/+14
Currently all the FreeBSD machines are offline or in an unclean state which blocks official builds from finishing.
2019-02-08Revert "Revert "Re-point Jenkins to new Ubuntu ARM64 queue""Russ Keldorph1-2/+2
This reverts commit d617f96303c4b65b7b77ff5fa0d7aee38ebc19f8.
2019-02-08Move GCSettings to shared (#22483)Stephen Toub8-116/+113
Mainly just type definitions and error handling that gets shared.
2019-02-08Pass official build id to build (#22468)Sven Boemer1-3/+8
This ensures that coreclr gets a version number based on the build id.
2019-02-08Update CoreRT with shared array implementationJan Kotas1-29/+36
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-02-08Update BuildTools, CoreFx, CoreSetup to preview1-03706-01, preview.19106.8, ↵dotnet-maestro-bot2-5/+179
preview-27406-8, respectively (master) (#22455) * Update BuildTools, CoreFx, CoreSetup to preview1-03706-01, preview.19106.8, preview-27406-8, respectively * Disabling some outdated System.ObjectModel CoreFX tests * Undo BuildTools update
2019-02-08JIT: Suppress emitting same-reg zero extending move (#22454)Andy Ayers3-1/+88
Add a peephole optimization to suppress emitting zero extending moves if the previous instruction has already done a suitable zero extension. Only implemented for x64 currently. Closes #21923
2019-02-08JIT: fix ifdef guarding an assert (#22460)Andy Ayers1-1/+1
We use `_TARGET_AMD64_`, not `_TARGET_X64_`.
2019-02-08Force results of rejected multi-reg-returning tail-call candidates to temp. ↵Eugene Rozenfeld3-0/+153
(#22364) * Force results of rejected multi-reg-returning tail-call candidates to temp. Issue #20269 ran into an assert when trying to merge returns, one of which is a call to a multi-reg-returning method. The repro in the bug is a pmi of `System.Reflection.Metadata`. I added a simple repro test case. Results of calls to multi-reg-returning methods are expected to be saved to temps. Normally it's ensured by `impFixupCallStructReturn`; however, it doesn't do that for tail-call candidates. This change forces results of calls to multi-reg-returning methods to temps if the tail call is rejected late in morph. Fixes #20269.
2019-02-07Finish removing Environment from corefxStephen Toub1-6/+1
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-02-07Fix the desktop warning (#22481)Sergey Andreenko1-1/+1
2019-02-07Move DateTime for Unix to shared partition (#22383)Marek Safar5-11/+29
* Move DateTime for Unix to shared partition * Keep CoreCLR specific implementation
2019-02-07Disable more baseservices/threading/interlocked tests on Ubuntu.Arm64 (#22471)Egor Chesakov1-0/+12
In the last two weeks the following tests have failed: * baseservices/threading/interlocked/exchange/ExchangeTClass - 5 times * baseservices/threading/interlocked/exchange/ExchangeTString - 13 times * baseservices/threading/interlocked/exchange/ExchangeTString_1 - 12 times * baseservices/threading/interlocked/exchange/ExchangeTString_2 - 20 times In addition to the previously disabled tests (in #22304): * baseservices/threading/interlocked/compareexchange/CompareExchangeTClass - 9 times * baseservices/threading/interlocked/compareexchange/CompareExchangeTClass_1 - 32 times All the failures happened on Ubuntu.1804.Arm64.Open Helix queue in Azure DevOps Pri1 jobs **Related issue:** #22303
2019-02-07Fix race condition in g_pfnGetSystemTimeAsFileTime initialization (#22466)Jan Kotas1-4/+9
Multiple threads initializing g_pfnGetSystemTimeAsFileTime at the same time can end up with different conclusions. Make the result consistent.
2019-02-07Add config option to disable tier 0 JIT (#22370)Koundinya Veluri10-55/+206
Add config option to disable tier 0 JIT Fixes https://github.com/dotnet/coreclr/issues/21856 - For methods that don't have pregenerated code, using tier 0 JIT can improve startup perf, and disabling tier 0 JIT can be useful to sacrifice some startup time to avoid issues of running tier 0 code for too long. In some cases, it may also be desirable to avoid tiering up much later. - A fixed value for the call count indicates that tier 0 call counting is disabled. When disabled, the method starts at tier 1. - Also modified call counting to start from a predetermined threshold and count down to zero, as it simplifies some things, allows for methods to have different thresholds, and likely is what we would want eventually anyway - Took a small step towards eliminating knowledge of specific tier levels in code that should not care, though more is to be done there
2019-02-07Merge pull request #22023 from BruceForstall/FixGSWithLocallocBruce Forstall10-424/+1302
Fix ARM64 GS with localloc
2019-02-07More PAL layer cleanup for GNU and add build script support for GCC (#22369)Sinan Kaya33-85/+394
* Declare throw only when compiling for c++ Prevent the definition from getting defined multiple times and map it to throw() only when compiling c++ code. * Suppress warnings for tests Suppress: -Wno-write-strings -Wno-sign-compare -Wno-narrowing -fpermissive -Wno-int-to-pointer-cast to allow tests to compile * Add gcc option to build.sh script Following clangx.y model add -gccx.y command line arguments with gcc5 and gcc7 being the currnetly supported options. * Allow environment variable to be used for TOOLCHAIN Remove CLANG specific compiler options as well. * Hide non-GNU compiler options * Do not include local directory if cross compiling [ 0%] Building CXX object src/pal/src/eventprovider/tracepointprovider/CMakeFiles/coreclrtraceptprovider.dir/__/lttng/traceptprovdotnetruntime.cpp.o cc1plus: error: include location "/usr/local/include" is unsafe for cross-compilation [-Werror=poison-system-directories] * Suppress unknown pragma warnings src/pal/src/exception/seh-unwind.cpp:37:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas] #pragma clang diagnostic pop Removing these cause compilation error on clang7 and arm as follows: In file included from /bin/obj/Linux.arm.Debug/src/pal/src/libunwind/include/libunwind.h:9: /src/pal/src/libunwind/include/libunwind-arm.h:247:9: error: empty struct has size 0 in C, size 1 in C++ [-Werror,-Wextern-c-compat] typedef struct unw_tdep_save_loc ^ /src/pal/src/libunwind/include/libunwind-arm.h:288:9: error: empty struct has size 0 in C, size 1 in C++ [-Werror,-Wextern-c-compat] typedef struct * plt not useful for GNU and ARM64/ARM src/pal/src/arch/arm64/callsignalhandlerwrapper.S: Assembler messages: src/pal/src/arch/arm64/callsignalhandlerwrapper.S:31: Error: unexpected characters following instruction at operand 1 -- `bl signal_handler_worker@plt' src/pal/src/arch/arm64/callsignalhandlerwrapper.S:32: Error: unexpected characters following instruction at operand 1 -- `bl signal_handler_worker@plt' * Remove double const from argv in PAL_Initialize Seeing compilation error with GNU for C source files as follows: if (PAL_Initialize(argc, argv) != 0) ^ src/pal/tests/palsuite/common/palsuite.h:21:0, from src/pal/tests/palsuite/c_runtime/asinhf/test1/test1.c:18: src/pal/inc/pal.h:374:1: note: expected ‘const char * const*’ but argument is of type ‘char **’ * Suppress format warnings using GNU for libunwind warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘int’ [-Wformat=] Debug (4, " aligned frame, offset %li\n", f->cfa_reg_offset); * Fix -fpermissive warnings for GNU * Suppress unused variable warning in libunwind src/pal/src/libunwind/include/libunwind-aarch64.h:201:5: warning: right-hand operand of comma expression has no effect [-Wunused-value] #define unw_tdep_getcontext(uc) (({ \ ~~~~~~~~~ unw_tdep_context_t *unw_ctx = (uc); \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ register uint64_t *unw_base asm ("x0") = (uint64_t*) unw_ctx->uc_mcontext.regs; \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ __asm__ __volatile__ ( \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x0, x1, [%[base], #0]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x2, x3, [%[base], #16]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x4, x5, [%[base], #32]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x6, x7, [%[base], #48]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x8, x9, [%[base], #64]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x10, x11, [%[base], #80]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x12, x13, [%[base], #96]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x14, x13, [%[base], #112]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x16, x17, [%[base], #128]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x18, x19, [%[base], #144]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x20, x21, [%[base], #160]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x22, x23, [%[base], #176]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x24, x25, [%[base], #192]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x26, x27, [%[base], #208]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x28, x29, [%[base], #224]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "str x30, [%[base], #240]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "mov x1, sp\n" \ ~~~~~~~~~~~~~~~~ "stp x1, x30, [%[base], #248]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : [base] "+r" (unw_base) : : "x1", "memory"); \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ }), 0) * Fix warning: ‘memset’ used with length equal to number of elements warning Fix similar warnings to these by including the element size into total size calculation. src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableW/test1/test.cpp: In function ‘int main(int, char**)’: src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableW/test1/test.cpp:89:31: warning: ‘memset’ used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size] memset(NewValue,0,BUF_SIZE); * Define CLR specific compiler option CLR_CMAKE_COMPILER By the time toolchain.cmake is called, the compiler detection from cmake is not active. We need an intermediate definition to pass to compiler detection.
2019-02-07Fix GCSample bit rot (#22462)Jan Kotas6-19/+35
Fixes #22459
2019-02-07Merge pull request #22435 from ↵Egor Chesakov3-14/+8
echesakovMSFT/TreatCLRTestExecutionArgumentsAsAnArrayInBash Treat CLRTestExecutionArguments as an array in generated Bash scripts
2019-02-07Fixing Utf8Formatter.Float to support all the same format specifiers as the ↵Tanner Gooding2-24/+14
utf16 formatter. (#22434) * Fixing Utf8Formatter.Float to support all the same format specifiers as the utf16 formatter. * Disabling some outdated CoreFX tests. * Fixing TryFormatFloatingPoint to special-case format.IsDefault
2019-02-07Fix delegate creation for default interface methods on structs (#22427)Michal Strehovský3-1/+216
We only need to find an unboxing stub if we resolved the interface to a valuetype method. If we resolved to a default interface method implementation, unboxing is not necessary.
2019-02-07Cleanup LLVM assumption (#22456)Sinan Kaya6-16/+16
We want to support GNU compilation for CoreCLR. Luckily both LLVM and GNU compilers define __GNUC__ and there are a lot of things they can share.
2019-02-06Fix CoreLib to include PasteArguments.Unix.cs correctly (#22453)Stephen Toub1-1/+1
2019-02-06Move Array to shared partition (#22321)Marek Safar4-655/+686
2019-02-06Implement ↵Marek Safar9-176/+15
ManifestBasedResourceGroveler::GetNeutralResourcesLanguageAttribute (#22372) * Implement ManifestBasedResourceGroveler::GetNeutralResourcesLanguageAttribute in shared managed code * Remove native ::GetNeutralResourcesLanguage
2019-02-06Fix ARM64 GS with locallocBruce Forstall10-424/+1302
Currently, all frame types place saved FP/LR at low addresses on the frame, below the GS cookie. If a function has localloc, the dynamically allocate and unsafe buffer will be lower than the saved FP/LR and not the GS cookie won't properly protect the saved FP/LR. This change introduces new frame types, used only for functions needing a GS cookie and using localloc, saving FP/LR along with the rest of the callee-saved registers at the top (highest addresses) of the frame, above the GS cookie.
2019-02-06Index and Range updates (#22331)Tarek Mahmoud Sayed15-99/+568
* Index and Range updates * Address @mikedn feedback * Address Feedback * more feedback * Use Deconstruct in Range.GetOffsetAndLength * Rename GetArrayRange to GetSubArray * Temporary disable the old Corefx Range tests * Return back the TimeSpan test disabling * Fix Range jit test * Exclude the jit test * revert the changes in the jit Range test * Address Suggested Feedback
2019-02-06Merge pull request #22450 from BruceForstall/DisableFlakySystemNetTestsBruce Forstall1-0/+1
Disable flaky Linux/arm64 corefx System.Net.Sockets.Tests
2019-02-06Throw an exception when passing strings by-value as out parameters. (#21513)Jeremy Koritzinsky10-36/+81
* Throw an exception when passing strings by-value as out parameters. * Fix encoding * Don't use override in this PR. * Clean up Marshal_In Marshal_In was copied back into existence from Marshal_InOut. Clean it up a bit. * Remove extraneous whitespace. * Fix failing test. * Remove out attribute in COM string tests. * Add back attribute and check for exception thow in COM tests. * Add block comment to explain the implementation of Reverse_LPWStr_OutAttr in the NETServer. * Only throw in a CLR->Native marshalling situation. * Fix asserts from changed code-paths used in ILWSTRMarshaler. * Add comment and explicitly load in a null value (instead of leaving it uninitialized). * Apply suggestions from code review Co-Authored-By: jkoritzinsky <jkoritzinsky@gmail.com> Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
2019-02-06Allow lcl_var structs to be widened to primitive types on unix amd64. (#22437)Jarret Shook1-4/+5
* Allow lcl_var structs to be widened to primitive types on unix amd64. The already happens on armarch * Apply format patch
2019-02-06Disable flaky Linux/arm64 corefx System.Net.Sockets.TestsBruce Forstall1-0/+1
Tracking: https://github.com/dotnet/coreclr/issues/21576 In general, any System.Net test that exhibits flakiness should be disabled; we pay more in flakiness than we gain in coverage.
2019-02-06Treat $(CLRTestExecutionArguments) as an array in BashEgor Chesakov2-8/+8
2019-02-06Enable baseservices/threading/paramthreadstart/ThreadStartString_1Egor Chesakov1-6/+0
2019-02-06Add option to run tests in unloadable context (#22332)Jan Vorlicek68-9/+202
This change adds new "runincontext" option to the tests/runtest.cmd that allows running tests inside of an unloadable AssemblyLoadContext. It also adds new property that allows tests to be marked as incompatible with running this way. All known tests that have such issue are marked in this PR too.
2019-02-05Merge pull request #22433 from BruceForstall/DisableFailingLinuxArm64TestBruce Forstall1-0/+3
Disable failing constrainedcall test
2019-02-05Merge pull request #22438 from BruceForstall/DisableFailingXarchTestsBruce Forstall1-0/+18
Disable failing BestFitMapping tests
2019-02-05Merge pull request #22439 from BruceForstall/DisableWaitOne2Bruce Forstall1-0/+3
Disable baseservices\threading\mutex\misc\waitone2 test
2019-02-05Merge pull request #22444 from BruceForstall/DisableGThread23Bruce Forstall1-0/+3
Disable GThread23 test
2019-02-05Disable GThread23 testBruce Forstall1-0/+3
It fails regularly though randomly in the CI. Tracking issue: https://github.com/dotnet/coreclr/issues/19339
2019-02-05Disable failing constrainedcall test on LinuxBruce Forstall1-0/+3
Tracked by https://github.com/dotnet/coreclr/issues/22423
2019-02-05Disable baseservices\threading\mutex\misc\waitone2 testBruce Forstall1-0/+3
This test has been failing randomly in the CI on all architectures for a long, long time. Tracking issue: https://github.com/dotnet/coreclr/issues/6397