Commit Graph

167 Commits

Author SHA1 Message Date
Jose Perez Rodriguez 744f1ffe55
Resolve ILLink warnings for System.Resources.ResourceManager (#47778)
* Making System.Resources.ResourceManager trim safe

* Addressing PR Feedback

* Rename objects => types

* Also rename the strings.resx

* More PR Feedback

* Add UnconditionalSuppressMessage to Extensions

* Rename feature switch and reword error messages

* Removing new warning that is already addressed

* Rename AppContext switch and add feature switch to docs

* Addressing Feedback

* Revert changes to findtype plus some other feedback

* Revert FindType back

* move feature check up
2021-02-08 20:44:48 +00:00
Youssef Victor 5d5c3e7a58
Enable markdownlint rule (MD009) (#40887)
* Create markdownlint.yml

* Create markdownlint-problem-matcher.json

* Create .markdownlint.json

* Update .markdownlint.json

* fix violations

* fixes

* Remove "push" section

As advised by @viktorhofer so it's quite clear it only runs in CI.

Co-authored-by: Dan Moseley <danmose@microsoft.com>
2021-02-08 10:43:40 -08:00
Elinor Fung 9ce547d084
Add example for installing/launching emulator to Android test doc (#47889) 2021-02-05 10:03:38 -08:00
Zoltan Varga 382de3d308
Remove the src/mono/netcore directory, move its contents to src/mono. (#47847)
* Remove the src/mono/netcore directory, move its contents to src/mono.

* Fix docs and make targets.

* Remove the netcore dir itself.

* Fix samples.
2021-02-04 18:59:14 -05:00
Elinor Fung f31473d2ff
Add doc about running host tests (#47744) 2021-02-02 12:27:24 -08:00
Chuck Ries 8aca6912da
Update clang version for alpine build instructions (#47730) 2021-02-01 16:54:25 -08:00
David Wrighton d7ee51cc18
Debugging Crossgen2 documentation (#47363)
* Debugging Crossgen2 documentation and such
- Also new --print-repro-instructions command line switch to crossgen2 as requested by the JIT team
2021-01-25 18:21:48 -08:00
Kenneth Pouncey a78f7d2622
[browser][docs] Add docs for running tests in different browser (#47109)
* Add documentation on running tests using different Browsers other than chrome.

- XHARNESS_COMMAND="test-browser --browser=safari"
- Add ability to run against different browsers from the make file target `run-browser-tests` by adding `XHARNESS_BROWSER= ` to command line.

At the moment supported values are:
- `chrome`
- `safari`
- `firefox`

* Add gecko firefox requirements to testing docs.
2021-01-19 05:38:45 +01:00
Kenneth Pouncey 6299cefa03
[browser][docs] Add docs for running outerloop and browser instance (#46737)
* [browser][docs] Add testing docs for running outerloop and browser instance

* Add information for GitHub interface.
2021-01-08 10:49:38 +01:00
Lukas Lansky 1bb8af0a23
Fixing doc link to maximum file path limitation removal (#46627) 2021-01-06 05:49:01 -08:00
Dan Moseley d4d50db676
Improve generated dump debugging instructions (#46493)
* Improve generated dump debugging instructions

* Update eng/testing/debug-dump-template.md

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* Update eng/testing/debug-dump-template.md

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* Update eng/testing/debug-dump-template.md

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* Update debug-dump-template.md

* Fix ```

* fix some ```cmd

* Reverse .cmd to .bat

* Open only for reading

* Improve foldername

* Install only one SOS

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2021-01-05 07:57:42 -08:00
Fan Yang 60c6086aa7
Update testing.md (#46295)
The current framework relays on CoreCLR to create the Core_Root and then patch it with mono runtime. So building CoreCLR is required before building runtime tests for desktop Mono
2020-12-21 14:04:30 -05:00
Dan Moseley d3a04b2959
Fix complus casing (#46167) 2020-12-16 16:45:32 -08:00
Fan Yang 1aac928655
Update testing.md (#46043)
skipstressdependencies switch was removed from the runtime tests build script.
2020-12-14 15:39:06 -05:00
Alexander Köplinger b62af1a9e8
Remove autotools dependencies from the build requirements (#45825)
Now that Mono has switched to CMake we no longer need the autoconf, automake and libtool build dependencies.
2020-12-09 13:57:08 +01:00
Dan Moseley 8671a07fa3
Update using-dotnet-cli.md (#45717)
* Update using-dotnet-cli.md

* Update using-dotnet-cli.md

Change versions to 6.0

* Update using-dotnet-cli.md

* Update using-dotnet-cli.md

* Update using-dotnet-cli.md

* Update using-dotnet-cli.md
2020-12-08 15:58:11 -08:00
Jan Kotas 10381a2cdc
Find&Replace coreclr/src -> coreclr (#45761) 2020-12-08 10:40:17 -08:00
SingleAccretion 75442397ab
Reword the note on redundancy of frequent clean builds (#45718) 2020-12-07 16:26:18 -08:00
Andrew Au f7530ff152
Fixes paths (#45392) 2020-12-02 17:59:50 -08:00
Jeremy Koritzinsky 854fde65c1
Fix ninja package name (#45217) 2020-11-25 10:43:40 -08:00
Fan Yang a6b3b236ef
Updated mono testing doc (#44360)
* Update testing.md

* Create testing-mono.md

* Update mono testing doc

* Update docs/workflow/testing/mono/testing.md

Co-authored-by: Ryan Lucia <rylucia@microsoft.com>

* Update docs/workflow/testing/mono/testing.md

Co-authored-by: Ryan Lucia <rylucia@microsoft.com>

* Update docs/workflow/testing/mono/testing.md

Co-authored-by: Ryan Lucia <rylucia@microsoft.com>

* Update docs/workflow/testing/mono/testing.md

Co-authored-by: Ryan Lucia <rylucia@microsoft.com>

* Update docs/workflow/testing/mono/testing.md

Co-authored-by: Ryan Lucia <rylucia@microsoft.com>

* Update docs/workflow/testing/mono/testing.md

Co-authored-by: Ryan Lucia <rylucia@microsoft.com>

* Update docs/workflow/testing/mono/testing.md

Co-authored-by: Ryan Lucia <rylucia@microsoft.com>

* Update docs/workflow/testing/mono/testing.md

Co-authored-by: Ryan Lucia <rylucia@microsoft.com>

* Update docs/workflow/testing/mono/testing.md

Co-authored-by: Ryan Lucia <rylucia@microsoft.com>

* PR feedback

* Fix format

* Update docs/workflow/testing/mono/testing.md

Co-authored-by: Ryan Lucia <rylucia@microsoft.com>

* Update docs/workflow/testing/mono/testing.md

Co-authored-by: Ryan Lucia <rylucia@microsoft.com>

* Update docs/workflow/testing/mono/testing.md

Co-authored-by: Ryan Lucia <rylucia@microsoft.com>

* Update docs/workflow/testing/mono/testing.md

Co-authored-by: Ryan Lucia <rylucia@microsoft.com>

* PR feedback

* Update docs/workflow/testing/mono/testing.md

Co-authored-by: Ryan Lucia <rylucia@microsoft.com>

* Update docs/workflow/testing/mono/testing.md

Co-authored-by: Ryan Lucia <rylucia@microsoft.com>

* Replace bullet points with sub-headers

* Update sub-headers to remove the duplicated part

Co-authored-by: Ryan Lucia <rylucia@microsoft.com>
2020-11-20 14:27:44 -05:00
Jan Kotas 1e8adf299e
Integrate misc fixes from dotnet/runtimelab:NativeAOT (#44851) 2020-11-18 05:00:29 -08:00
Mateo Torres-Ruiz fdf1494334
Add feature switch for disabling startup hooks (#44050)
* Introduce feature switch for startup hook

* Add test

* Update md

* Update src/coreclr/src/System.Private.CoreLib/src/System/StartupHookProvider.cs

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* Add UnreferencedCode attribute

* Apply suggestions from code review

Co-authored-by: Vitek Karas <vitek.karas@microsoft.com>

* Update message

* Update baseline

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: Vitek Karas <vitek.karas@microsoft.com>
2020-11-13 13:04:25 -08:00
Elinor Fung 8de9e3b8a0
Add example to test doc for generating Core_Root without building tests (#44504) 2020-11-13 00:46:13 -08:00
Anirudh Agnihotry b37f10a504
Changing Windows_NT -> Windows for enabling TargetPlatformMoniker feature of the sdk for platform specific tfms. (#43651)
* eng change

* coreclr change

* libraries change

* tests change

* installer & mono change

* py files changed

* .md change

* .yml change

* remove redundant targetos property

* Windows_NT -> windows after ninja change

* fixing runtime build failure
2020-11-02 14:25:58 -08:00
Jeremy Koritzinsky 8c6a049cdb
Enable using the Ninja generator instead of Visual Studio on Windows builds. (#41897)
* Move DacTableGen out of the CMake build and into tools-local.

* Attempt: usenmakefiles means ninja.

* Make changes to Windows build to support non-VS generators like ninja.

* Use CMake 3.16 PCHs.

* Remove explicit process count.

* Build and run DacTableGen via the .NET CLI we pull down for the build instead of via CMake.

* Update configurecompiler.cmake to specify language (needed for Ninja).

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Get Ninja build working again.

* Pass configuration to cmake configure step for Ninja build.

* Rename flag

* Fix configure step for cross-arch native build

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Support building via Ninja for coreclr via an MSBuild property

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Implement support for opening the CoreCLR solution in VS via the -vs flag.

* Fix setting generator to Ninja.

* Merge libraries gen-buildsys-win.bat with runtime gen-buildsys.cmd to share windows cmake configure infra.

* Enable building libraries native build with ninja.

* Centralize setting CMAKE_SYSTEM_VERSION for windows builds.

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Update host build to use shared gen-buildsys.cmd

* Fix multi-config generator detection.

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Exit with success when we build successfully.

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Enable and fix up Ninja build for hosts.

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Only link delayimp.lib on Windows

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Remove "overriding /W3 with /W1" warning in Ninja build of hosts by turning on /W3 and disabling any new warnings we hit.

* Reduce command line override warnings by adopting the MSVC_RUNTIME_LIBRARY abstraction feature in CMake 3.14+ (below the minimum requirement on Windows).

* Use the delayed expansion syntax to correctly pass in the config to cmake.

* Move all usages of MSVC runtime library selection to the CMake abstraction to reduce console spew about overridden flags.

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Condition the rest of the compiler options correctly so they don't show up as invalid parameter warnings for assembly builds.

* Correctly build DIALib and DacTableGen as AnyCPU

* Fix WRITE_BARRIER_CHECK define

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Fix passing arch for MSBuild build.

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Configure ASM compiler command line format in configurecompiler.cmake and use CMake's assembly compilation step to build ASM files for ARM/ARM64 instead of manually building them and adding the generated files as additional sources.

* Cleanup after fixing ARM/ARM64 support.

* Rename variable

* Condition PCH's for C++-only as needed to fix using them on non-Windows (where we compile C as C instead of as C++).

* Fix CoreCLR native test build on windows to point to new gen-buildsys location.

* Add missing compilation options in Ninja build that are implicitly defined in the MSBuild build.

* Disable analyzers for DacTableGen. Remove /MAP linker flag (that's for local testing).

* Upgrade to CMake 3.16.4

* Don't warn on unused variables in CMake (these usually vary on platform/config)

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Manually compile ARM and ARM64 asm files when using the VS generator since it doesn't support emitting MARMASM item types in projects (and as a result cannot compile ARM or ARM64 asm without assistance).

* Enable CMake policy in test build to use CMAKE_MSVC_RUNTIME_LIBRARY variable.

* Update initially disabled warnings in host.

* Add -ninja arg to root scripts to enable using Ninja.

* Enable using Ninja in CoreCLR CI.

* Try to fix passing the -ninja arg in yaml.

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Add ninja to the Windows invocation

* Fix 2-phase cross targeting to do one phase at a time and initialize the VC++ environment for the correct build tools each time instead of interleaving them and relying on Visual Studio to handle the differing targets.

* Restore old /Ox optimization setting for Release.

* Fix typos, don't pass exception flags to C files.

* Remove unneeded pragma.

* Fix .pgd file installation.

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Add mention of the `-ninja` flag in the Building CoreCLR documentation.

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Mention installation locations for Ninja and warn while building if CMake is older than 3.16.0.

* Update docs/workflow/requirements/windows-requirements.md
2020-11-02 07:50:01 -08:00
imhameed 5e6de70217
CoreCLR runtime tests + Mono LLVM AOT on arm64 Linux (#41751)
This change:

- Adds new options to mono.proj:

    - MonoAOTEnableLLVM, which enables (or disables) building a Mono AOT
    cross compiler with LLVM;

    - MonoAOTLLVMDir, which specifies the path to a copy of LLVM suitable for
    building a Mono AOT cross compiler, and is optional; and

    - BuildMonoAOTCrossCompilerOnly, which allows building a Mono AOT
    cross compiler without building an associated full Mono runtime.

- Changes offsets-tool.py's user interface slightly; '--include-prefix' is
renamed to '--prefix' and may be specified multiple times. While this latter
feature isn't necessary to build a Mono cross compiler today, because we don't
use distribution-supplied cross-compilation headers on CI, it does make it
easier to experiment with the offsets tool using arbitrary header layouts.  For
example, Debian's arm64 cross-compilation packages scatter useful header files
across `/usr/lib/gcc-cross/aarch64-linux-gnu` and `/usr/aarch64-linux-gnu`.

- Updates the docker image used for arm64 cross-compilation to a newer revision
that includes libclang (see also
https://github.com/dotnet/dotnet-buildtools-prereqs-docker/pull/375).

- Adds some tests that currently fail to compile with Mono LLVM AOT to
issues.targets.

- Adds a Linux_arm64 LLVM AOT job to CI. Nothing particularly fancy is done to
build the Mono LLVM AOT cross compiler; it is built as a step in the same job
that also sends Linux_arm64 tests to Helix.
2020-10-26 09:38:25 -07:00
Huo Yaoyuan 5143a05660
Update steps in debugging instruction of CLR (#43557)
* Update CLR debugging instruction steps.

* Use suggested BCL path

Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>

* Mention the usage cases of CORE_LIBRARIES.

Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
2020-10-21 18:08:53 +02:00
Adeel Mujahid 4486164506
Fix various typos (#43073)
* Fix various typos
* `occurence`, `occurance` -> `occurrence`
* `accross` -> `across`
* `adddress`, `addresss` -> `address`
* `alignement`, `aligment` -> `alignment`
* Remove `c` from triple c.
* Remove `s` from triple s.
  * In palsuite, `Successs` (with triple s) was in commented out
    `Trace()` message, removed all commented out `Trace()` calls
    from such files.
* Fix invalid markdown in `unix-test-instructions.md`.

* Revert event source change
2020-10-10 01:54:53 -04:00
Ryan Lucia fd84485f8b
Fix link to wasm build instructions (#43229)
* Fix link to wasm build instructions

* Update docs/workflow/building/mono/README.md

Co-authored-by: Dan Moseley <danmose@microsoft.com>

Co-authored-by: Dan Moseley <danmose@microsoft.com>
2020-10-09 16:00:41 -05:00
Aleksey Kliger (λgeek) ba98761ddb
[docs] Clarify that mixed configuration doesn't work in wasm (#42682) 2020-09-28 18:13:13 +02:00
Tomáš Rylek bafb24c061
Update docs and comments to reflect the renames around build-test and runtest scripts (#42708)
* Move the script runtesttilstable.sh under src/tests

* Update most references to build-test / runtest in the runtime repo

With this change I can't find any remaining orphaned references to
the old script names except for a few superpmi-related scripts
I need to follow up on separately as I'm not too familiar with
their functionality.

Thanks

Tomas
2020-09-25 14:28:59 +02:00
Fan Yang 88274e39b7
Add a pointer to Android build doc and a pointer to Hello World sample (#42345)
* Update README.md

* Update docs/workflow/building/mono/README.md

Co-authored-by: Larry Ewing <lewing@microsoft.com>

* Update README.md

Resolve Egor's feedback

Co-authored-by: Larry Ewing <lewing@microsoft.com>
2020-09-17 11:13:14 -04:00
David Wrighton 0c36a9a209
Run PAL tests in CI (#42049)
Refactor the PAL test framework to be useable in our CI system, and enable it for testing

The existing PAL tests are problematic in a few ways for our CI.
1. They are large in terms of disk space used per test, this interferes with building them properly, especially as they are part of the product build, and not of the test build
2. While part of the product build, the option to build them was well hidden.
3. The tests are not related to our existing tests, and in particular are not driven from managed xunit wrappers.

The change here has 4 components
1. Reduce the volume of the binaries such that they can be passed from a product build to a test job effectively. This is done by merging all tests which are not strictly dependent on secondary libraries.
  - This was done via a tool which parsed and replaced all of the CMakeFiles.txt 
  - And then manual editing to remove all duplicate global symbols
2. The build flag for building the tests has been exposed as a first class option to build-runtime, as well as through the subset mechanism. As of this change, developers who wish to build the tests should use the clr.paltests subset to build the tests.
3. As the tests do not have normal xunit wrappers, but they *do* have a script which will generate xunit output, they cannot quite be run in the existing helix pathway. Add a separate path for launch the appropriate helix workitem as part of outerloop test runs.
4. A new issue exclusion mechanism has been built. Add exclusions by modifying src/coreclr/src/pal/tests/palsuite/issues.targets
  - There are a number of failures in the current test suite that should probably be investigated, but making meaningful changes to the tests should not be part of this change.
2020-09-16 12:55:59 -07:00
Alexander Köplinger e658ddbc68
Simplify webassembly targets (#41869)
Add a subset for compiling only the wasm runtime: `mono.wasmruntime`
This allows us to rebuild the wasm runtime without building the full libraries subset.

Updated documentation with new guidance.

Updated how we build the dotnet.timezones.blat.
2020-09-05 00:41:32 +02:00
Andy Gocke 347be9ce2a
Add docs link to editing-and-debugging (#41636)
We were missing a link to the Editing and Debugging doc from the main workflow doc.
2020-08-31 15:42:51 -07:00
Ryan Lucia cd2eed76e1
Update Mono building docs with wasm-specific advice (#41122) 2020-08-20 19:45:49 -04:00
Youssef Victor d14b50ae21
Fix trailing whitespaces (#40891)
* Trim trailing whitespaces

* Match raw with rendered

* Delete extra asterisks and |

* Update ELT Hooks - tail calls.md

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2020-08-19 17:29:01 -07:00
David Cantú 54fb5973a0
/p:Configuration must use "Release" instead of "release" (#40816)
I am not very familiar with Unix so I was not aware why I was having below error:
```
/home/jozky/runtime/.dotnet/sdk/5.0.100-preview.8.20362.3/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(379,5): error NETSDK1112: The runtime pack for Microsoft.NETCore.App.Runtime.browser-wasm was not downloaded. Try running a NuGet restore with the RuntimeIdentifier 'browser-wasm'. [/home/jozky/runtime/src/libraries/System.IO.FileSystem/tests/System.IO.FileSystem.Tests.csproj]
```

I tried running `dotnet restore --runtime browser-wasm` as suggested by the error but that didn't help.
The correct thing to do was to pass `Release` (with upper case R) to `Configuration` parameter.

cc @safern
2020-08-13 22:19:23 -07:00
Alexander Köplinger c6eac1f2d5
Cleanup old corefx/coreclr GitHub issue links (#40286)
Replace them with the current URL after the redirect.

Similar to https://github.com/dotnet/runtime/pull/2063.

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
2020-08-13 23:13:51 +02:00
Austin Wise 8e85874b8e
Update using-dotnet-cli.md (#40580)
Fixes "error NU1102: Unable to find package Microsoft.WindowsDesktop.App.Runtime.win-x64 with version (= 5.0.0-dev)"
2020-08-10 17:55:00 -05:00
Omair Majid 1ec6939fac
Support extra compiler flags during building (#39191)
Many Linux distributions like to use an extra set of compiler flags (via
`CFLAGS`, `CXXFLAGS` and `LDFLAGS`) to produce builds that are hardened
against vulnerabilities and exploits. The flags sometimes also enable
extra warnings to inform packagers about potential memory issues.

This pach adds support for that to dotnet/runtime.

The obvious method to make this work is to just export the `CFLAGS`,
`CXXFLAGS`, and `LDFLAGS` directly. This, however, enables those flags
during configure-time (aka `cmake` without `--build` too). That means
several cmake configure tests get executed with unexpected compiler
flags. These configure tests can then report incorrect results.

For example, https://bugzilla.redhat.com/show_bug.cgi?id=1712158
demonstrates an issue where the check for `strerror_r` in the runtime
comes to the wrong conclusion because `-Wall` is enabled and a variable
is unused.

A slightly longer fix is to support another set of environment
variables, and use them to set `CFLAGS`, `CXXFLAGS`, `LDFLAGS`, but only
for the invocation of `cmake --build`/`make`.

See #35727 for the complete details.

Fixes #35727
2020-08-10 15:43:39 +02:00
Key Kim 4ec3a25cfa
Fix typo in docs/workflow/building/libraries (#40600)
build command does not exist, it should be build.cmd
2020-08-09 20:40:09 -07:00
Key Kim 4a58c28b80
Update linux-requirements.md (#40576)
append -y option and add ``` around command code
2020-08-08 18:56:21 -07:00
Austin Wise 82ba676b70
Update using-dotnet-cli.md (#40504)
* Update using-dotnet-cli.md

Update the First Run section for .NET 5.

* more renames

* typo

Co-authored-by: danmosemsft <danmose@microsoft.com>
2020-08-07 16:50:22 -07:00
Oleksandr Tymoshenko 370aba46e7
Fix Docker cross-build command (#40433) 2020-08-05 21:58:39 -07:00
Viktor Hofer b7f809d7e3
Update docs for packaging and other nits (#40134)
* Update docs for packaging and other nits
2020-07-30 15:29:30 +02:00
Anton Firszov 3edfaadbe7
Minor fix in library build instruction (#40109) 2020-07-30 09:42:08 +02:00
Dan Moseley 87f0165599
Update visualstudio.md (#40047) 2020-07-28 14:33:36 -07:00
Viktor Hofer f6aca9ee46
Post #35606 cleanup (#39891)
* Post #35606 cleanup
2020-07-24 18:02:32 +02:00