platform/upstream/coreclr.git
9 years agoDisable a few PAL sscanf test cases
Sergiy Kuryata [Wed, 11 Feb 2015 23:13:42 +0000 (15:13 -0800)]
Disable a few PAL sscanf test cases

These tests need to be temporary disabled untill the issue https://github.com/dotnet/coreclr/issues/161 is fixed. This needs to be done in order to enable running PAL tests in the lab. Currently these test cases fail on Mac and Linux release builds.

9 years agoMerge pull request #189 from akoeplinger/fix-filename-casing
AlexGhiondea [Wed, 11 Feb 2015 21:01:55 +0000 (13:01 -0800)]
Merge pull request #189 from akoeplinger/fix-filename-casing

Correct casing of file paths in mscorlib

9 years agoMerge pull request #212 from poizan42/fix-hardcoded-tools-resgen-path
AlexGhiondea [Wed, 11 Feb 2015 19:53:04 +0000 (11:53 -0800)]
Merge pull request #212 from poizan42/fix-hardcoded-tools-resgen-path

Use $(SDK40ToolsPath) to get path to ResGen instead of hardcoding "NETFX 4.5.1 Tools".

9 years agoUse $(SDK40ToolsPath) to get path to ResGen instead of hardcoding "NETFX 4.5.1 Tools".
Kasper F. Brandt [Wed, 11 Feb 2015 19:07:17 +0000 (20:07 +0100)]
Use $(SDK40ToolsPath) to get path to ResGen instead of hardcoding "NETFX 4.5.1 Tools".
Fixes #210

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 #179 from maksqwe/hresult_return_fix
Jan Kotas [Wed, 11 Feb 2015 07:14:37 +0000 (23:14 -0800)]
Merge pull request #179 from maksqwe/hresult_return_fix

AcquireNoThrow(): return type must be HRESULT

9 years agoMerge pull request #180 from maksqwe/check_result_fix
Jan Kotas [Wed, 11 Feb 2015 06:44:58 +0000 (22:44 -0800)]
Merge pull request #180 from maksqwe/check_result_fix

Properly check return value of OpenProcessToken()

9 years agoMerge pull request #205 from richlander/master
Rich Lander [Wed, 11 Feb 2015 06:44:11 +0000 (22:44 -0800)]
Merge pull request #205 from richlander/master

Update docs and links to docs

9 years agoMake links repo-relative
Richard Lander [Wed, 11 Feb 2015 06:29:07 +0000 (22:29 -0800)]
Make links repo-relative

9 years agoUpdate documentation and links
Richard Lander [Wed, 11 Feb 2015 06:25:29 +0000 (22:25 -0800)]
Update documentation and links

9 years agoMerge pull request #191 from dotnet-bot/from-tfs
Sergiy Kuryata [Wed, 11 Feb 2015 04:56:50 +0000 (20:56 -0800)]
Merge pull request #191 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoFix assignment of float register when this present for System V systems
Lubomir Litchev [Wed, 11 Feb 2015 04:21:41 +0000 (20:21 -0800)]
Fix assignment of float register when this present for System V systems

This change addresses few issues:
1. It shuts off an assert that is relevant for Windows AMD64 calling conventions.
2. It doesn't initialize stack offset for any args - on System V there is no outgoing args space for the callee reserved. And the spilled param offsets are calculated later than the init of arg vars.
3. It stops assigning the first float register to use  to the last used int register. The float registers are managed independently. In presence of this pointer the first float register on the callee side was calculated wrongly.

No asmdiffs for Windows. DDR tests passed.

[tfs-changeset: 1413622]

9 years agoMerge pull request #172 from KindDragon/master
AlexGhiondea [Wed, 11 Feb 2015 03:31:46 +0000 (19:31 -0800)]
Merge pull request #172 from KindDragon/master

Add an .editorconfig file

9 years agoMerge pull request #190 from akoeplinger/patch-1
Rich Lander [Wed, 11 Feb 2015 00:32:41 +0000 (16:32 -0800)]
Merge pull request #190 from akoeplinger/patch-1

Fix typos in botr-faq.md

9 years agoMerge pull request #134 from poizan42/add-glossary
Rich Lander [Wed, 11 Feb 2015 00:31:42 +0000 (16:31 -0800)]
Merge pull request #134 from poizan42/add-glossary

Add glossary to documentation

9 years agoFix typos in botr-faq.md
Alexander Köplinger [Wed, 11 Feb 2015 00:05:22 +0000 (01:05 +0100)]
Fix typos in botr-faq.md

9 years agoMerge pull request #187 from nico/warnfix
Sergiy Kuryata [Tue, 10 Feb 2015 23:32:45 +0000 (15:32 -0800)]
Merge pull request #187 from nico/warnfix

Fix a few Wextra-tokens warnings.

9 years agoFix a few Wextra-tokens warnings.
Nico Weber [Tue, 10 Feb 2015 22:16:47 +0000 (14:16 -0800)]
Fix a few Wextra-tokens warnings.

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 agoProperly check return value of OpenProcessToken()
Maks Naumov [Tue, 10 Feb 2015 07:43:45 +0000 (09:43 +0200)]
Properly check return value of OpenProcessToken()

Return type of OpenProcessToken() is BOOL.

9 years agoAcquireNoThrow(): return type must be HRESULT
Maks Naumov [Tue, 10 Feb 2015 07:17:57 +0000 (09:17 +0200)]
AcquireNoThrow(): return type must be HRESULT

But all users of this function take result like "HRESULT".

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 agoAdd an .editorconfig file
Arkady Shapkin [Mon, 9 Feb 2015 20:23:03 +0000 (23:23 +0300)]
Add an .editorconfig file

What is .editorconfig:
http://editorconfig.org/#overview

Plugins for IDEs to support:
http://editorconfig.org/#download

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 agoAdd glossary to documentation
Kasper F. Brandt [Sat, 7 Feb 2015 15:47:28 +0000 (16:47 +0100)]
Add glossary to documentation

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!