Age | Commit message (Collapse) | Author |
|
- the bug occurred when we jumped into __tls_get_addr,
it overwrites our LR register.
Signed-off-by: Petr Bred <bredpetr@gmail.com>
|
|
|
|
|
|
Matches what we do in CoreCLR. The crashes on release build are impossible to debug without this.
|
|
|
|
with unix envirtonments. (#4760)
|
|
|
|
Merge nmirror to master
|
|
virtual dispatch work, so I am removing it.
[tfs-changeset: 1678101]
|
|
Merge nmirror to master
|
|
through FuncEval.
[tfs-changeset: 1678023]
|
|
|
|
|
|
FuncEval.
[tfs-changeset: 1677518]
|
|
Also enabled cross compilation of x86 binaries on x64 host.
Ubuntu Dockerfiles:
<details>
<summary><b><ins>Baseline: x64 build on x64 host</ins></b></summary>
```dockerfile
FROM ubuntu
RUN cat /etc/*-release
RUN apt-get update
RUN apt-get install -y \
autoconf bash clang cmake gcc libtool curl \
libunwind-dev llvm make openssl lldb git uuid-dev
RUN git clone https://github.com/dotnet/corert -b master --single-branch
WORKDIR /corert
RUN ./build.sh # or ./build.sh x64
```
</details>
<details>
<summary><b><ins>PR: x86 build on x86 host</ins></b></summary>
```dockerfile
FROM i386/ubuntu
RUN cat /etc/*-release
RUN apt-get update
RUN apt-get install -y \
bash clang cmake gcc libtool curl \
libunwind-dev llvm make openssl lldb git uuid-dev
RUN git clone https://github.com/am11/corert -b linux-x86 --single-branch
WORKDIR /corert
RUN ./build.sh x86
```
</details>
<details>
<summary><b><ins>PR: x86 build on x64 host</ins></b></summary>
```dockerfile
FROM ubuntu
RUN cat /etc/*-release
RUN apt-get update
RUN apt-get install -y \
bash clang cmake gcc libtool curl \
libunwind-dev llvm make openssl lldb git uuid-dev \
g++-multilib
RUN git clone https://github.com/am11/corert -b linux-x86 --single-branch
WORKDIR /corert
RUN ./build.sh x86
```
</details>
|
|
|
|
* Add placeholder build option for WebAssembly
* Add Emscripten build commands
* Use Nmake in place of Make
|
|
|
|
|
|
|
|
|
|
|
|
This change adds support for Server GC.
To enable the Server GC for an application, the RH_UseServerGC environment variable (which is already supported by the runtime) should be set to 1.
|
|
Everywhere in the native code except for two places, we use
`_TARGET_ARM_` as a define to identify compilation for ARM32.
But at those two places, we use `TARGET_ARM`. This is incorrect since
`TARGET_ARM` is not defined anywhere for CoreRT builds.
This change replaces those two usages by the `_TARGET_ARM_`.
|
|
|
|
|
|
In ProjectN, the latest change of PInvokeTransitionFrame specific for
USE_PORTABLE_HELPERS breaks the build. So I am fixing it by changing it
so that the change is for CoreRT only.
|
|
This change, produced by JanV, fixes the official ProjectN build break on ARM caused by GIT integration CS# 1674402. I have locally verified that the change indeed fixes the build break and I ran a small private ToF run on ARM to validate basic runtime functionality.
Thanks
Tomas
[tfs-changeset: 1674685]
|
|
|
|
|
|
Merge nmirror to master
|
|
|
|
[tfs-changeset: 1673884]
|
|
instantiating unboxing stubs.
The implementation uses a general purpose infrastructure that can associate custom data to methods with unwind info, given the fact that unwind info lookups are very fast.
Similar to GC info and EH info, this implementation now provides a way to associate any custom data to methods, by adding a flag and a reloc to the data in the method's unwind info.
The custom data that can be attached to methods begin with a flag (indicating what data follows), followed by data.
Right now, the only custom data we have for methods are unboxing stub target pointers.
The dependency analysis models this custom data using a new node type: MethodAssociatedDataNode.
The custom data (when it exists) can be be retrieved using a new API on ICodeManager.
The changes also include all the necessary plumbing to link custom data nodes symbols for PX (given that it's UTC that emits the unwind info)
[tfs-changeset: 1673664]
|
|
Merge nmirror to master
|
|
[tfs-changeset: 1672937]
|
|
The growable function tables do not exist on Windows 7. Fixes #4401.
|
|
|
|
[tfs-changeset: 1672347]
|
|
enable the RhGetCodeTarget API:
1) Stubs are still grouped, but by section now. Linker will merge/fold/sort the unboxing stubs by section name.
2) All unboxing stubs are delimited by __unbox_a and __unbox_z symbols
3) __unbox_a and __unbox_z works on all platforms (tested on ProjectN (no regressions verification), ProjectX single and multi-file, Windows CoreRT, Unbuntu CoreRT, and OSX CoreRT)
4) Implementation uses a registration mechanism for unboxing stubs regions, and is multi-file ready for CoreRT (uses a linked list of stub regions)
5) Deleting the R2R section of unboxing stubs since it doesn't work on non-windows. Using extern "C" variables instead.
6) Removing the module enumeration API exposed by the TypeLoaderCallbacks (no longer needed)
[tfs-changeset: 1672333]
|
|
Merge master to nmirror
|
|
the last error value . This is done by saving the last error value (using GetLastError) before calling GarbageCollect and then restoring it (using SetLastError). Therefore, re-enabling the tests that were disabled for GC runs in response of Bug 477586 and 477587. Changing StressGc method to have a single return point.
[tfs-changeset: 1671927]
|
|
|
|
Fix #4374
|
|
[tfs-changeset: 1671610]
|
|
Sergiy mentioned. The problem was that the thread structure was not properly initialized for the special GC threads in server GC.
Seeing that the threads in server GC start out by calling "ClrFlsSetThreadType (ThreadType_GC)", I made that call do the required initialization by adding appropriate macro definitions and declarations to gcenv.h and an implementation to gcrhenv.cpp.
I also mplemented IsGCSpecialThread for background GC by testing the flag on the thread, as well as IsGCThread.
[tfs-changeset: 1671185]
|
|
|
|
Merge nmirror to master
|
|
[tfs-changeset: 1670378]
|
|
|