summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-03-23[Tizen] Add FEATURE_LARGEADDRESS_SUPPORTsubmit/tizen_5.5/20200323.035211submit/tizen/20200323.035150accepted/tizen/unified/20200323.172942accepted/tizen/5.5/unified/20200323.072150Sangwook Kim3-0/+13
Many diagnostic tools are unaware of 32-bit applications which have large address spaces (> 2GB). Such tools include the TraceEvent library (required by PerfView and dotnet-trace), and Visual Studio. They assume the address range 0x80000000 through 0xFFFFFFFF as the system space and thus often fail to read symbols from event traces generated by CoreCLR. This workaround is to support such scenarios by simply discarding MSBs of 32-bit instruction pointer values in the trace output. Only a minimal set of values required for symbol resolution are affected by this change. Beware that you will have to manually restore the original values when you inspect them in lldb or etc.
2020-03-16[Tizen] Add "-pie" option to "ilasm, ildasm" to avoid ASLR violationsubmit/tizen_5.5/20200316.065806submit/tizen/20200316.065814accepted/tizen/unified/20200317.063623accepted/tizen/5.5/unified/20200317.160115Woongsuk Cho4-0/+12
To apply -pie option to "ilasm, ildasm", mscorpe, unixcoreclrloader should be built with -fPIC option
2020-02-14modify integral tryparse to use memcpy (#2295)John Salem1-1/+1
2020-02-14Fix OverflowException from IntPtr casting (#14381)Swift Kim1-1/+1
2020-01-21[Tizen] Reduce arm_phdr_cb call overheadsubmit/tizen_5.5/20200207.005700accepted/tizen/5.5/unified/20200207.122745JUNG DONG-HEON3-1/+48
- Too many calls to arm_phdr_cb even though it get the same data. - It caches an ARM_CB_DATA for libcoreclr.so, then reuse.
2020-01-09Fix GC heap corruption on ARM. (#1389)submit/tizen_5.5/20200120.050447accepted/tizen/5.5/unified/20200121.031421Anton Lapounov1-1/+1
The allocate_in_free code path in allocate_in_expanded_heap incorrectly calculated the large (double) alignment padding size when limiting the plug size (SHORT_PLUGS) if set_padding_on_saved_p was true: set_padding_in_expand (old_loc, set_padding_on_saved_p, pinned_plug_entry); // Sets the padding flag on the saved plug ... pad += switch_alignment_size (is_plug_padded (old_loc)); // Reads the padding flag from the old (different!) plug That caused access violation during a later heap walk since the g_gc_pFreeObjectMethodTable pointer marking the gap was not placed at the right address. Change-Id: I10a5fa443b3f5a614909983cd3c06d5420d22858
2019-12-24Change bIsFree check in DacValidateMethodTable (#1086)Dong-Heon Jung1-8/+1
Some commands of SOS validate a method table in DacValidateMethodTable. In the function, it checks whether a method table is FreeObjectMethodTable or not with GetClass() value. However, GetClass() should not be NULL. (There is an assert in GetClass()) In this patch, it compares pMT address with g_pFreeObjectMethodTable address only.
2019-12-12[Tizen] add pie linker option to createdumpWoongsuk Cho1-0/+1
2019-12-10Handle glibc sys/sysctl.h deprecation (#27048)Omair Majid1-2/+5
glibc has deprecated sys/sysctl.h: In file included from /coreclr/src/pal/src/misc/sysinfo.cpp:32: /usr/include/sys/sysctl.h:21:2: error: "The <sys/sysctl.h> header is deprecated and will be removed." [-Werror,-W#warnings] #warning "The <sys/sysctl.h> header is deprecated and will be removed." ^ 1 error generated. Fix that by preferring sysconf and only including sys/sysctl.h if HAVE_SYSCONF is not true. This mirrors the order of the implementation code in this file (sysinfo.cpp) which checks for HAVE_SYSCONF before HAVE_SYSCTL. Fixes #27008
2019-12-03Enable NGEN for methods marked with AggressiveOptimization (#27259)Dong-Heon Jung1-1/+4
- Methods marked with AggressiveOptimization are not NGENed at all. - The methods are compiled during the runtime with high JITC overhead. - It makes launching time slower over 6% in our embedded systems.
2019-12-03Mark Relocation Section as NotNeeded (#25715)Dong-Heon Jung5-0/+110
- After relocation, relocation section in zap image is not necessary. - Mark the section as NotNeeded by giving advice(madvise with MADV_DONTNEED) - It reduces 120~150KB PSS in tizen sample apps.
2019-11-21[Tizen] Use PTRACE_GETREGSET for any arch when creating dumpsubmit/tizen/20191120.225954accepted/tizen/unified/20191121.073401Swift Kim1-13/+5
Also ignore ptrace NT_FPREGSET failures for arm processes on aarch64 kernels. Fixes #25707.
2019-10-15[Tizen] Add coreclr_preload_assembly to CoreCLR host APItizen_5.5.m2_releasesubmit/tizen_5.5_mobile_hotfix/20201026.185106submit/tizen_5.5/20191031.000006submit/tizen/20191014.221258accepted/tizen/unified/20191015.012049accepted/tizen/5.5/unified/mobile/hotfix/20201027.061818accepted/tizen/5.5/unified/20191031.004944Konstantin Baladurin14-162/+1064
2019-10-11[Tizen] Implement ASan wrapper for Linux AMD64Vyacheslav Cherkashin3-0/+157
Change-Id: I48446ce7c8771a4c75149512bb7d8a8cb3fae8e5 Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
2019-10-11[Tizen] Implement ASan wrapper for Linux ARM32Vyacheslav Cherkashin6-0/+278
This commit implements wrappers that allow interception transitions from managed to external unmanaged code (CIL -> native) and back (native -> CIL). This allows enable/disable ASan during transitions. Due to this, we sanitize only external code, which allows us to achieve acceptable performance. Change-Id: I53ecdc14d28f7210cd9e7f5bd4db0c8ef5ed81fc Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
2019-10-11[Tizen] Implement detecting of sanitized librariesAndrey Drobyshev5-0/+182
Parse ".dynamic" section (ELF dynamic array tags) of the module being added, find ".rel(a).plt" section and search it for presence of '__asan_init' symbol. Change-Id: Ie7cc4c818b791b5f00713b42ba15131325b8152c Signed-off-by: Andrey Drobyshev <a.drobyshev@samsung.com>
2019-10-07Remove VolatileLoad from code already under lockFadi Hanna1-1/+1
2019-10-07Use VolaiteLoad to read counterFadi Hanna1-2/+2
2019-10-07Fix read ordering bug between buckets pointer and counterFadi Hanna1-1/+4
2019-10-07Prevent freeing of the profiler on process shutdown.David Mason1-11/+6
2019-10-07Revert "bail if profiler is terminated"David Mason1-24/+15
This reverts commit a5339ba00e94b8cd0c85b67fa66944eabc4ec7ad.
2019-10-07bail if profiler is terminatedDavid Mason1-15/+24
2019-10-07[Tizen] skip dotnet specific arguments in corerunKonstantin Baladurin1-0/+13
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.
2019-10-07Build error fix on FEATURE_PREJIT=trueSwift Kim2-2/+2
This fix is to update usages of SetupGcCoverage() under FEATURE_PREJIT aligned to the signature change in #25261.
2019-10-04[Linux/x86] Use ebp from current context during unwinding (#26789)Konstantin Baladurin4-15/+21
pCurrentContextPointers in REGDISPLAY can contain NULLs so we need to use ebp value from pCurrentContext. This patch contains following changes: - GetRegdisplayFP returns ebp from pCurrentContext - GetRegdisplayFP is used instead of *GetEbpLocation() - Set##reg##Location also updates register value in pCurrentContext
2019-09-26[JIT/x86] Fix LinearScan::allocateRegisters (#26649)Konstantin Baladurin1-1/+1
Check for `lvLRACandidate` instead of `!lvDoNotEnregister` when checking whether `this` may be enregistered and has an Interval.
2019-09-26Linux/x86: fix build (#26594)Konstantin Baladurin2-0/+3
2019-09-26[Tizen] Partially revert a6292a6.Mikhail Kurinnoi1-0/+39
NetcoreDBG depends from PAL functions. Instead of SOS plugin, that use PAL static libs, debugger should be able to operate with any runtime version and can't be statically linked to PAL.
2019-09-26add access(2) call before dlopening filesYaroslav Yamshchikov1-0/+9
2019-09-26[Tizen] Precompile frequently used generic methods.Kirill Frolov2-0/+45
2019-09-26corbbtprof: set byte alignment for CORBBTPROF structures (#25816)Konstantin Baladurin1-0/+5
Fix patch fixes SIGBUG that occurs due to unaligned read/write
2019-09-26Fail to explicitly tail call on x86 unix. (#25032)Jarret Shook1-2/+6
* Fail to explicitly tail call on x86 unix. * Correctly return 100 * Correct return value * Add noway assert in morphTailCall to avoid morphing slow tail calls on unix. * Address feedback
2019-09-26[Tizen] Disable jithost arena cacheGleb Balykov1-1/+1
2019-09-26[Tizen] Disable IBC Logger as a defaultDongHeon Jung1-1/+1
- Profile information is collected by ibc logger. Hower it is not used and saved into profile file. - The patch disables IBC logger which is enabled by default. - It disables IBC logger only with ibclogger.h file. IBCLOGGER_ENABLED definition is only used in ibclogger files.
2019-09-26Fix a build error when IBCLOGGER_ENABLED is not defined (#25691)Dong-Heon Jung1-13/+31
- Even if DACCESS_COMPILE or CROSSGEN_COMPILE is defined, coreclr can be built without IBCLOGGER_ENABLED definition.
2019-09-24[Tizen] seperate PIC and PIE to fix x86_64 build errorWoongsuk Cho1-3/+5
2019-09-24[Tizen] Add a library to retrieve memory regions for a coredumpMateusz Moscicki8-15/+339
This is needed to save a minicoredump of .NET applications to allows reconstruct managed stack by lldb and SOS plugin.
2019-09-24Fix OOPStackUnwinderX86::Unwind crash when Eip is invalidIgor Kulaychuk1-1/+1
2019-09-24Fix EECodeManager::GetAmbientSP on x86/LinuxIgor Kulaychuk1-1/+2
2019-09-24[Tizen] Add -pie to linker optionHyungju Lee1-0/+1
There have been no -pie linker option. This patch adds -pie linker option into crossgen(for tizen) This originates from 0024-Add-pie-to-linker-option.patch
2019-09-12Fix watson bucketing/broken triage dumps (#26670)Mike McLaughlin1-0/+5
Fix watson bucketing/broken triage dumps The DAC EnumMemoryRegions needs to include some missing code version manager memory.
2019-08-29Emit RVA Instead of File Offset by Default in Native Image PerfMap Files ↵Brian Robbins4-5/+32
(#26423)
2019-08-27Fix Abbreviated Genitive Month Names Parsing (#26384)Tarek Mahmoud Sayed3-10/+24
In 3.0 we have fixed the formatting to use the abbreviated genitive month names when having "d" format specifier followed by "MMM". This fix is good as original formatting specs required but we needed to support the parsing when we have such genitive names.
2019-08-26Do not use `AllocateUninitializedArray` in private array pools. (#26338) ↵Stephen Toub1-3/+3
(#26366) User may have extra expectations for the privatly owned array pools. For example there could be an expectation that array never contains negative numbers (since user never puts them there). Uninitialized allocations can break such expectations.
2019-08-26[release/3.0] Fix BinaryReader.ReadChars for fragmented Streams (#26324) ↵Jan Kotas2-1/+23
(#26356) BinaryReader.ReadChars incorrectly read more than necessary from the underlying Stream when multi-byte characters straddled the read chunks. Fixes https://github.com/dotnet/corefx/issues/40455
2019-08-20Port stage work for 3.0 (#26137)Aaron Robinson1-73/+0
* Add support for servicing (post-build.yml)
2019-08-19Use function-local StackingAllocator for EnC added methods (#26256)Juan Hoyos1-2/+6
As adding EnC methods happens on the Debugger Thread, there's no managed Thread object from which to obtain the cached StackingAllocator. Instead, just use a function-local StackingAllocator.
2019-08-19arm64 out of proc unwind for DAC (#26156)Mike McLaughlin2-11/+74
Removed FEATURE_DATATARGET4 for arm64 Added SP check to createdump's native unwind loop to make it more robust. Issue: https://github.com/dotnet/coreclr/issues/15062
2019-08-19Account for quoted values in provider filter string (#26159) (#26195)John Salem1-3/+19
* Account for quoted values in provider filter string
2019-08-16Clean up diagnosticserver socket on unexpected shutdown (#25976) (#26190)Sung Yoon Whang4-12/+45
* Clean up diagnosticserver socket/pipe on shutdown * Refactor dbg transport pipe cleanup to be registered as signal handler from the vm side * cleanup dead code * Remove more dead code and fix windows builds * Moving some ifdefs around