platform/upstream/coreclr.git
9 years agoPut Marshal.Read/Write with Object under FEATURE_LEGACYSURFACE
Jeroen Janssen [Sun, 15 Mar 2015 16:59:54 +0000 (17:59 +0100)]
Put Marshal.Read/Write with Object under FEATURE_LEGACYSURFACE

The Marshal.Read/Write methods with Object arguments are not part of the
refactored .NET Core System.Runtime.InteropServices contract. Mark them
with FEATURE_LEGACYSURFACE so these get physically excluded from
mscorlib.dll on Linux/Mac.

9 years agoMerge pull request #437 from mikem8361/clrstack
Mike McLaughlin [Sat, 14 Mar 2015 00:03:40 +0000 (17:03 -0700)]
Merge pull request #437 from mikem8361/clrstack

The sos "ClrStack" command now works

9 years agoCode review feedback.
Mike McLaughlin [Fri, 13 Mar 2015 22:52:59 +0000 (15:52 -0700)]
Code review feedback.

9 years agoMerge pull request #4 from kangaroo/clrstack
Mike McLaughlin [Fri, 13 Mar 2015 22:11:51 +0000 (15:11 -0700)]
Merge pull request #4 from kangaroo/clrstack

Fixes OSx problems.

9 years agoChange THREADSilentGetCurrentThreadId to return the pthread_threadid, which matches...
Geoff Norton [Fri, 13 Mar 2015 21:46:11 +0000 (14:46 -0700)]
Change THREADSilentGetCurrentThreadId to return the pthread_threadid, which matches the tid from lldb

9 years agoEnsure we find_library on LLDB as well to find LLDB.framework on OSX
Geoff Norton [Fri, 13 Mar 2015 21:45:37 +0000 (14:45 -0700)]
Ensure we find_library on LLDB as well to find LLDB.framework on OSX

9 years agoMerge pull request #439 from janvorli/add-unhandled-exception-trace-print
Jan Kotas [Fri, 13 Mar 2015 20:57:15 +0000 (13:57 -0700)]
Merge pull request #439 from janvorli/add-unhandled-exception-trace-print

Add unhandled exception stack trace print

9 years agoAdd unhandled exception stack trace print
Jan Vorlicek [Fri, 13 Mar 2015 19:29:35 +0000 (20:29 +0100)]
Add unhandled exception stack trace print

This change adds printing of unhandled managed exception stack trace to
console before exiting.

9 years agoFix CI build failures. Undefined functions.
Mike McLaughlin [Fri, 13 Mar 2015 18:21:05 +0000 (11:21 -0700)]
Fix CI build failures. Undefined functions.

9 years agoMerge pull request #438 from janvorli/fix-frames-popping
Jan Vorlicek [Fri, 13 Mar 2015 17:13:05 +0000 (18:13 +0100)]
Merge pull request #438 from janvorli/fix-frames-popping

Fix managed exception unwinding through CallDescrWorkerInternal

9 years agoExclude the Frame destructor from DAC build
Jan Vorlicek [Fri, 13 Mar 2015 16:30:14 +0000 (17:30 +0100)]
Exclude the Frame destructor from DAC build

The destructor is not needed on DAC builds and the definition was not being
built for DAC already. Conditionally disabling the declaration too.

9 years agoFix managed exception unwinding through CallDescrWorkerInternal
Jan Vorlicek [Fri, 13 Mar 2015 15:06:46 +0000 (16:06 +0100)]
Fix managed exception unwinding through CallDescrWorkerInternal

This change fixes issue with exception unwinding in the case when the unwinding
passed through a frame of the CallDescrWorkerInternal function. This function
had personality routine on it, but a windows style personality routine was specified.
The windows one has a completely different signature, so the code was crashing.
When looking into that, I've found that even if I have implemented a proper
Unix style personality routine, it cannot work the same way on Linux as it
used to work on Windows.
This personality routine's goal is to pop Frames from the Frame list in the current
thread so that all frames upto the frame handling the exception are popped.
There are two problems on Linux. First, unlike on Windows, the personality
routine is not passed the RSP of the frame handling the exception in an official
way. Although it can be extracted from the private_2 member of the exception
object during the 2nd pass, it is an implementation detail that we cannot rely on.
Moreover, even if we used that, it would still not be the right frame in all cases
due to the fact that we implement exception filters by catching and rethrowing and
so the frame we would get would be the frame of a filtering catch in case
there was one.
My solution to this problem is to add destructor to the Frame type and let it
pop the frame being destroyed if it is still in the list in the current thread.
That way the native code unwinding automatically takes care of popping the frames.
As an additional changes, I've added handling of the case when the
Thread::VirtualUnwindToFirstManagedCallFrame walks out of stack, fixed a stack
alignment issue in the recently added StartUnwindingNativeFrames function and
a cosmetic change in the UnwindManagedExceptionPass1.

9 years agoMerge remote-tracking branch 'upstream/master' into clrstack
Mike McLaughlin [Thu, 12 Mar 2015 23:14:05 +0000 (16:14 -0700)]
Merge remote-tracking branch 'upstream/master' into clrstack

9 years agoFix PAL printf functions. Didn't handle "%*.*p" correctly which is supported under...
Mike McLaughlin [Thu, 12 Mar 2015 22:11:01 +0000 (15:11 -0700)]
Fix PAL printf functions.  Didn't handle "%*.*p" correctly which is supported under windbg/windows runtime.  Didn't actually support "*" for the width parameter at all for any format char.

9 years agoMerge pull request #435 from janvorli/nested-exception-handling
Jan Vorlicek [Thu, 12 Mar 2015 20:49:05 +0000 (21:49 +0100)]
Merge pull request #435 from janvorli/nested-exception-handling

Add support for exceptions crossing native frames

9 years agoMerge pull request #436 from janvorli/resource-loading-workaround
Jan Vorlicek [Thu, 12 Mar 2015 20:41:29 +0000 (21:41 +0100)]
Merge pull request #436 from janvorli/resource-loading-workaround

Workaround native resource string loading temporarily

9 years agoAdd support for exceptions crossing native frames
Jan Vorlicek [Thu, 12 Mar 2015 02:04:01 +0000 (03:04 +0100)]
Add support for exceptions crossing native frames

This change adds support for unwinding exceptions that cross native frames.
These are for example exceptions thrown / rethrown from catch blocks.
The exceptions are unwound in an interleaved manner in this case. First,
all managed frames upto the first native frame are unwound (both the first
and second pass), then the native frames are unwound by standard c++ exception
handling, then the next block of managed frames is unwound etc.
The change also implements RtlCaptureContext and changes the managed exception
handling to use it instead of the GetThreadContext. The difference is that the
RtlCaptureContext gets context of the caller while the GetThreadContext gets
a context somewhere deep in the PAL and so unwinding from such a context to the
first managed frame would be walking old stack frames that can already be corrupted.
As an additional change, I have fixed a problem that prevented unwinding of
assembler functions that use the PROLOG_WITH_TRANSITION_BLOCK macro.
The macro was using CFI annotation for the xmm registers and the libunwind
doesn't support that.
Moreover, the PAL_VirtualUnwind return status was not being checked in the
`Thread::VirtualUnwindToFirstManagedCallFrame`, so the failure resulted in an
infinite loop in there.
Finally, the `debug/di/amd64/floatconversion.S` was including the unixasmmacros.inc
using a relative path, now after I've moved it to a different place, I've removed
the relative path since the new path is in the include paths.

9 years agoMerge pull request #432 from kangaroo/pal-glccfos
Jan Vorlicek [Thu, 12 Mar 2015 19:49:36 +0000 (20:49 +0100)]
Merge pull request #432 from kangaroo/pal-glccfos

Implement GetLogicalCpuCountFromOS in the PAL for OSX

9 years agoReflect feedback
Jan Vorlicek [Thu, 12 Mar 2015 19:44:54 +0000 (20:44 +0100)]
Reflect feedback

Changed #ifndef FEATURE_PAL to #if 0 since the file is in PAL.

9 years agoMerge pull request #427 from LLITCHEV/work
Lubomir Litchev [Thu, 12 Mar 2015 18:07:27 +0000 (11:07 -0700)]
Merge pull request #427 from LLITCHEV/work

Fix some struct passing and tail call Jit problems on System V type of O...

9 years agoFix some struct passing and tail call Jit problems on System V type of OSs.
Lubomir Litchev [Tue, 10 Mar 2015 21:27:39 +0000 (14:27 -0700)]
Fix some struct passing and tail call Jit problems on System V type of OSs.

This change set contains the following:
1. Removes the PUSH/POP for RDI/RSI functionality from the Jit for Linux. Replaced with
standard register tracking and spilling by the RA.
2. Initialize the non stack homed, register passed param stack offset to 0
and allow the fixup routines to operate on the offset. Tail calls
implementation depends on the offset of the first param be set properly.
3. Initial work to allow for frame chaining using a FP register.

9 years agoImplement GetLogicalCpuCountFromOS in the PAL for OSX
Geoff Norton [Wed, 11 Mar 2015 17:55:28 +0000 (10:55 -0700)]
Implement GetLogicalCpuCountFromOS in the PAL for OSX

9 years agoWorkaround native resource string loading temporarily
Jan Vorlicek [Thu, 12 Mar 2015 13:11:40 +0000 (14:11 +0100)]
Workaround native resource string loading temporarily

This change is a temporary workaround for native resource string loading until we have
the resource string support implemented.
Instead of asserting in the resource loading methods, return a string representing
the id for the requested resource.
The change implements a similar workaround for the FMTMSG_GetMessageString which now
returns a string containing "Error errorCode" where the errorCode is the error code
passed to the method.
This way, exceptions that use those two functions can be raised without asserting.

9 years agoThe ClrStack command mostly works except for some address formating (related to ...
Mike McLaughlin [Wed, 11 Mar 2015 23:52:56 +0000 (16:52 -0700)]
The ClrStack command mostly works except for some address formating (related to %p).  Needed to change how the PAL got the thread id (pthread_self to gettid) and implemented a simple GetThreadContext function.

9 years agoMerge pull request #434 from AlexGhiondea/concurrentDict
Jan Kotas [Wed, 11 Mar 2015 22:04:47 +0000 (15:04 -0700)]
Merge pull request #434 from AlexGhiondea/concurrentDict

Remove the CDS_COMPILE_JUST_THIS define from the ConcurrentDictionary.cs file

9 years agoMerge pull request #418 from AlexGhiondea/AppContextFix
AlexGhiondea [Wed, 11 Mar 2015 21:28:52 +0000 (14:28 -0700)]
Merge pull request #418 from AlexGhiondea/AppContextFix

Make sure that AppContext respects CompatibilitySwitches.IsAppSilverlight81 flag

9 years agoRemove the CDS_COMPILE_JUST_THIS define from the ConcurrentDictionary.cs file.
Alex Ghiondea [Wed, 11 Mar 2015 20:48:48 +0000 (13:48 -0700)]
Remove the CDS_COMPILE_JUST_THIS define from the ConcurrentDictionary.cs file.

We are not going to build that file stand-alone anymore.

9 years agoMerge pull request #429 from jkotas/testfixes
Jan Vorlicek [Wed, 11 Mar 2015 09:30:11 +0000 (10:30 +0100)]
Merge pull request #429 from jkotas/testfixes

Fix error handling in REGUTIL::EnvGetString

9 years agoFix error handling in REGUTIL::EnvGetString
Jan Kotas [Tue, 10 Mar 2015 05:18:27 +0000 (22:18 -0700)]
Fix error handling in REGUTIL::EnvGetString

9 years agoMerge pull request #428 from ellismg/custom-entry-point
Matt Ellis [Wed, 11 Mar 2015 05:35:31 +0000 (22:35 -0700)]
Merge pull request #428 from ellismg/custom-entry-point

Add custom entry point support.

9 years agoAdd custom entry point support.
Matt Ellis [Tue, 3 Mar 2015 06:48:35 +0000 (22:48 -0800)]
Add custom entry point support.

Hosts like ASP.net don't want to call ExecuteAssembly, because their
entry point is library, not a managed exe.  However, forcing cross
platform hosts to actually call CreateAppDomainWithManager and
CreateDelegate themselves requires a bunch of tedious code, since these
hosts don't have access to mscoree.h and the PAL.

This change adds the ability to specificy an assembly, type and method
which can be used as a custom entrypoint.  The signiture of the managed
entry point needs to be `static int E(int, char**)`.

9 years agoFix some more build problems/missing globals. The ClrStack command builds and almost...
Mike McLaughlin [Wed, 11 Mar 2015 00:37:06 +0000 (17:37 -0700)]
Fix some more build problems/missing globals. The ClrStack command builds and almost runs except for a thread id problem.

9 years agoFix some missing variables and other build problems. The ClrStack command now builds...
Mike McLaughlin [Wed, 11 Mar 2015 00:35:51 +0000 (17:35 -0700)]
Fix some missing variables and other build problems.  The ClrStack command now builds and almost runs. There is a problem with thread ids between the debugger/DAC and the target/VM/PAL.

9 years agoThe "ClrStack" command and related functions now build.
Mike McLaughlin [Tue, 10 Mar 2015 22:50:14 +0000 (15:50 -0700)]
The "ClrStack" command and related functions now build.

9 years agoMerge pull request #426 from ramarag/merge-from-tfs
Rama krishnan Raghupathy [Tue, 10 Mar 2015 21:07:06 +0000 (14:07 -0700)]
Merge pull request #426 from ramarag/merge-from-tfs

Merge from tfs

9 years agoMerge remote-tracking branch 'upstream/master' into merge-from-tfs
Rama krishnan Raghupathy [Tue, 10 Mar 2015 19:38:01 +0000 (12:38 -0700)]
Merge remote-tracking branch 'upstream/master' into merge-from-tfs

Resolved Merge Conflict:
tests/src/AllTestProjects.sln

9 years agoMake sure that AppContext respects CompatibilitySwitches.IsAppSilverlight81 flag.
Alex Ghiondea [Mon, 9 Mar 2015 22:15:04 +0000 (15:15 -0700)]
Make sure that AppContext respects CompatibilitySwitches.IsAppSilverlight81 flag.

This flag is used in cases where we don't have a Main() which means we won't be
able to read the TFM. Setting this compatibility flag will force the TFM to be
'WindowsPhone, Version=8.1".

9 years agoMerge pull request #425 from jkotas/jitpinvokefix
Jan Kotas [Tue, 10 Mar 2015 18:34:54 +0000 (11:34 -0700)]
Merge pull request #425 from jkotas/jitpinvokefix

Fix trashing of P/Invoke return value by GC probe

9 years agoMerge pull request #416 from janhenke/master
Matt Mitchell [Tue, 10 Mar 2015 17:05:15 +0000 (10:05 -0700)]
Merge pull request #416 from janhenke/master

Do not hardcode path to bash into the shell scripts.

9 years agoMerge pull request #423 from jkotas/timerfix
Jan Kotas [Tue, 10 Mar 2015 16:16:40 +0000 (09:16 -0700)]
Merge pull request #423 from jkotas/timerfix

Avoid call to QueryUnbiasedInterruptTime for PAL

9 years agoDo not hardcode path to bash into the shell scripts.
Jan Henke [Mon, 9 Mar 2015 17:55:24 +0000 (18:55 +0100)]
Do not hardcode path to bash into the shell scripts.

Use /usr/bin/env bash to discover bash, independet of actual path. Closes #204.

9 years agoAvoid call to QueryUnbiasedInterruptTime for PAL
Jan Kotas [Tue, 10 Mar 2015 05:46:43 +0000 (22:46 -0700)]
Avoid call to QueryUnbiasedInterruptTime for PAL

9 years agoMerge pull request #400 from mikem8361/dacglobals1
Mike McLaughlin [Tue, 10 Mar 2015 00:26:52 +0000 (17:26 -0700)]
Merge pull request #400 from mikem8361/dacglobals1

Implement the DAC global pointer table for Linux

9 years agoMerge pull request #419 from ellismg/unblock-datetime-now
Jan Kotas [Mon, 9 Mar 2015 23:17:05 +0000 (16:17 -0700)]
Merge pull request #419 from ellismg/unblock-datetime-now

Return null for GetLocalTzFile

9 years agoMerge remote-tracking branch 'upstream/master' into dacglobals1
Mike McLaughlin [Mon, 9 Mar 2015 23:06:20 +0000 (16:06 -0700)]
Merge remote-tracking branch 'upstream/master' into dacglobals1

9 years agoFix sos on window's build.
Mike McLaughlin [Mon, 9 Mar 2015 23:05:13 +0000 (16:05 -0700)]
Fix sos on window's build.

9 years agoReturn null for GetLocalTzFile
Matt Ellis [Mon, 9 Mar 2015 22:09:20 +0000 (15:09 -0700)]
Return null for GetLocalTzFile

Throwing an exception from GetLocalTzFile causes DateTime.Now to throw
an exception and the runtime to tear down.  While we are bringing up
the globalization stack on Unix, we can just return null instead of
throwing.  This will cause us to use a zero UTC offset, so the local
times will not actually match the local clock, but we will be able to
get further along.

9 years agoMerge pull request #415 from jkotas/zapwriter
Jan Kotas [Mon, 9 Mar 2015 19:22:10 +0000 (12:22 -0700)]
Merge pull request #415 from jkotas/zapwriter

Fix size computation in ZapWriter::WritePad

9 years agoMerge pull request #411 from ramarag/fix_test_msbuild_warnings
Matt Mitchell [Mon, 9 Mar 2015 15:14:29 +0000 (08:14 -0700)]
Merge pull request #411 from ramarag/fix_test_msbuild_warnings

Adding app.config to get rid of the warning MSB3276 in the Test Build

9 years agoFix size computation in ZapWriter::WritePad
Jan Kotas [Mon, 9 Mar 2015 13:40:13 +0000 (06:40 -0700)]
Fix size computation in ZapWriter::WritePad

9 years agoMerge pull request #414 from jkotas/assertfix
Jan Vorlicek [Mon, 9 Mar 2015 09:41:54 +0000 (10:41 +0100)]
Merge pull request #414 from jkotas/assertfix

Make assertion failures to break into debugger

9 years agoMake assertion failures to break into debugger
Jan Kotas [Mon, 9 Mar 2015 03:13:25 +0000 (20:13 -0700)]
Make assertion failures to break into debugger

9 years agoAdding app.config to get rid of the warning MSB3276
Rama krishnan Raghupathy [Sat, 7 Mar 2015 04:16:24 +0000 (20:16 -0800)]
Adding app.config to get rid of the warning MSB3276

9 years agoWith This change the tests build all the native components first and then builds...
Rama Krishnan Raghupathy [Sat, 7 Mar 2015 02:15:55 +0000 (18:15 -0800)]
With This change  the tests build all the native components first and then builds the managed components. The managed components can refer to the native projects by the following construct in the .csproj
             <ProjectReference Include="CMakeLists.txt">

[tfs-changeset: 1427574]

9 years agoMerge pull request #409 from ellismg/fix-file-mode
Matt Ellis [Sat, 7 Mar 2015 01:08:38 +0000 (17:08 -0800)]
Merge pull request #409 from ellismg/fix-file-mode

Change file modes of .PNGs

9 years agoFix method desc name display by using the PAL vsnprintf instead of the regular linux...
Mike McLaughlin [Sat, 7 Mar 2015 00:31:40 +0000 (16:31 -0800)]
Fix method desc name display by using the PAL vsnprintf instead of the regular linux runtime version that doesn't understand %S as an UTF16 string.

9 years agoChange file modes of .PNGs
Matt Ellis [Sat, 7 Mar 2015 00:00:45 +0000 (16:00 -0800)]
Change file modes of .PNGs

For some reason, some of our png files were marked as executable,
which is a very odd thing to do.

Move them back to the standard file mode.

9 years agoMerge remote-tracking branch 'upstream/master' into dacglobals1
Mike McLaughlin [Fri, 6 Mar 2015 22:51:27 +0000 (14:51 -0800)]
Merge remote-tracking branch 'upstream/master' into dacglobals1

Conflicts:
src/debug/ee/CMakeLists.txt

9 years agoFix the LLDB.h search order and the format character used.
Mike McLaughlin [Fri, 6 Mar 2015 22:22:26 +0000 (14:22 -0800)]
Fix the LLDB.h search order and the format character used.

9 years agoFixed that IP2MD stopped working after using it, continuing the target and then tryin...
Mike McLaughlin [Fri, 6 Mar 2015 01:06:03 +0000 (17:06 -0800)]
Fixed that IP2MD stopped working after using it, continuing the target and then trying to use it again.  Needed to always recreate the IXCLRDataProcess instance each time a command is run.

9 years agoAllow either lldb-3.6 or lldb-3.5 to be used to build the sos plugin.
Mike McLaughlin [Fri, 6 Mar 2015 01:02:56 +0000 (17:02 -0800)]
Allow either lldb-3.6 or lldb-3.5 to be used to build the sos plugin.

9 years agoAdd a fourth parameter to the DEFINE_DACVAR macro that is the actual fully qualified...
Mike McLaughlin [Tue, 24 Feb 2015 23:25:57 +0000 (15:25 -0800)]
Add a fourth parameter to the DEFINE_DACVAR macro that is the actual fully qualified name of the static/global.

First pass at the global DAC table support for Linux. Explicitly build the table in the coreclr module instead of extract it from the pdb and put it in a resource.

Fixed the SVR gc globals in the DAC table. They had to be seperated and initialized in gceesvr.cpp.

Start on global pointer table.

PAL functions to write and read the DAC table address between processes.

The dac table is now copied from the coreclr process to the DAC/debugger process.  The tables were not being built with exactly the same defines so they weren't the same size. Fixed a bug in the read memory implementation. Still assumes pid = 0.

Changed the dacTable entries to be RVAs and renabled getting the corclr module base addres (m_globalBase). Added dac table address file cleanup on coreclr shutdown.

Filled in the vtable entries in the global dac table.  Changed some of the VPTR_* macros to be defined on the coreclr side (RS) to defined a constructor that is used to get the vtable in dactable.cpp. These changes required default constructors to be added to some of the classes.

Changed getting the vtable address to not invoke the destructors since the constructor used didn't do anything (like initialize variables, etc.).

Added a TODO comment about the debuggee pid not being available in the dac table address file name.

Fixed Windows build. Created a couple of new VPTR_* macros that add a default constructor only if building coreclr (not DAC) on Linux.

Comment on how these DAC table functions are temporary.

9 years agoFix trashing of P/Invoke return value by GC probe
Jan Kotas [Fri, 6 Mar 2015 16:52:41 +0000 (08:52 -0800)]
Fix trashing of P/Invoke return value by GC probe

9 years agoMerge pull request #406 from akatakritos/patch-1
Rich Lander [Fri, 6 Mar 2015 14:48:44 +0000 (06:48 -0800)]
Merge pull request #406 from akatakritos/patch-1

Fix typo in garbage-collection.md

9 years agoFix typo in garbage-collection.md
Matt Burke [Fri, 6 Mar 2015 14:04:29 +0000 (08:04 -0600)]
Fix typo in garbage-collection.md

"improtant" -> "important"

9 years agoMerge pull request #404 from stephentoub/fix_indexof_unix
Jan Kotas [Fri, 6 Mar 2015 01:51:34 +0000 (17:51 -0800)]
Merge pull request #404 from stephentoub/fix_indexof_unix

Fix exception in CompareInfo.IndexOfOrdinal on Unix

9 years agoFix exception in CompareInfo.IndexOfOrdinal on Unix
Stephen Toub [Fri, 6 Mar 2015 01:15:54 +0000 (20:15 -0500)]
Fix exception in CompareInfo.IndexOfOrdinal on Unix

A one-character typo is leading to an out of range exception.

9 years agoMerge pull request #402 from jkotas/vsdfix
Jan Kotas [Fri, 6 Mar 2015 00:47:54 +0000 (16:47 -0800)]
Merge pull request #402 from jkotas/vsdfix

Fix register usage in ResolveWorkerChainLookupAsmStub

9 years agoFix register usage in ResolveWorkerChainLookupAsmStub
Jan Kotas [Thu, 5 Mar 2015 23:50:56 +0000 (15:50 -0800)]
Fix register usage in ResolveWorkerChainLookupAsmStub

This stub has 100% custom calling convention. It gets the argument in rdx even on Unix.

9 years agoMerge pull request #397 from Djuffin/net-debug
Jan Kotas [Thu, 5 Mar 2015 19:07:13 +0000 (11:07 -0800)]
Merge pull request #397 from Djuffin/net-debug

Pipe based communication between debugee and managed debugger on Linux

9 years agoMerge pull request #398 from stephentoub/fix_getlasterror
Stephen Toub [Thu, 5 Mar 2015 18:43:39 +0000 (13:43 -0500)]
Merge pull request #398 from stephentoub/fix_getlasterror

Reimplement CPalThread::Get/SetLastError in terms of errno

9 years agoMerge pull request #399 from richlander/master
Jan Kotas [Thu, 5 Mar 2015 17:59:55 +0000 (09:59 -0800)]
Merge pull request #399 from richlander/master

Correct name of Ecma standards organization

9 years agoCorrect name of Ecma standards organization
Rich Lander [Thu, 5 Mar 2015 16:28:23 +0000 (08:28 -0800)]
Correct name of Ecma standards organization

9 years agoReimplement CPalThread::Get/SetLastError in terms of errno
Stephen Toub [Thu, 5 Mar 2015 15:00:57 +0000 (10:00 -0500)]
Reimplement CPalThread::Get/SetLastError in terms of errno

GetLastError in the PAL isn't checking errno, and is instead using its own m_dwLastError.  As such, it doesn't properly handle arbitrary P/Inovkes, and all of our P/Invokes to libc are resulting in garbage GetLastWin32Error values, which throws off all of the error handling paths.

This commit just reimplements CPalThread::GetLastError and CPalThread::SetLastError to use errno (defined by POSIX.1c to be per-thread) as the backing store rather than using the m_dwLastError field, which I've removed.

9 years agoRename old Silverlight Mac debugging GUID to avoid confusion
Eugene Zemtsov [Thu, 5 Mar 2015 09:57:56 +0000 (01:57 -0800)]
Rename old Silverlight Mac debugging GUID to avoid confusion

9 years agoRearrange libs in cmakefile for libcoreclr in order to help ld find twowaypipe symbols
Eugene Zemtsov [Thu, 5 Mar 2015 09:47:24 +0000 (01:47 -0800)]
Rearrange libs in cmakefile for libcoreclr in order to help ld find twowaypipe symbols

9 years agoFix build from msbuild environment
Eugene Zemtsov [Wed, 4 Mar 2015 02:20:36 +0000 (18:20 -0800)]
Fix build from msbuild environment

9 years agoMerge pull request #396 from swaroop-sridhar/TestEnv
Jan Kotas [Thu, 5 Mar 2015 01:43:19 +0000 (17:43 -0800)]
Merge pull request #396 from swaroop-sridhar/TestEnv

Add Support for Custom Test Environment Settings

9 years agoAdd Support for Custom Test Environment Settings
Swaroop Sridhar [Thu, 5 Mar 2015 01:13:41 +0000 (17:13 -0800)]
Add Support for Custom Test Environment Settings

RunTest.Cmd had limited suport for setting test environment
(ex: Specifying use of alternate Jit)

This change generalizes this support so that the clients can specify a
test environment script that will be run to set custom settings in
the test-environment.

Usage is:

Runtest TestEnv <test-env-script> ...

9 years agoMerge pull request #394 from ramarag/parallelize_tests_within_category
Rama krishnan Raghupathy [Wed, 4 Mar 2015 23:02:05 +0000 (15:02 -0800)]
Merge pull request #394 from ramarag/parallelize_tests_within_category

Enabling test within the same category to run in parallel

9 years agoMerge pull request #395 from cherylws/patch-1
Rich Lander [Wed, 4 Mar 2015 22:37:34 +0000 (14:37 -0800)]
Merge pull request #395 from cherylws/patch-1

Update index.md

9 years agoUpdate index.md
Cheryl Simmons [Wed, 4 Mar 2015 22:09:44 +0000 (14:09 -0800)]
Update index.md

Update the MSDN link to most recent, locale-agnostic, version of the topic.

9 years agoEnabling test within the same category to run in parallel
Rama krishnan Raghupathy [Wed, 4 Mar 2015 21:19:38 +0000 (13:19 -0800)]
Enabling test within the same category to run in parallel

9 years agoMerge pull request #386 from benpye/travis-ci-fix-2
Matt Mitchell [Wed, 4 Mar 2015 15:57:31 +0000 (07:57 -0800)]
Merge pull request #386 from benpye/travis-ci-fix-2

FIx Travis CI release failing

9 years agoMerge pull request #391 from jkotas/umthunk
Jan Kotas [Wed, 4 Mar 2015 12:26:30 +0000 (04:26 -0800)]
Merge pull request #391 from jkotas/umthunk

Fix RBP-relative offsets in UMThunkStub

9 years agoMerge pull request #392 from jkotas/TypedReference
Jan Kotas [Wed, 4 Mar 2015 12:26:17 +0000 (04:26 -0800)]
Merge pull request #392 from jkotas/TypedReference

Introduce FC_TypedByRef for passing TypedReferences as FCall arguments

9 years agoDisable PAL tests
Ben Pye [Wed, 4 Mar 2015 11:07:10 +0000 (11:07 +0000)]
Disable PAL tests

9 years agoIntroduce FC_TypedByRef for passing TypedReferences as FCall arguments
Jan Kotas [Wed, 4 Mar 2015 04:52:54 +0000 (20:52 -0800)]
Introduce FC_TypedByRef for passing TypedReferences as FCall arguments

FC_TypedByRef is defined as TypedByRef& for now to workaround the mismatch between managed and native struct calling convention.

9 years agoMerge pull request #389 from jkotas/memcpy
Jan Kotas [Wed, 4 Mar 2015 04:45:14 +0000 (20:45 -0800)]
Merge pull request #389 from jkotas/memcpy

Fix copy&paste typo in JIT_MemCpy helper

9 years agoFix RBP-relative offsets in UMThunkStub
Jan Kotas [Wed, 4 Mar 2015 04:06:03 +0000 (20:06 -0800)]
Fix RBP-relative offsets in UMThunkStub

9 years agoFix copy&paste typo in JIT_MemCpy helper
Jan Kotas [Wed, 4 Mar 2015 02:07:00 +0000 (18:07 -0800)]
Fix copy&paste typo in JIT_MemCpy helper

9 years agoMerge pull request #388 from richlander/master
Jan Kotas [Wed, 4 Mar 2015 01:17:35 +0000 (17:17 -0800)]
Merge pull request #388 from richlander/master

Add Garbage Collection Book of the Runtime Doc

9 years agoAdd Garbage Collection Book of the Runtime Doc
maoni0 [Wed, 4 Mar 2015 01:02:29 +0000 (17:02 -0800)]
Add Garbage Collection Book of the Runtime Doc

9 years agoPipe based communication between debugee and managed debugger on Linux
Eugene Zemtsov [Tue, 17 Feb 2015 05:58:15 +0000 (21:58 -0800)]
Pipe based communication between debugee and managed debugger on Linux

Goal of this change is to make managed debugging on Linux possible. (It is not fully achieved, but we're getting there)

So far our provision for debugging on Linux is somewhat different from debugging on Windows.
Instead of using WaitForDebugEvent and RaiseException as means of communication between debugger and debuggee, we're gonna use pipes.
Thankfully from old times of Silverlight Mac debugging we had debugging via network sockets under ifdefs FEATURE_DBGIPC_TRANSPORT_DI and FEATURE_DBGIPC_TRANSPORT_VM.
So this change is taking that old way of debugging, changing sockets for network pipes, removes lots of unused stuff and implements whatever is missing on Linux.

Testing:
Due to infrastructural issues I wasn't able to test debugging on Linux yet. So my testing consistent of
1. End to end net pipe debugging on Windows
2. Testing of twowaypipe implementation on Linux
3. Testing of search for loaded CoreCLR module on Linux.

9 years agoMerge pull request #380 from janvorli/exception-handling
Jan Vorlicek [Tue, 3 Mar 2015 22:29:49 +0000 (23:29 +0100)]
Merge pull request #380 from janvorli/exception-handling

Fix CONTEXTFromNativeContext / CONTEXTToNativeContext to handle FP regs

9 years agoMerge pull request #335 from LLITCHEV/master
Lubomir Litchev [Tue, 3 Mar 2015 22:04:01 +0000 (14:04 -0800)]
Merge pull request #335 from LLITCHEV/master

Fix a problem with accessing caller passed arguments on SystemV systems.

9 years agoMerge pull request #381 from jkotas/unwinding
Jan Kotas [Tue, 3 Mar 2015 21:49:06 +0000 (13:49 -0800)]
Merge pull request #381 from jkotas/unwinding

More asm code unwinding fixes

9 years agoFix GetThreadContext and reflect PR feedback
Jan Vorlicek [Tue, 3 Mar 2015 21:35:21 +0000 (22:35 +0100)]
Fix GetThreadContext and reflect PR feedback

The GetThreadContext on Linux was not getting the floating point registers even if it was asked
to do so. Moreover, it indicated in the context's ContextFlags that the context contains the
floating point registers. So the RtlRestoreContext has attempted to restore the full context
and filled the floating point registers with junk.
I've modified the GetThreadContext to use the CONTEXTFromNativeContext which fixes the issue.
Also, the CONTEXTFromNativeContext can now get any requested subsets of registers (integer,
control, floating point) instead of enforcing that the integer and control are always present.
Last change is a removal of the contextFlags parameter from the CONTEXTToNativeContext,
since the flags are present in the context itself and it doesn't make sense to specify other
flags than those ones.

9 years agoFIx Travis CI release failing
Ben Pye [Tue, 3 Mar 2015 21:26:12 +0000 (21:26 +0000)]
FIx Travis CI release failing

Travis CI release mode failed as the test path was always debug rather
than referencing the build matrix.

9 years agoMerge pull request #373 from benpye/travis-ci-fix
Matt Mitchell [Tue, 3 Mar 2015 19:14:59 +0000 (11:14 -0800)]
Merge pull request #373 from benpye/travis-ci-fix

Incorrect branch for travis-ci badge