platform/upstream/coreclr.git
9 years agoCorrect casing of file paths in mscorlib
Alexander Köplinger [Tue, 10 Feb 2015 18:54:29 +0000 (19:54 +0100)]
Correct casing of file paths in mscorlib

Some of the files had a different path/filename casing in the project reference than on disk.

9 years agoMerge pull request #184 from richlander/master
Rich Lander [Tue, 10 Feb 2015 18:47:39 +0000 (10:47 -0800)]
Merge pull request #184 from richlander/master

Add BotR FAQ

9 years agoMerge pull request #185 from mmitche/gitter-badger
Matt Mitchell [Tue, 10 Feb 2015 17:27:03 +0000 (17:27 +0000)]
Merge pull request #185 from mmitche/gitter-badger

Gitter badger

9 years agoMake column bold
Matt Mitchell [Tue, 10 Feb 2015 17:26:17 +0000 (09:26 -0800)]
Make column bold

9 years agoAdd gitter badge
Matt Mitchell [Tue, 10 Feb 2015 17:23:58 +0000 (09:23 -0800)]
Add gitter badge

9 years agoAdd BOTR FAQ
dotnet-bot [Tue, 10 Feb 2015 16:28:49 +0000 (08:28 -0800)]
Add BOTR FAQ

9 years agoMerge pull request #173 from AlexGhiondea/fixbuild
Wes Haggard [Tue, 10 Feb 2015 05:30:30 +0000 (21:30 -0800)]
Merge pull request #173 from AlexGhiondea/fixbuild

Provide defaults for the values that come from the build.cmd script.

9 years agoMerge pull request #97 from mmitche/dev-package
Matt Mitchell [Mon, 9 Feb 2015 23:45:30 +0000 (23:45 +0000)]
Merge pull request #97 from mmitche/dev-package

Add development package to build

9 years agoMerge pull request #175 from nicodeslandes/fix_buildtest_error_message
Rama krishnan Raghupathy [Mon, 9 Feb 2015 23:38:57 +0000 (15:38 -0800)]
Merge pull request #175 from nicodeslandes/fix_buildtest_error_message

Fixed error message when running tests\buildtest.cmd

9 years agoAdd new nuget package for development usage
Matt Mitchell [Wed, 4 Feb 2015 22:30:08 +0000 (14:30 -0800)]
Add new nuget package for development usage

Add new nuget package that can be developed against.  Also modify the cmake lists of a few directories to add in missing PDBs.

9 years agoProvide defaults for the values that come from the build.cmd script.
alexghiondea [Mon, 9 Feb 2015 21:32:28 +0000 (13:32 -0800)]
Provide defaults for the values that come from the build.cmd script.

9 years agoMerge pull request #160 from kangaroo/master
Sergiy Kuryata [Mon, 9 Feb 2015 18:56:09 +0000 (10:56 -0800)]
Merge pull request #160 from kangaroo/master

Set the mach exception default to MachException_SuppressDebugging

9 years agoRemoved an extra space in buildtest.cmd, causing it to display an error.
Nicolas Deslandes [Mon, 9 Feb 2015 18:37:25 +0000 (18:37 +0000)]
Removed an extra space in buildtest.cmd, causing it to display an error.

9 years agoMerge pull request #167 from dotnet-bot/from-tfs
Jan Kotas [Mon, 9 Feb 2015 17:47:08 +0000 (09:47 -0800)]
Merge pull request #167 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoFix build break with minimal Windows OS CRT
Jan Kotas [Mon, 9 Feb 2015 17:21:18 +0000 (09:21 -0800)]
Fix build break with minimal Windows OS CRT

va_copy is not available in the minimal Windows OS CRT

[tfs-changeset: 1412529]

9 years agoMerge pull request #166 from richlander/master
Jan Kotas [Mon, 9 Feb 2015 17:00:39 +0000 (09:00 -0800)]
Merge pull request #166 from richlander/master

Update mscorlib doc and add entry to readme

9 years agoUpdate mscorlib doc and add entry to readme
Richard Lander [Mon, 9 Feb 2015 16:23:41 +0000 (08:23 -0800)]
Update mscorlib doc and add entry to readme

9 years agoMerge pull request #163 from richlander/master
Jan Kotas [Mon, 9 Feb 2015 15:04:56 +0000 (07:04 -0800)]
Merge pull request #163 from richlander/master

Add Mscorlib and Calling Into the Runtime document

9 years agoMerge pull request #138 from kangaroo/va_list_safety
Sergiy Kuryata [Mon, 9 Feb 2015 07:15:12 +0000 (23:15 -0800)]
Merge pull request #138 from kangaroo/va_list_safety

va_list safety

9 years agoAdd Mscorlib and Calling Into the Runtime document
dotnet-bot [Mon, 9 Feb 2015 06:43:11 +0000 (22:43 -0800)]
Add Mscorlib and Calling Into the Runtime document

9 years agoMerge pull request #162 from dotnet-bot/from-tfs
Matt Ellis [Mon, 9 Feb 2015 06:42:45 +0000 (22:42 -0800)]
Merge pull request #162 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoprecompile common headers to reduce build time for win builds. With this build time...
Rahul Kumar [Mon, 9 Feb 2015 06:04:06 +0000 (22:04 -0800)]
precompile common headers to reduce build time for win builds. With this build time on my machine has reduced from 19mins to 10mins.

[tfs-changeset: 1412352]

9 years agoSet the mach exception default to MachException_SuppressDebugging for now, so that...
Geoff Norton [Mon, 9 Feb 2015 04:36:28 +0000 (20:36 -0800)]
Set the mach exception default to MachException_SuppressDebugging for now, so that debugging with lldb isnt painful

9 years agoMerge pull request #155 from kangaroo/master
Jan Kotas [Sun, 8 Feb 2015 19:06:12 +0000 (11:06 -0800)]
Merge pull request #155 from kangaroo/master

config.h.osx was debug generated, causing issues with release builds

9 years agoMerge pull request #146 from poizan42/fix-writeable-strings
Sergiy Kuryata [Sun, 8 Feb 2015 19:02:29 +0000 (11:02 -0800)]
Merge pull request #146 from poizan42/fix-writeable-strings

Fix writeable string warnings. Closes #139

9 years agoMinor code structure refactoring as requested by @jkotas in PR #138
Geoff Norton [Sun, 8 Feb 2015 18:12:12 +0000 (10:12 -0800)]
Minor code structure refactoring as requested by @jkotas in PR #138

9 years agoMerge remote-tracking branch 'origin/master' into va_list_safety
Geoff Norton [Sun, 8 Feb 2015 18:04:55 +0000 (10:04 -0800)]
Merge remote-tracking branch 'origin/master' into va_list_safety

9 years agoMerge remote-tracking branch 'origin/master'
Geoff Norton [Sun, 8 Feb 2015 17:59:22 +0000 (09:59 -0800)]
Merge remote-tracking branch 'origin/master'

9 years agoDo not define _DEBUG on all builds.
Geoff Norton [Sun, 8 Feb 2015 17:59:09 +0000 (09:59 -0800)]
Do not define _DEBUG on all builds.

9 years agoMerge pull request #69 from mathstuf/cmake-touchups
Jan Kotas [Sun, 8 Feb 2015 14:29:44 +0000 (06:29 -0800)]
Merge pull request #69 from mathstuf/cmake-touchups

CMake touchups

9 years agoMerge pull request #149 from richlander/master
Jan Kotas [Sun, 8 Feb 2015 06:19:15 +0000 (22:19 -0800)]
Merge pull request #149 from richlander/master

Update author format

9 years agoUpdate author format
Rich Lander [Sun, 8 Feb 2015 06:14:14 +0000 (22:14 -0800)]
Update author format

9 years agoFix writeable string warnings. Closes #139
Kasper F. Brandt [Sun, 8 Feb 2015 02:39:59 +0000 (03:39 +0100)]
Fix writeable string warnings. Closes #139

9 years agoUse list(APPEND) rather than set(var ${var} ...) in CMake
Ben Boeckel [Wed, 4 Feb 2015 16:53:59 +0000 (11:53 -0500)]
Use list(APPEND) rather than set(var ${var} ...) in CMake

This avoids a variable expansion and avoids the chances of a typo being
introduced in variable names.

9 years agoSimplify configuration-specific definitions in CMake
Ben Boeckel [Wed, 4 Feb 2015 16:41:05 +0000 (11:41 -0500)]
Simplify configuration-specific definitions in CMake

Factor out the configurations supported rather than duplicating the
logic three times.

9 years agoUse foreach(IN LISTS) syntax in CMake code
Ben Boeckel [Wed, 4 Feb 2015 16:39:06 +0000 (11:39 -0500)]
Use foreach(IN LISTS) syntax in CMake code

It avoids extra separation on semicolons if there are any and skips a
variable expansion.

9 years agoRemove excess arguments to endfunction() and else()
Ben Boeckel [Wed, 4 Feb 2015 16:34:34 +0000 (11:34 -0500)]
Remove excess arguments to endfunction() and else()

Arguments to else() are always confusing and endfunction only needs to
match the first argument.

9 years agoMerge pull request #142 from dotnet-bot/from-tfs
Matt Ellis [Sun, 8 Feb 2015 01:35:26 +0000 (17:35 -0800)]
Merge pull request #142 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoMerge pull request #140 from dotnet-bot/from-tfs
Matt Ellis [Sun, 8 Feb 2015 00:00:27 +0000 (16:00 -0800)]
Merge pull request #140 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoFix undefined symbols in release build of libcoreclr on Linux
Sergiy Kuryata [Sat, 7 Feb 2015 23:16:27 +0000 (15:16 -0800)]
Fix undefined symbols in release build of libcoreclr on Linux

When building a release version of libcoreclr.so on Linux the LLVM toolchain makes optimizations that result in undefined symbols in libcoreclr.so which causes dlopen(“libcoreclr.so”) to fail at runtime. There were three problematic functions:

1. CQuickMemoryBase<SIZE, INCREMENT>::ReSizeNoThrow(SIZE_T iItems)
2. FixupDispatcherContext(...)
3. CodeGen::inst_set_SV_var(GenTreePtr tree); - this function is marked as inline and has the entire body under “#ifdef  DEBUG”.

To fix the problem with ReSizeNoThrow I added the “__attribute__((used))” attribute to the declaration of the function. This attribute is enabled for the llvm toolchain only. For the other two functions I have simply removed ‘inline’ since these functions are not performance critical.

[tfs-changeset: 1412107]

9 years agoAdd missing .gitmirrorall file.
Matt Ellis [Sat, 7 Feb 2015 23:09:23 +0000 (15:09 -0800)]
Add missing .gitmirrorall file.

We mirror the newly created Documentation fully between TFS and Git.

[tfs-changeset: 1412105]

9 years agova_copy exists on windows now as well as a define, so we can unify this code
Geoff Norton [Sat, 7 Feb 2015 21:48:51 +0000 (13:48 -0800)]
va_copy exists on windows now as well as a define, so we can unify this code

9 years agoEnsure that every usage of va_start is complemented by a va_end
Geoff Norton [Sat, 7 Feb 2015 20:09:33 +0000 (12:09 -0800)]
Ensure that every usage of va_start is complemented by a va_end

9 years agova_arg can modify the va_list according to the specification
Geoff Norton [Sat, 7 Feb 2015 19:03:46 +0000 (11:03 -0800)]
va_arg can modify the va_list according to the specification

SString will attempt to use va_list multiple times in the scenario where the
target buffer is not large enough.  On platforms like OSX, va_arg modifies
the va_list, making these re-attempts overread and fault.  The solution is to
va_copy the va_list prior to use, to ensure the original is maintained for
future use.

9 years agoMerge pull request #108 from jkotas/master
Gaurav Khanna [Sat, 7 Feb 2015 17:15:45 +0000 (09:15 -0800)]
Merge pull request #108 from jkotas/master

Fix Windows x64 corerun.exe to run anycpu 32-bit preferred exe

9 years agoMerge pull request #130 from njy/patch-1
Jan Kotas [Sat, 7 Feb 2015 17:15:06 +0000 (09:15 -0800)]
Merge pull request #130 from njy/patch-1

possible unresolved tension

9 years agoMerge pull request #119 from cwmiller/fix-linux-short-filenames
Jan Kotas [Sat, 7 Feb 2015 16:58:04 +0000 (08:58 -0800)]
Merge pull request #119 from cwmiller/fix-linux-short-filenames

Fix std::out_of_range exception with short filenames (Linux)

9 years agopossible unresolved tension
njy [Sat, 7 Feb 2015 12:28:41 +0000 (13:28 +0100)]
possible unresolved tension

http://xkcd.com/859/

9 years agoMerge pull request #75 from PashaPash/resourceset_deadlock
Jan Kotas [Sat, 7 Feb 2015 10:29:31 +0000 (02:29 -0800)]
Merge pull request #75 from PashaPash/resourceset_deadlock

Fixed deadlock in System.Resources.ResourceSet

9 years agoMerge pull request #125 from kangaroo/issue-120
Jan Kotas [Sat, 7 Feb 2015 10:14:47 +0000 (02:14 -0800)]
Merge pull request #125 from kangaroo/issue-120

-nostdinc++ is not recognized by apple clang, but its also not needed

9 years agoMerge pull request #126 from vkairys/documentation-links
Jan Kotas [Sat, 7 Feb 2015 10:03:18 +0000 (02:03 -0800)]
Merge pull request #126 from vkairys/documentation-links

Update intro-to-clr.md

9 years agoUpdate intro-to-clr.md
vkairys [Sat, 7 Feb 2015 08:28:46 +0000 (10:28 +0200)]
Update intro-to-clr.md

9 years ago-nostdinc++ is not recognized by apple clang, but its also not needed
Geoff Norton [Sat, 7 Feb 2015 06:41:41 +0000 (22:41 -0800)]
-nostdinc++ is not recognized by apple clang, but its also not needed

9 years agoMerge pull request #117 from kangaroo/osx
Jan Kotas [Sat, 7 Feb 2015 03:49:05 +0000 (19:49 -0800)]
Merge pull request #117 from kangaroo/osx

Initial Mac OSX Support

9 years agoRemove static casting in favor of a helper method so we retain type safety with the...
Geoff Norton [Sat, 7 Feb 2015 03:18:03 +0000 (19:18 -0800)]
Remove static casting in favor of a helper method so we retain type safety with the compiler

9 years agoFix std::out_of_range exception with short filenames (Linux)
Chase Miller [Sat, 7 Feb 2015 03:04:39 +0000 (22:04 -0500)]
Fix std::out_of_range exception with short filenames (Linux)

An unsigned integer was being used while scanning the CLR path to locate assemblies. If a file existed in the directory with a name shorter than the longest extension being checked for (.ni.dll), then the variable would underflow and cause an exception when used as an index on the filename.

9 years agoRefactor to be explicit about the fact that there is no handler yet
Geoff Norton [Sat, 7 Feb 2015 02:53:57 +0000 (18:53 -0800)]
Refactor to be explicit about the fact that there is no handler yet

9 years agoRemove PowerPC code, as its unused anymore
Geoff Norton [Sat, 7 Feb 2015 02:51:55 +0000 (18:51 -0800)]
Remove PowerPC code, as its unused anymore

9 years agoRemove the old version of DBG_CheckStackAlignment and make sure the assembly version...
Geoff Norton [Sat, 7 Feb 2015 02:51:33 +0000 (18:51 -0800)]
Remove the old version of DBG_CheckStackAlignment and make sure the assembly version is guarded on _DEBUG like the original

9 years agoRemove dead NPROCS code now that we use getconf
Geoff Norton [Sat, 7 Feb 2015 02:48:29 +0000 (18:48 -0800)]
Remove dead NPROCS code now that we use getconf

9 years agoRemove cordbi from the OSX build, since its still missing some symbols
Geoff Norton [Sat, 7 Feb 2015 02:40:15 +0000 (18:40 -0800)]
Remove cordbi from the OSX build, since its still missing some symbols

9 years agoRefactor the DBG_CheckStackAlignment support to be more consistent with the rest...
Geoff Norton [Sat, 7 Feb 2015 01:09:25 +0000 (17:09 -0800)]
Refactor the DBG_CheckStackAlignment support to be more consistent with the rest of the PAL

9 years agoFixup a few changes missed when rebasing OSX support
Geoff Norton [Sat, 7 Feb 2015 00:39:28 +0000 (16:39 -0800)]
Fixup a few changes missed when rebasing OSX support

Initially __LINUX__ was defined when building for OSX as well, bringing
in LONGDOUBLE_IS_DOUBLE 1, and some of the local SEH funcations.
Add a __APPLE__ guard around these as well, so they're properly included.

9 years agoInitial Mac OSX Support
Geoff Norton [Wed, 4 Feb 2015 05:18:43 +0000 (21:18 -0800)]
Initial Mac OSX Support

Supports building up the VM, PAL and various components on Mac OSX 10.10
There are some oddities with the Apple assembler not generating short jumps
and not supporting 1 byte relocs.

9 years agoMerge pull request #100 from xyziemba/parallel_make
Jan Kotas [Fri, 6 Feb 2015 23:14:47 +0000 (15:14 -0800)]
Merge pull request #100 from xyziemba/parallel_make

Use # of processors + 1 available to OS scheduler on Linux when building

9 years agoFix PAL_Initialize error reporting
Jan Vorlicek [Fri, 6 Feb 2015 22:57:10 +0000 (14:57 -0800)]
Fix PAL_Initialize error reporting

Ensure that when PAL_Initialize fails, the last error is always set. There were failure cases where it didn't set the last error.
Change assert for sizeof(CRITICAL_SECTION) < sizeof(PAL_CRITICAL_SECTION) in CriticalSectionSubSysInitialize to static assert and change the return type to void.

[tfs-changeset: 1411882]

9 years agoMerge pull request #115 from richlander/master
Jan Kotas [Fri, 6 Feb 2015 22:42:56 +0000 (14:42 -0800)]
Merge pull request #115 from richlander/master

Initial commit of 'Introduction to the CLR'

9 years agoMerge pull request #86 from maksqwe/assertion_search_fix
Senthil [Fri, 6 Feb 2015 21:37:57 +0000 (13:37 -0800)]
Merge pull request #86 from maksqwe/assertion_search_fix

Fix non-null assertion search in assertion table

9 years agoInitial commit of 'Introduction to the CLR'
Vance Morrison [Fri, 6 Feb 2015 21:30:24 +0000 (13:30 -0800)]
Initial commit of 'Introduction to the CLR'

9 years agoFixed deadlock in System.Resources.ResourceSet
Pavel Pochobut [Wed, 4 Feb 2015 18:49:32 +0000 (21:49 +0300)]
Fixed deadlock in System.Resources.ResourceSet

ResourceSet internal enumerator uses the following lock order:
1. lock _resCache (as _reader._resCache)
       in System.Resources.ResourceSet+ResourceEnumerator.Entry
2. lock reader (this)
       in the body on of _reader.AllocateStringForNameIndex

RuntimeResourceSet.GetObject uses the following lock order:
1. Lock on reader
2. Lock on _resCache
    (on the same instance as passed to the reader ctor)

That causes deadlock when one thread tries to enumerate the ResourceSet
while another thread reads a specific object from the same set.

Added lock in System.Resources.ResourceSet+ResourceEnumerator.Entry,
so both code paths locks on reader first.

Fix Connect Issue ID #580259

9 years agoMerge pull request #112 from kangaroo/drop-librt
Jan Kotas [Fri, 6 Feb 2015 17:49:49 +0000 (09:49 -0800)]
Merge pull request #112 from kangaroo/drop-librt

Remote -lrt from the link as its not needed, and not cross platform

9 years agolrt is not cross platform, lets put this back in when we verify this branch on linux
Geoff Norton [Wed, 4 Feb 2015 18:58:39 +0000 (10:58 -0800)]
lrt is not cross platform, lets put this back in when we verify this branch on linux

9 years agoMerge pull request #109 from dotnet-bot/from-tfs
Jan Kotas [Fri, 6 Feb 2015 15:27:44 +0000 (07:27 -0800)]
Merge pull request #109 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoFix missing CHAIN_SUCCESS_COUNTER symbol in libcoreclr.so
Jan Vorlicek [Fri, 6 Feb 2015 14:48:20 +0000 (06:48 -0800)]
Fix missing CHAIN_SUCCESS_COUNTER symbol in libcoreclr.so

Certain versions of the clang toolchain build libcoreclr.so with this symbol undefined. This symbol is just an alias of g_dispatch_cache_chain_success_counter and the issue was probably caused by the fact that we pass the CHAIN_SUCCESS_COUNTER as a parameter to macro and that macro then appends the @GOTPCREL to the symbol. It seems that in the problematic case, the assembler appends the @GOTPCREL to the CHAIN_SUCCESS_COUNTER instead of the original g_dispatch_cache_chain_success_counter symbol.
Changing the
CHAIN_SUCCESS_COUNTER = g_dispatch_cache_chain_success_counter
to
#define CHAIN_SUCCESS_COUNTER g_dispatch_cache_chain_success_counter
fixes the issue.

[tfs-changeset: 1411600]

9 years agoMerge pull request #107 from dotnet-bot/from-tfs
Jan Kotas [Fri, 6 Feb 2015 13:22:47 +0000 (05:22 -0800)]
Merge pull request #107 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoFix Windows x64 corerun.exe to run anycpu 32-bit preferred exe
Jan Kotas [Fri, 6 Feb 2015 13:21:41 +0000 (05:21 -0800)]
Fix Windows x64 corerun.exe to run anycpu 32-bit preferred exe

The bug was caused by call to LoadLibrary in Windows corerun and coreconsole hosts that refused to load 32-bit preferred exe.

I have removed the problematic call to LoadLibrary. The purpose of this call was to normalize the exe path. The exe path is already normalized and so this call was unnecessary.

Fixes #92

9 years agoFix several warnings in Linux build
Jan Vorlicek [Fri, 6 Feb 2015 12:31:14 +0000 (04:31 -0800)]
Fix several warnings in Linux build

1) Usage of partially uninitialized variable when the compiler didn't know the condition is always true. This condition was calling a VolatileRead and only the VolatileRead actually matters so that right PDB annotation is generated and not optimized out in debug optimized builds. So I've removed the if.
2) Usage of nostdinc++ option as a general option - it complained when building C files
3) Usage of an unknown warning disabling compiler option with clang 3.5. The option was needed for clang 3.5.1 and later.
4) Usage of partially uninitialized variable in daccess.cpp - there is a code path that the compiler can see that doesn't initialize the status variable.
5) Empty body of a for loop warning in one or two PAL tests.

[tfs-changeset: 1411579]

9 years agoMerge pull request #104 from dotnet-bot/from-tfs
Jan Kotas [Fri, 6 Feb 2015 04:42:23 +0000 (20:42 -0800)]
Merge pull request #104 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoUse N+1 processors instead of N procs on Linux build
Xy Ziemba [Fri, 6 Feb 2015 03:22:51 +0000 (19:22 -0800)]
Use N+1 processors instead of N procs on Linux build

N+1 processors appears to perform 2-3% faster than using
just N processors. I've done an A/B test both locally and on
a cloud VM.

Fixes for this and the previous commit were reported by Sedar
Dilek <sedar.dilek@gmail.com>. Thanks!

9 years agoFix build on Linux by resolving case sensitivity issues in md/datasource
Eugene Zemtsov [Fri, 6 Feb 2015 03:05:53 +0000 (19:05 -0800)]
Fix build on Linux by resolving case sensitivity issues in md/datasource

[tfs-changeset: 1411310]

9 years agoUse # of processors availabe to OS scheduler on Linux
Xy Ziemba [Fri, 6 Feb 2015 02:02:19 +0000 (18:02 -0800)]
Use # of processors availabe to OS scheduler on Linux

`getconf _NPROCESSORS_ONLN` provides the number of cores available to
the OS scheduler, while `nproc` provides the number of cores available
to `nproc` itself. We want to use the former value since make spawns
new processes instead of running compilation tasks in the same process.
(FWIW, the two values are usually the same, but `getconf` gets us the
value that we actually want.)

Additionally, `getconf` is available on Mac OSX while `nproc` is not.

I also fixed the printout of the `make` command that's actually
executed when we build.

9 years agoMerge pull request #96 from mmitche/exe-pdbs
Matt Mitchell [Fri, 6 Feb 2015 00:38:11 +0000 (00:38 +0000)]
Merge pull request #96 from mmitche/exe-pdbs

Enable PDB generation for corerun and coreconsole

9 years agoMerge pull request #82 from pgavlin/master
Pat Gavlin [Fri, 6 Feb 2015 00:08:54 +0000 (16:08 -0800)]
Merge pull request #82 from pgavlin/master

Build fixes for clang3.7 and systems without stropt.h.

9 years agoEnable PDB generation for corerun and coreconsole
Matt Mitchell [Thu, 5 Feb 2015 22:42:03 +0000 (14:42 -0800)]
Enable PDB generation for corerun and coreconsole

Corerun and coreconsole are exes, so they don't share the same linker flags as the shared libraries.  Set DEBUG on the EXE flags so that Release always gets debug info.

Don't pass incremental linking, incompatible with debug type

9 years agoMake DBI build on Linux
Eugene Zemtsov [Thu, 5 Feb 2015 22:19:32 +0000 (14:19 -0800)]
Make DBI build on Linux

- Compile DBI on Linux.
- Link DBI on Linux to the point when only symbols related to INativePipeline are missing.
In order to completely link DBI we'll have to do some development, and it will be addressed by a separate change.

[tfs-changeset: 1411066]

9 years agoMerge pull request #93 from mmitche/fix-build-error-codes
AlexGhiondea [Thu, 5 Feb 2015 22:09:34 +0000 (14:09 -0800)]
Merge pull request #93 from mmitche/fix-build-error-codes

Fix build.cmd return codes

9 years agoFix build.cmd return codes
Matt Mitchell [Thu, 5 Feb 2015 16:51:03 +0000 (08:51 -0800)]
Fix build.cmd return codes

Build script was accidentally wiping the return code of the first msbuild step, causing us to continue building even in failure.  Fix this and do a little extra cleanup.

9 years agoMerge pull request #50 from xyziemba/build_fix_1
Xy Ziemba [Thu, 5 Feb 2015 19:30:07 +0000 (11:30 -0800)]
Merge pull request #50 from xyziemba/build_fix_1

Make build type and build.sh case insensitive

9 years agoFix Typo in messages within CMakeLists.txt
Xy Ziemba [Thu, 5 Feb 2015 18:56:49 +0000 (10:56 -0800)]
Fix Typo in messages within CMakeLists.txt

"DEBUG, RELEASE and RELWITHDEBINFO" becomes
"DEBUG, RELEASE, or RELWITHDEBINFO"

9 years agoModify else/endif statements to remove optional expressions
Xy Ziemba [Thu, 5 Feb 2015 18:09:33 +0000 (10:09 -0800)]
Modify else/endif statements to remove optional expressions

This change removes the expressions within the elseif and
endif blocks. This aligns my changes with pull #69 and should
prevent a merge conflict.

9 years agoMerge pull request #66 from cwmiller/master
Matt Mitchell [Thu, 5 Feb 2015 16:05:42 +0000 (16:05 +0000)]
Merge pull request #66 from cwmiller/master

Fix build.sh variables

9 years agoBuild fixes for clang3.7 and systems without stropt.h.
Pat Gavlin [Thu, 5 Feb 2015 00:59:45 +0000 (16:59 -0800)]
Build fixes for clang3.7 and systems without stropt.h.

- Fix setup-compiler-clang to detect binaries outside of /usr/bin
- Fix ambiguously-sized cmp instructions when comparing g_GCShadow and 0
- Remove references to stropt.h. None of the defiinitions in this header
  are used by the product, and this header is not present on certain
  systems.

9 years agoMerge pull request #42 from pborreli/typos
Jan Kotas [Thu, 5 Feb 2015 07:44:16 +0000 (23:44 -0800)]
Merge pull request #42 from pborreli/typos

Fixed typos

9 years agoFix non-null assertion search in assertion table
Maks Naumov [Thu, 5 Feb 2015 07:07:22 +0000 (09:07 +0200)]
Fix non-null assertion search in assertion table

            if (impAssertion->assertionKind != OAK_NOT_EQUAL ||
                impAssertion->op1.kind != O1K_LCLVAR ||
                impAssertion->op1.kind != O2K_CONST_INT ||
                impAssertion->op1.vn != chkAssertion->op1.vn)

This condition is always true.

9 years agoMerge pull request #80 from sergiy-k/binplace-on-linux
Jan Kotas [Thu, 5 Feb 2015 00:58:52 +0000 (16:58 -0800)]
Merge pull request #80 from sergiy-k/binplace-on-linux

Enable binplacing of native CoreCLR binaries on Linux

9 years agoAdd default values to CMAKE_BUILD_TYPE
Xy Ziemba [Wed, 4 Feb 2015 23:11:50 +0000 (15:11 -0800)]
Add default values to CMAKE_BUILD_TYPE

This helps interactive CMake config tools populate the options
to display for the CMAKE_BUILD_TYPE variable.

9 years agoEnable binplacing of native CoreCLR binaries on Linux
Sergiy Kuryata [Wed, 4 Feb 2015 21:59:44 +0000 (13:59 -0800)]
Enable binplacing of native CoreCLR binaries on Linux

This change adds support for binplacing native CoreCLR binaries on Linux to "$__RootBinDir/Product/$__BuildArch/$__BuildType". It reuses the mechanism that we currently have in place for Windows. Similarly to binplace implementation for Windows, it sets an environment variable (__CMakeBinDir) in build.sh and then uses its value in clang-compiler-override.txt to set CMAKE_INSTALL_PREFIX to the desired target location.

9 years agoFixed variable issues in build.sh
Chase Miller [Wed, 4 Feb 2015 16:31:58 +0000 (16:31 +0000)]
Fixed variable issues in build.sh

The clean argument wasn't properly setting the __CleanBuild variable to trigger the clean build operation.
The current build target/type message was using CMD variable substitution syntax instead of BASH.

9 years agoMerge pull request #36 from benaadams/patch-1
Jan Kotas [Wed, 4 Feb 2015 21:18:29 +0000 (13:18 -0800)]
Merge pull request #36 from benaadams/patch-1

Avoid unnecessary work for identical locations in Buffer.BlockCopy

9 years agoAvoid unnecessary work for identical locations in Buffer.BlockCopy
Ben Adams [Tue, 3 Feb 2015 21:41:36 +0000 (21:41 +0000)]
Avoid unnecessary work for identical locations in Buffer.BlockCopy

Perform validity checks to ensure parameters are correct but short-circuit
out memmove when exactly the same data would be copied to the same location.

There are a number of occasions; which can be intentional or unintentional,
where the buffer being copied is the same place - e.g an internal buffer is
the same as the return buffer, and there is no need to call memmove's
overwrite safe copy.

Generally the call to BlockCopy will be in a library so it is more practical
to enable the check here rather than alter all the calling functions,
including 3rd party libraries to preform additional checks.