platform/upstream/coreclr.git
9 years agoImplement ExternalMethodFixupStub, VirtualMethodFixupStub and StubDispatchFixupStub...
Geoff Norton [Thu, 26 Feb 2015 08:12:49 +0000 (17:12 +0900)]
Implement ExternalMethodFixupStub, VirtualMethodFixupStub and StubDispatchFixupStub for UNIX

9 years agoMerge pull request #343 from jkotas/dead-stub
Jan Kotas [Thu, 26 Feb 2015 04:23:19 +0000 (20:23 -0800)]
Merge pull request #343 from jkotas/dead-stub

Delete dead code

9 years agoDelete dead code
Jan Kotas [Thu, 26 Feb 2015 03:59:28 +0000 (19:59 -0800)]
Delete dead code

9 years agoMerge pull request #337 from kangaroo/issue-324
Jan Kotas [Thu, 26 Feb 2015 03:41:28 +0000 (19:41 -0800)]
Merge pull request #337 from kangaroo/issue-324

Implement TheUMEntryPrestub and UMThunkStub for UNIX ABI

9 years agoImplement TheUMEntryPrestub and UMThunkStub for UNIX ABI
Geoff Norton [Tue, 24 Feb 2015 03:32:21 +0000 (12:32 +0900)]
Implement TheUMEntryPrestub and UMThunkStub for UNIX ABI

Rework all three stubs from windows calling convention to AMD64 calling convention.
Adjust all stacks to accomodate 2 additional argument registers, and 4 additional
xmm registers. Remove unneeded FEATURE_INCLUDE_ALL_INTERFACES code.

9 years agoMerge pull request #342 from dotnet-bot/from-tfs
Jan Kotas [Thu, 26 Feb 2015 01:04:55 +0000 (17:04 -0800)]
Merge pull request #342 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoMerge pull request #341 from dotnet-bot/from-tfs
Matt Ellis [Thu, 26 Feb 2015 00:25:54 +0000 (16:25 -0800)]
Merge pull request #341 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoAllow users to specify a no GC region (on behalf of maonis)
Jan Kotas [Thu, 26 Feb 2015 00:07:43 +0000 (16:07 -0800)]
Allow users to specify a no GC region (on behalf of maonis)

This mode lets users to specify an allocation amount for which no GCs would happen. Sometimes during the absolutely performance critical paths users have the desire to allocate without interference from the GC. If there is enough memory, GC will not kick in while this mode is set.

[tfs-changeset: 1421386]

9 years agoMerge pull request #340 from dotnet-bot/from-tfs
Jan Kotas [Wed, 25 Feb 2015 23:44:01 +0000 (15:44 -0800)]
Merge pull request #340 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoMerge pull request #339 from lucasmeijer/fix-gc-sample
Jan Kotas [Wed, 25 Feb 2015 23:42:51 +0000 (15:42 -0800)]
Merge pull request #339 from lucasmeijer/fix-gc-sample

Fix gc sample

9 years agoFix build break in Unix mscorlib
Jan Kotas [Wed, 25 Feb 2015 23:42:00 +0000 (15:42 -0800)]
Fix build break in Unix mscorlib

[tfs-changeset: 1421360]

9 years agoFI from $/DevDiv/FXMain to $/DevDiv/FX/Product/ProjectK **FI_LABEL=22625.00**
dotnet-bot [Wed, 25 Feb 2015 22:46:31 +0000 (14:46 -0800)]
FI from $/DevDiv/FXMain to $/DevDiv/FX/Product/ProjectK **FI_LABEL=22625.00**

[tfs-changeset: 1421297]

9 years agofix indenting
Lucas Meijer [Wed, 25 Feb 2015 22:11:16 +0000 (14:11 -0800)]
fix indenting

9 years agouse two CGCDescSeries, and fix incorrect size
Lucas Meijer [Wed, 25 Feb 2015 21:57:14 +0000 (13:57 -0800)]
use two CGCDescSeries, and fix incorrect size

9 years agoMerge pull request #323 from david-mitchell/master
Rich Lander [Wed, 25 Feb 2015 20:03:29 +0000 (12:03 -0800)]
Merge pull request #323 from david-mitchell/master

Fix miscellaneous grammar issues and perform light editing.

9 years agoFix grammar issues and perform light editing.
David Mitchell [Sun, 22 Feb 2015 22:02:16 +0000 (14:02 -0800)]
Fix grammar issues and perform light editing.

9 years agoMerge pull request #336 from dotnet-bot/from-tfs
Matt Ellis [Wed, 25 Feb 2015 02:09:53 +0000 (18:09 -0800)]
Merge pull request #336 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoAdd missing .gitmirrorall file to lldbplugin
dotnet-bot [Wed, 25 Feb 2015 00:47:43 +0000 (16:47 -0800)]
Add missing .gitmirrorall file to lldbplugin

[tfs-changeset: 1420614]

9 years agoMerge pull request #334 from mmitche/random-fixes
Matt Mitchell [Tue, 24 Feb 2015 20:53:47 +0000 (12:53 -0800)]
Merge pull request #334 from mmitche/random-fixes

Random fixes

9 years agoMake the delta for this test += the targeted value
Matt Mitchell [Tue, 24 Feb 2015 19:15:18 +0000 (11:15 -0800)]
Make the delta for this test += the targeted value

9 years agoMerge pull request #332 from stephentoub/remove_dll_exts
Stephen Toub [Tue, 24 Feb 2015 19:21:01 +0000 (14:21 -0500)]
Merge pull request #332 from stephentoub/remove_dll_exts

Remove .so extension from libcoreclr in mscorlib P/Invokes

9 years agoMerge pull request #304 from mikem8361/soscommand1
Sergiy Kuryata [Tue, 24 Feb 2015 19:17:43 +0000 (11:17 -0800)]
Merge pull request #304 from mikem8361/soscommand1

These changes are the beginning of the SOS for coreclr under lldb.

9 years agoTwo random fixes
Matt Mitchell [Tue, 24 Feb 2015 18:49:49 +0000 (10:49 -0800)]
Two random fixes

* Use uname -s on mac
* Don't print "Running ..." for pal tests (will still print failures).  Cuts down on noise in output.

9 years agoMerge remote-tracking branch 'upstream/master' into soscommand1
Mike McLaughlin [Tue, 24 Feb 2015 17:42:06 +0000 (09:42 -0800)]
Merge remote-tracking branch 'upstream/master' into soscommand1

9 years agoRemove .so extension from libcoreclr in mscorlib P/Invokes
Stephen Toub [Tue, 24 Feb 2015 17:17:47 +0000 (12:17 -0500)]
Remove .so extension from libcoreclr in mscorlib P/Invokes

Let the runtime apply the right extension based on the target platform.

9 years agoMerge pull request #325 from kyulee1/switchtest
Matt Mitchell [Tue, 24 Feb 2015 17:01:13 +0000 (09:01 -0800)]
Merge pull request #325 from kyulee1/switchtest

add a switch test

9 years agoMerge pull request #331 from stephentoub/redirect_ole32
Stephen Toub [Tue, 24 Feb 2015 16:45:48 +0000 (11:45 -0500)]
Merge pull request #331 from stephentoub/redirect_ole32

Redirect mscorlib's ole32.dll P/Invokes to libcoreclr

9 years agoRedirect ole32.dll P/Invokes to libcoreclr
Stephen Toub [Tue, 24 Feb 2015 15:23:01 +0000 (10:23 -0500)]
Redirect ole32.dll P/Invokes to libcoreclr

When FEATURE_PAL is defined, mscorlib P/Invokes to kernel32 and user32 are being redirected to libcoreclr.so (at least for now as a bring-up mechanism).  However, P/Invokes to ole32.dll aren't being redirected (CoCreateGuid, CoTaskMemAlloc, etc.) even though all of the ones that are used exist in the PAL.  This causes failures any time Guid.NewGuid is called, any time the StubHelpers string marshalers are used, etc.

This commit just adds ole32.dll to the set of libraries for which mscorlib redirects its P/Invokes to libcoreclr.

9 years agoAdd a switch test to cover Jit codegen.
Kyungwoo Lee [Mon, 23 Feb 2015 20:41:16 +0000 (12:41 -0800)]
Add a switch test to cover Jit codegen.

This is a test case to cover switch expansion in Reader.

9 years agoMerge remote-tracking branch 'upstream/master' into soscommand1
Mike McLaughlin [Tue, 24 Feb 2015 03:58:21 +0000 (19:58 -0800)]
Merge remote-tracking branch 'upstream/master' into soscommand1

9 years agoMerge pull request #287 from mmitche/output-paths
Matt Mitchell [Tue, 24 Feb 2015 01:19:57 +0000 (17:19 -0800)]
Merge pull request #287 from mmitche/output-paths

Place binaries and intermediates in folders that include OS

9 years agoPlace binaries and intermediates in folders that include OS
Matt Mitchell [Tue, 24 Feb 2015 00:34:11 +0000 (16:34 -0800)]
Place binaries and intermediates in folders that include OS

Rework the output paths so that the OS may appear in them.  This then follows the same form as corefx.  This solves a number of problems:
    1) When building unix mscorlib after the regular build, we would use the wrong intermediates for incremental.
    2) When testing windows after building unix mscorlib we'd use the wrong outputs and fail.

This change removes our cmake directory and moves cmake generated files into intermediates (under OS/arch paths)
The reason is that the intermediates go under here when actually doing the build, and on unix based systems, we need to generate the cmake files for different builds into different directories for the purpose of preserving incremental builds.

Change clean behavior

Clean should simply delete the root binary.  We also should not make assumptions about
whether necessary directories are available when we begin to build and should create them every time if
necessary.

Create directories as needed.

9 years agoDon't build the lldb plugin until we can install the lldb-3.5-dev package on the...
Mike McLaughlin [Mon, 23 Feb 2015 23:40:48 +0000 (15:40 -0800)]
Don't build the lldb plugin until we can install the lldb-3.5-dev package on the CI machines.

9 years agoMerge pull request #320 from richlander/rich-build
Rich Lander [Mon, 23 Feb 2015 23:20:50 +0000 (15:20 -0800)]
Merge pull request #320 from richlander/rich-build

Clarify Visual Studio pre-req

9 years agoMerge pull request #326 from stephentoub/mres_datetime
Stephen Toub [Mon, 23 Feb 2015 22:15:55 +0000 (17:15 -0500)]
Merge pull request #326 from stephentoub/mres_datetime

Change MRES to use DateTime.UtcNow instead of Now

9 years agoChange MRES to use DateTime.UtcNow instead of Now
Stephen Toub [Mon, 23 Feb 2015 20:44:23 +0000 (15:44 -0500)]
Change MRES to use DateTime.UtcNow instead of Now

In debug builds, ManualResetEventSlim is storing the last time that Set and Reset are called, using DateTime.Now.  This in turn requires time zone information, which is currently not implemented on Unix, causing any usage of ManualResetEventSlim.Set/Reset in a debug build to throw a NotImplementedException.

This change just switches the usage to be DateTime.UtcNow instead of DateTime.Now to avoid the need for time zone information.  I was tempted to remove these debug-only fields entirely, but in case someone's actually using them during debugging, doesn't seem particularly harmful to leave them.

9 years agoMerge remote-tracking branch 'upstream/master' into soscommand1
Mike McLaughlin [Mon, 23 Feb 2015 18:09:14 +0000 (10:09 -0800)]
Merge remote-tracking branch 'upstream/master' into soscommand1

9 years agoMerge pull request #322 from libengu/AltJitNameChange
Bengu Li [Mon, 23 Feb 2015 17:32:50 +0000 (09:32 -0800)]
Merge pull request #322 from libengu/AltJitNameChange

Change alternative JIT name to LLILC

9 years agoAllow alternative JIT configurable.
Bengu Li [Sun, 22 Feb 2015 21:28:45 +0000 (13:28 -0800)]
Allow alternative JIT configurable.

9 years agoChange alternative JIT name to LLILC
Bengu Li [Sun, 22 Feb 2015 17:45:50 +0000 (09:45 -0800)]
Change alternative JIT name to LLILC

9 years agoClarify Visual Studio pre-req
Richard Lander [Sun, 22 Feb 2015 02:05:26 +0000 (18:05 -0800)]
Clarify Visual Studio pre-req

9 years agoMerge pull request #317 from janvorli/fix-cfi-annotation
Jan Kotas [Sun, 22 Feb 2015 00:51:12 +0000 (16:51 -0800)]
Merge pull request #317 from janvorli/fix-cfi-annotation

Fix cfi annotation for NDirectImportThunk and JIT_RareDisableHelper

9 years agoMerge pull request #319 from pgavlin/FixClangWarnings
Pat Gavlin [Sun, 22 Feb 2015 00:26:43 +0000 (16:26 -0800)]
Merge pull request #319 from pgavlin/FixClangWarnings

Fix warnings generated when building with Clang on Linux.

9 years agoFix warnings generated when building with Clang on Linux.
Pat Gavlin [Sat, 21 Feb 2015 18:23:28 +0000 (10:23 -0800)]
Fix warnings generated when building with Clang on Linux.

There were three classes of warnings that needed to be fixed:
1) Warnings for unused typedefs
2) Warnings for pointer to boolena conversions that were always true
3) Warnings for taking the absolute value of unsigned values

(1) accounted for the majority of the warnings. All of these warnings
originated from macro definitions debugreturn.h, staticcontract.h,
or pal_assert.h. In the first two cases, typedefs were used as
compile-time checks to ensure certain invariants inside of method or
function bodies. These cases were addressed by using an empty member
of the typedef under an "if (0)" guard. In the third case, typedefs
were used for compile-time assertions that may appear in any location
in a source file; these have been updated to use C++11's static_assert.

(2) and (3) were much more straightforward: the former was addressed by
explicitly comparing the source pointer against NULL and the latter by
removing the offending calls to abs().

This change also contains a small update to .gitignore to ignore the
binaries directory and CMake artifacts created by build.sh.

9 years agoMerge pull request #3 from kangaroo/soscommand1-osx
Mike McLaughlin [Sat, 21 Feb 2015 18:53:01 +0000 (10:53 -0800)]
Merge pull request #3 from kangaroo/soscommand1-osx

OSX Support

9 years agoMerge pull request #316 from richlander/master
Rich Lander [Sat, 21 Feb 2015 15:56:47 +0000 (07:56 -0800)]
Merge pull request #316 from richlander/master

Add dotnet standards doc

9 years agoMerge pull request #312 from janvorli/pal-exception-tests
Jan Vorlicek [Sat, 21 Feb 2015 01:20:44 +0000 (02:20 +0100)]
Merge pull request #312 from janvorli/pal-exception-tests

Enable several PAL exception tests

9 years agoFix SOS command to not break the OSX build, and be linkable against apples LLDB.framework
Geoff Norton [Sat, 21 Feb 2015 01:16:31 +0000 (17:16 -0800)]
Fix SOS command to not break the OSX build, and be linkable against apples LLDB.framework

9 years agoFix cfi annotation for NDirectImportThunk and JIT_RareDisableHelper
Jan Vorlicek [Sat, 21 Feb 2015 01:16:27 +0000 (02:16 +0100)]
Fix cfi annotation for NDirectImportThunk and JIT_RareDisableHelper

The title says all

9 years agoMerge pull request #313 from pgavlin/LibUnwindCheck
Pat Gavlin [Sat, 21 Feb 2015 00:41:27 +0000 (16:41 -0800)]
Merge pull request #313 from pgavlin/LibUnwindCheck

Move the error that is emitted when libunwind is missing into CMake.

9 years agoAdd dotnet standards doc
Rich Lander [Sat, 21 Feb 2015 00:34:40 +0000 (16:34 -0800)]
Add dotnet standards doc

9 years agoMove the error that is emitted when libunwind is missing into CMake.
Pat Gavlin [Fri, 20 Feb 2015 23:53:39 +0000 (15:53 -0800)]
Move the error that is emitted when libunwind is missing into CMake.

This provides a friendlier user experience when libunwind is not
installed, as configuration fails earlier than the build does.

9 years agoRemove duplicate check for number of exception arguments
Jan Vorlicek [Fri, 20 Feb 2015 23:28:15 +0000 (00:28 +0100)]
Remove duplicate check for number of exception arguments

I have added a check for the exception arguments in my last commit, but it turns
out there was already one, only in a wrong place. So the exceptionRecord.NumberParameters
was set incorrectly to the unclipped value.

9 years agoMore review feedback changes. Fixed message when the sos module isn't found. Changed...
Mike McLaughlin [Fri, 20 Feb 2015 23:10:11 +0000 (15:10 -0800)]
More review feedback changes. Fixed message when the sos module isn't found. Changed the plugin make file to build on OSx only if the environment vars are set. Fixed IP2MD command on windows.

9 years agoMerge pull request #308 from janvorli/exception-handling
Jan Vorlicek [Fri, 20 Feb 2015 23:05:06 +0000 (00:05 +0100)]
Merge pull request #308 from janvorli/exception-handling

Reimplement native exception handling for PAL

9 years agoEnable several PAL exception tests
Jan Vorlicek [Fri, 20 Feb 2015 22:58:05 +0000 (23:58 +0100)]
Enable several PAL exception tests

This change enables several PAL exception tests to test the
new exception handling stuff.

9 years agoMerge pull request #310 from kangaroo/issue-307
Jan Vorlicek [Fri, 20 Feb 2015 22:30:54 +0000 (23:30 +0100)]
Merge pull request #310 from kangaroo/issue-307

Check for libunwind in configure

9 years agoMerge remote-tracking branch 'upstream/master' into soscommand1
Mike McLaughlin [Fri, 20 Feb 2015 22:15:47 +0000 (14:15 -0800)]
Merge remote-tracking branch 'upstream/master' into soscommand1

9 years agoReview feedback. Fixed the sos plugin make file to use the LLDB_INCLUDE_DIR and...
Mike McLaughlin [Fri, 20 Feb 2015 22:13:03 +0000 (14:13 -0800)]
Review feedback.  Fixed the sos plugin make file to use the LLDB_INCLUDE_DIR and LLDB_LIB_DIR environment variables if set. Otherwise, it assumes the lldb-3.5-dev package is installed.

9 years agoCleanup more
Jan Vorlicek [Fri, 20 Feb 2015 21:13:24 +0000 (22:13 +0100)]
Cleanup more

I am removing few other things from the seh-unwind.cpp. First, the code that verified the
stack unwindibility actually couldn't work since in most cases, it would reach a managed
frame and then get screwed. It happened to few people in the recent past and they
were mislead into thinking that it is a problem of the coreclr unwinder.
There is no reasonable way to find out whether a frame is managed or native inside PAL,
that's why I am removign that stuff.
Also, there was now unused vectored exception handling stuff that I am also removing.
Another change is in the pal.h / pal.cpp where the type of the argv parameter was
const char **argv, which prevented passing in char** (the compiler was ok with it in C,
but failed in C++). I have changed it to const char * const *argv, which allows
passing in the char** as well.

9 years agoAdd comments to PAL_TRY, PAL_EXCEPT etc.
Jan Vorlicek [Fri, 20 Feb 2015 19:19:02 +0000 (20:19 +0100)]
Add comments to PAL_TRY, PAL_EXCEPT etc.

This change just adds comments to those methods.

9 years agoImprove error messaging to be a bit more helpful on linux
Geoff Norton [Fri, 20 Feb 2015 17:25:16 +0000 (09:25 -0800)]
Improve error messaging to be a bit more helpful on linux

9 years agoMerge pull request #302 from dotnet-bot/from-tfs
Sergiy Kuryata [Fri, 20 Feb 2015 17:04:05 +0000 (09:04 -0800)]
Merge pull request #302 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoUnwind also needs _DEFAULT_SOURCE, in fact most everything does. Lets move it to...
Geoff Norton [Fri, 20 Feb 2015 16:53:55 +0000 (08:53 -0800)]
Unwind also needs _DEFAULT_SOURCE, in fact most everything does.  Lets move it to toplevel

9 years agoCheck for libunwind in configure, and setup seh-unwind to have possible other future...
Geoff Norton [Fri, 20 Feb 2015 16:32:03 +0000 (08:32 -0800)]
Check for libunwind in configure, and setup seh-unwind to have possible other future alternatives

9 years agoAdd missing dummy PAL_CheckVirtualUnwind in Release
Jan Vorlicek [Fri, 20 Feb 2015 15:16:48 +0000 (16:16 +0100)]
Add missing dummy PAL_CheckVirtualUnwind in Release

With the previous commit, I haven't noticed that the dummy PAL_CheckVirtualUnwind() is now
missing in the release build. Adding it back.

9 years agoMerge pull request #309 from jkotas/deadcode
Jan Kotas [Fri, 20 Feb 2015 14:46:36 +0000 (06:46 -0800)]
Merge pull request #309 from jkotas/deadcode

Delete dead code

9 years agoReflect PR feedback
Jan Vorlicek [Fri, 20 Feb 2015 14:27:55 +0000 (15:27 +0100)]
Reflect PR feedback

Remove few classes / macros from pal.h that are not used anymore.
Fix some line continuation backslash identations.

9 years agoDelete dead code
Jan Kotas [Fri, 20 Feb 2015 13:51:46 +0000 (05:51 -0800)]
Delete dead code

9 years agoReimplement native exception handling for PAL
Jan Vorlicek [Fri, 20 Feb 2015 12:36:45 +0000 (13:36 +0100)]
Reimplement native exception handling for PAL

This change removes the preexisting exception handling in PAL that was simulating Windows
SEH using a lot of low level machinery. The only remaining part is the code that raises
the exception and that extracts the exception context information.
The PAL_TRY, PAL_EXCEPT, PAL_FINALLY, ... macros are reimplemented using plain C++ exception
handling.

9 years agoChange lldb plugin to use lldb dev package for its include and lib files.
Mike McLaughlin [Fri, 20 Feb 2015 04:55:14 +0000 (20:55 -0800)]
Change lldb plugin to use lldb dev package for its include and lib files.

NOTE: Now there is another pre-requisite package to install: sudo apt-get install lldb-3.5-dev

Not sure what to do for OS-X.

9 years agoUpdate README.md
Wes Haggard [Fri, 20 Feb 2015 03:12:06 +0000 (19:12 -0800)]
Update README.md

Fixed broken contributing guide link.

9 years agoMerge remote-tracking branch 'upstream/master' into soscommand1
Mike McLaughlin [Fri, 20 Feb 2015 02:35:46 +0000 (18:35 -0800)]
Merge remote-tracking branch 'upstream/master' into soscommand1

9 years agoMerge pull request #294 from AlexGhiondea/localPublish
AlexGhiondea [Fri, 20 Feb 2015 01:27:59 +0000 (17:27 -0800)]
Merge pull request #294 from AlexGhiondea/localPublish

Setup the CoreCLR repo to use the LocalPackagePublish mechanism.

9 years agoFixed Windows build for the DAC by restore the lib order back. Add the MAKEDLLNAME...
Mike McLaughlin [Fri, 20 Feb 2015 00:52:13 +0000 (16:52 -0800)]
Fixed Windows build for the DAC by restore the lib order back. Add the MAKEDLLNAME macros to properly format the "sos" and "mscoredaccore" library names when loaded.  Cleaned up the sos command to only load the sos module once the first time the command is executed. Fixed a g_clrData ref count bug in LoadClrDebugDll.

9 years agoOS bug 1704585: WoW64 breakpoint in crossgen!debugError when compiling ARMCHK
John Chen [Thu, 19 Feb 2015 20:53:11 +0000 (12:53 -0800)]
OS bug 1704585: WoW64 breakpoint in crossgen!debugError when compiling ARMCHK

Remove call to DebugBreak when crossgen encounters a case not supported by MDIL. Such scenarios are expected in production.

Also fixed an uninitialized field in ZapperOptions, which caused some warnings from crossgen to be lost.

[tfs-changeset: 1418191]

9 years agoMerge branch 'master' into soscommand1
Mike McLaughlin [Thu, 19 Feb 2015 20:46:47 +0000 (12:46 -0800)]
Merge branch 'master' into soscommand1

9 years agoUse the MAKEDLLNAME macro to properly name the dynamically loaded libraries .
Mike McLaughlin [Thu, 19 Feb 2015 20:44:01 +0000 (12:44 -0800)]
Use the MAKEDLLNAME macro to properly name the dynamically loaded libraries .

9 years agoSetup the CoreCLR repo to use the LocalPackagePublish mechanism.
Alex Ghiondea [Thu, 19 Feb 2015 00:26:30 +0000 (16:26 -0800)]
Setup the CoreCLR repo to use the LocalPackagePublish mechanism.

This will enable the 'local publish' of the CoreCLR package to a location where
it can be picked up by the CoreFx build. What this means is that you will be able
to build the CoreCLR package and use that to run the CoreFx tests on top of it.

Changes required to make this happen:
 - Refactor the managed build to make sure the buildtools gets restored before
   we attempt to use the targets it provides.
 - Take a dependency to the Microsoft.DotNet.BuildTools to bring in the packages.targets
 - Update the $(PackagesDir) to point to the <repo root>\packages to make it consistent with CoreFx
 - Hook-up the LocalPackagePublish targets to the build of the CoreCLR NuGet packages

9 years agoUse environment vars to point to the lldb source and libraries. If not set, the...
Mike McLaughlin [Thu, 19 Feb 2015 05:04:45 +0000 (21:04 -0800)]
Use environment vars to point to the lldb source and libraries.  If not set, the lldb plugin doesn't compile.

LLDB_SRC_DIR - the root of the lldb source i.e. ~/linux/llvm/tools/lldb
LLVM_BUILD_DIR - the build directory where the lldb library is found.

9 years agoMerge pull request #271 from kangaroo/more-va_list-safety
Jan Kotas [Thu, 19 Feb 2015 03:38:20 +0000 (19:38 -0800)]
Merge pull request #271 from kangaroo/more-va_list-safety

Remove PAL_printf_arg_remover

9 years agoMerge branch 'unix_issue177'
Jan Vorlicek [Thu, 19 Feb 2015 01:08:34 +0000 (02:08 +0100)]
Merge branch 'unix_issue177'

9 years agoIfdef out some PE specific DAC code. Still need to replace some of it with a linux...
Mike McLaughlin [Wed, 18 Feb 2015 19:55:23 +0000 (11:55 -0800)]
Ifdef out some PE specific DAC code. Still need to replace some of it with a linux specific to build/read the dac globals table.

9 years agoReflect CR feedback
Jan Vorlicek [Wed, 18 Feb 2015 10:36:37 +0000 (11:36 +0100)]
Reflect CR feedback

Rename VirtualUnwind in PAL to PAL_VirtualUnwind
Move .cfi annotation inside macros and update PROLOG_WITH_TRANSITION_BLOCK
to use these macros. I've verified that the annotation is correct by
stepping through the asm code and verifying that the stack trace is
correct at every instruction.

9 years agoMerge pull request #292 from ellismg/remove-unix-specific-encoding-workaround
Matt Ellis [Wed, 18 Feb 2015 05:34:28 +0000 (21:34 -0800)]
Merge pull request #292 from ellismg/remove-unix-specific-encoding-workaround

Remove Unix specific hack in Encoding.GetEncoding

9 years agoMerge pull request #289 from kangaroo/master
Sergiy Kuryata [Wed, 18 Feb 2015 04:18:09 +0000 (20:18 -0800)]
Merge pull request #289 from kangaroo/master

Fix redefine of HAVE_FTRUNCATE_LARGE_LENGTH_SUPPORT

9 years agoRemove Unix specific hack in Encoding.GetEncoding
Matt Ellis [Wed, 18 Feb 2015 03:53:41 +0000 (19:53 -0800)]
Remove Unix specific hack in Encoding.GetEncoding

During Hello World bring-up for Unix, we ran into a crash which at the
time I thought was incorrectly due to some missing support in
globalization leading to a first chance exception being thrown.

Instead the problem was that due to a JIT bug, a hashtable that the
Encodings code tried to construct was getting bad data passed to the
constructor which caused an exception to try to be thrown.  The change
I provided caused the hashtable codepath to not be taken and hence
masked the issue.

Now that the JIT bug is fixed, we can remove this workaround. I
verified that HelloWorld still runs on Unix with these changes.

9 years agoMerge pull request #284 from kangaroo/unix_issue177
Jan Vorlicek [Wed, 18 Feb 2015 00:54:15 +0000 (01:54 +0100)]
Merge pull request #284 from kangaroo/unix_issue177

Refactor libunwind to work on osx

9 years agoFix redefint of HAVE_FTRUNCATE_LARGE_LENGTH_SUPPORT
Geoff Norton [Tue, 17 Feb 2015 23:51:53 +0000 (15:51 -0800)]
Fix redefint of HAVE_FTRUNCATE_LARGE_LENGTH_SUPPORT

9 years agoMove the UNWIND_CONTEXT_IS_UCONTEXT_T check into cmake as well
Geoff Norton [Tue, 17 Feb 2015 21:02:44 +0000 (13:02 -0800)]
Move the UNWIND_CONTEXT_IS_UCONTEXT_T check into cmake as well

9 years agoMerge branch 'master' into unix_issue177
Geoff Norton [Tue, 17 Feb 2015 20:50:09 +0000 (12:50 -0800)]
Merge branch 'master' into unix_issue177

Conflicts:
src/pal/src/config.h.linux
src/pal/src/config.h.osx
src/pal/src/exception/seh-unwind.cpp

9 years agoRefactor linux libunwind to work on osx
Geoff Norton [Tue, 17 Feb 2015 02:02:17 +0000 (18:02 -0800)]
Refactor linux libunwind to work on osx

libunwind on linux exposes the unw_context_t directly as a
ucontext_t, but on OSX its an opaque data structure.  Additionally
UNW_REG_SP is read/write on OSX, but read-only on Linux.  As such
we need to diverge the libunwind code a bit depending on what flavor
we are running on.  There is one OSXTODO around the context pointers,
since we do not have unw_get_save_loc on OSX.

9 years agoMerge pull request #283 from kangaroo/issue-281
Sergiy Kuryata [Tue, 17 Feb 2015 17:18:15 +0000 (09:18 -0800)]
Merge pull request #283 from kangaroo/issue-281

The ftruncate tests eat up a lot of disk space, and build time -- disabl...

9 years agoMerge branch 'master' into soscommand1
Mike McLaughlin [Tue, 17 Feb 2015 00:54:05 +0000 (16:54 -0800)]
Merge branch 'master' into soscommand1

9 years agoThe ftruncate tests eat up a lot of disk space, and build time -- disable them
Geoff Norton [Tue, 17 Feb 2015 00:52:55 +0000 (16:52 -0800)]
The ftruncate tests eat up a lot of disk space, and build time -- disable them

9 years agoOne more fix to DAC build. The wrong "delete" code was being used causing a fault.
Mike McLaughlin [Mon, 16 Feb 2015 23:16:03 +0000 (15:16 -0800)]
One more fix to DAC build. The wrong "delete" code was being used causing a fault.

9 years agoMerge pull request #278 from richlander/richlander-ecma
Rich Lander [Mon, 16 Feb 2015 20:50:15 +0000 (12:50 -0800)]
Merge pull request #278 from richlander/richlander-ecma

Add type loader doc

9 years agoMerge pull request #272 from kangaroo/pal-cleanup
Sergiy Kuryata [Mon, 16 Feb 2015 18:42:07 +0000 (10:42 -0800)]
Merge pull request #272 from kangaroo/pal-cleanup

PAL cleanup

9 years agoMerge pull request #279 from richlander/richlander-ecma6
Matt Mitchell [Mon, 16 Feb 2015 16:51:45 +0000 (08:51 -0800)]
Merge pull request #279 from richlander/richlander-ecma6

Update ECMA links to 6 ed

9 years agoImplement native stack unwinding for Linux
Jan Vorlicek [Mon, 16 Feb 2015 14:43:50 +0000 (15:43 +0100)]
Implement native stack unwinding for Linux
This change implements native stack unwinding using the libunwind on
Linux. I have also fixed bunch of issues / details in the related code:
1) 0x in front of %p inside format string
2) Subtraction of -1 from dl_info.dli_sname
3) Added .cfi_xxxx annotation to the CallDescrWorkerInternal and the
LEAF_ENTRY / LEAF_END macros.
4) Changed local labels in the CallDescrWorkerInternal to be prefixed by
.L to see the CallDescrWorkerInternal in the stack trace
5) Changed moveOWord to use movdqu - it was being called with one of the
parameters unaligned