Age | Commit message (Collapse) | Author | Files | Lines |
|
Fix optdata restore functionality (#11935)
Bring back optdata restore functionality following the move to 2.0
BuildTools and csproj-based CLI. Disable a harmless warning that broke
the Linux build when consuming PGO counts due to -Werr.
Fix #11796 for master
|
|
|
|
* Configure the build system to build a CoreCLR capable of loading a standalone GC
* Proto-implementation of dynamic GC loading
* Build the GC with the VM's CMakeLists when doing a non-standalone build of the GC
* [Local GC] Introduce a new feature define, FEATURE_STANDALONE_GC_ONLY, to be used by the CI to explicitly test local GC dynamic loading code paths
* Fix the FEATURE_STANDALONE_GC_ONLY build for unix linkers
* Rebase against master
* Code review feedback: use the existing Unix exports file
|
|
|
|
|
|
|
|
* Implement the EventPipe object model for providers and events.
* Plumb Runtime Events into EventPipe (#11145)
Plumb runtime ETW events into the EventPipe.
* Fix bug where all events except for SampleProfiler events were never enabled.
* Plumb EventPipeEventInstance through the EventPipe.
* Implement EventPipeFile and FastSerializer.
* Write event contents to the EventPipeFile.
* Only build EventPipe on Linux.
* Conditionally add a sentinel value marking event end.
* Send SampleProfiler events to the EventPipeFile.
* Fix provider ID printing to JSON file.
* Write the start date/time, timestamp, and clock frequency into the trace file.
* Support unloading of EventPipeProviders.
* Handle failure cases when we can't walk the stack or are shutting down.
* Fix a bug where we pass a null src pointer to memcpy.
|
|
Enable binding to CoreLib as NI image
|
|
This change enables build with clang 4.0 and fixes a bunch of new errors that
the stricter compiler was reporting.
|
|
* [ARM32] clang 3.9 as a default for ARM cross build
Use clang 3.9 as a default compiler for ARM cross build
* Both arm and armel will be built using clang 3.9 as a default
* ARM CI will use clang 3.9 as a default
* ARM pipieline build will use clang 3.9 as a default
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* [ARM32] Update docs describing clang-3.9 and ARM cross build
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* [ARM] Check minimum version requirement of clang for ARM cross build
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
|
|
|
|
* remove fedora 23
* Fedora rename
|
|
|
|
|
|
* Enable Portable RID support for Windows and OSX.
|
|
|
|
Add a new build switch, `ibcinstrument`, that adds `/Tuning` on the `crossgen`
command line when building System.Private.CoreLib and its peers. Automatically
consume IBC optdata during builds when these conditions are met:
1. `ibcinstrument` is *not* passed to the build,
2. optdata is available
3. ibcmerge is available
Note that `optdata` will not yet be restored with this change; once packages for
master are made available, a new package reference will still need to be added.
This PR attempts to unblock manually testing IBC, as well as surrounding
CI/infrastructure work.
To help produce an IBC-optimized build using manually generated profile data,
run the newly added `tests/scripts/optdata/bootstrap.py` script. It will
configure the build to consume IBC data from a path automatically, and print out
that path where profile data can be copied.
|
|
Fixes #7607
|
|
The bulk of this PR is a cherry-pick of commit fa02660 that shipped in
release/1.1.0, updating the build system support for PGO to support
consuming PGDs properly during release builds on Windows.
Also included are the following new changes:
* Skip restore of opdata if the requisite project.json is missing
* If the optdata package restore fails, fail the build.
* Add new build option: 'skiprestoreoptdata'
Note: This change doesn't by itself enable PGO in master yet, because
training data (optdata packages) for master don't exist on myget yet.
However, with these changes, the only step remaining to enable PGO
optimizations is to add a project.json referencing the correct optdata
package.
|
|
* Add argument to explicitly enable symbol stripping
* Refactor symbol package build
* Remove unnecessary native file distinctions
* Remove unnecessary WindowsSymbolFile step
|
|
|
|
refactor_packaging
|
|
|
|
|
|
code (#8866)
* [ARM32/Linux] Fix cross-architecture component build error: unused function comparing CONTEXT with T_CONTEXT.
- change build script: remove duplicate test build in cross-component build
|
|
|
|
|
|
platforms (#8976)
* Add way to build with FEATURE_STANDALONE_GC from build.sh
* Make CMake changes to build the GC 'PAL' as its own build target (to avoid -nostdinc).
In addition, introduce a "GC PAL" that provides an implementation of
GCToOSInterface on Unix-like platforms, for use with
FEATURE_STANDALONE_GC.
|
|
All RHEL 7.x versions are backwards compatible with each other. A .NET
Core build from 7.2 works fin on RHEL 7.3, for example. Treat this as a
general case and handle all 7.x versions the same.
This change only affects whether packages are built or not.
|
|
GNU which might not be installed on a minimal GNU/Linux installation.
Refs #6994 and #7025.
|
|
* Use x86 crossbuild for cross-architecture component on x64-linux
Fix build.sh and build system generator to use x86 cross-build system on x64-linux
- x86-host/ARM32-target cross-architecture component build on x64 linux
- use x86 root file system and cross buildtool
* Modify build.sh
- define new function: build_cross_arch_component
- fix typo
* Additional fix: build.sh
add usage description
- environment variable: CAC_ROOTFS_DIR
- argument: crosscomponent
|
|
* Use armel instead of arm-softfp for CoreCLR
- Update scripts for rootfs, build, build system generation and CI
- Update managed build project
- Rename rootfs directory
- Fix bug in rootfs script related to lldb package
lldb package only usable lldb-3.5-dev for jessie/arm-softfp
We cannot get lldb-3.6-dev or lldb-3.8-dev from jessie/arm-softfp repository
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Singed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Update ARM32 CI script
We don't need a patch anymore, because we fixed cmake file.
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
|
|
|
|
* Fix buildsystem for linux cross-architecture component build
* refactoring build.sh, bug fix and typo fix
* Update build.sh
|
|
First step to create nuget packages for ARM32/Linux
|
|
This change fixes a problem with incremental build on Unix. When the
version.cpp is generated by the build.sh as a dummy one with no real
version stamp in it, it is recreated every time the build.sh is run.
That means that build needs to rebuild that file and also re-link
all the components that include it.
This change tests the file presence and contents before actually
regenerating it.
|
|
|
|
|
|
The existing way of verifying shared library dependencies, used for
System.Globalization.Native.so, doesn't work on platforms that don't
have ldd or where ldd doesn't support the `-r` option.
This change makes the check happen on non-Alpine Linux only for now.
It also refactors the way the check is performed. Instead of doing it
post build in the build.sh, it is now performed as a postbuild phase
of the System.Globalization.Native target and it is also generalized
so that we can easily add such verification to other build targets.
The new verify-so.sh script is also used in corefx.
|
|
The current script does not configure tests when configureonly is
provided.
This commit revises 'build.sh' to configure tests even when configureonly
is provided.
This commit makes it possible to build tests (including related components)
via configuring the whole projects and running make inside that directory.
|
|
This change adds check of undefined dependencies of the System.Globalization.Native.so
to the build.sh. The recent change that made the ICU APIs resolving driven by the
shared library itself creates a potential for someone adding usage of an ICU API that
is not defined in the icushim.h.
With this change, such problem will be caught during the build and cause it to fail.
|
|
|
|
* Add PGO GENPROFILE support to coreclr and clrjit
Update the cmake build system to enable support for Profile Guided
Optimization (PGO) on Windows, and enable this feature for two target
binaries (coreclr and clrjit).
With this change, toggle between instrumented and profile-optimized
settings for target binaries by passing pgoinstrument argument to the build.cmd
Assume profile-optimized mode by default. Fall back to regular non-PGO
optimized builds if profile data is not available.
|
|
|
|
Add fedora24 native packages
|
|
* Use hash instead of which in build.sh
* Use hash instead of which in init-tools.sh.
* Use hash instead of which in gen-buildsys-clang.sh.
|
|
|
|
|
|
Can be found e.g. in Debian Sid.
|
|
Fix ConfigureOnly option in build.sh
|