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
|
|
- 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.
|
|
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
|
|
|
|
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.
|
|
|
|
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
|
|
Tizen i586 now builds with -mstackrealign by default:
"Realign the stack at entry. On the x86, the -mstackrealign option
generates an alternate prologue and epilogue that realigns the
run-time stack if necessary. This supports mixing legacy codes that
keep 4-byte stack alignment with modern codes that keep 16-byte
stack alignment for SSE compatibility. ..."
Change-Id: I36afd18998829f897c6b2b48687c4ae1d172b84b
Signed-off-by: Mikhail Kashkarov <m.kashkarov@partner.samsung.com>
|
|
- 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.
|
|
- 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.
|
|
Also ignore ptrace NT_FPREGSET failures for arm processes on aarch64
kernels. Fixes #25707.
|
|
|
|
|
|
Change-Id: Ia495a61aa6495c3cf52cac167b34823ec90d3d9b
|
|
Enable libasansi.so support (libasan.so with switchable interceptors).
Change-Id: I9ee9b47b7beab55f036ffc0697ffab2583e9701c
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
|
|
Change-Id: I48446ce7c8771a4c75149512bb7d8a8cb3fae8e5
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
|
|
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>
|
|
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>
|
|
|
|
|
|
|
|
|
|
This reverts commit a5339ba00e94b8cd0c85b67fa66944eabc4ec7ad.
|
|
|
|
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 fix is to update usages of SetupGcCoverage() under
FEATURE_PREJIT aligned to the signature change in #25261.
|
|
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
|
|
tracing/tracevalidation/tracelogging/tracelogging/tracelogging.sh
see tests/issues.targets
|
|
Check for `lvLRACandidate` instead of `!lvDoNotEnregister` when checking whether `this` may be enregistered and has an Interval.
|
|
|
|
|
|
Change-Id: I74b3686bf0caad35c2c7519f8e4ee4d8ad0412f3
|
|
|
|
|
|
runtest.sh
|
|
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.
|
|
Change-Id: Icc69aa049a77c3adb961b00571765905d3494c70
|
|
Change-Id: I39f7a8c07d7760493d2aae08750abce6139103c4
|
|
|
|
|
|
Fix patch fixes SIGBUG that occurs due to unaligned read/write
|
|
* 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
|
|
|
|
- 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.
|
|
- Even if DACCESS_COMPILE or CROSSGEN_COMPILE is defined,
coreclr can be built without IBCLOGGER_ENABLED definition.
|
|
This define turns on new and delete operators compatibility mode for build with
Address Sanitizer. It allows Tizen libasan to intercept operators and prevents
alloc-dealloc-mismatch errors.
Change-Id: If72b1d42dd99eaaf11d3cb1232006ee0e2e411c3
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
|
|
Change-Id: Ic0b8bfc8ab45284ecda5ab99e683224368e607f5
|
|
Change-Id: Id37364dd5dec17ab5a7b60e14df78a4967b3f3b8
|
|
|
|
|