android-native-tools

LLVM toolchain for .NET for Android

MIT License

Stars
5
Committers
7

Bot releases are hidden (Show)

android-native-tools - Enable UPX compression for Windows binaries

Published by grendello about 2 years ago

Compress Windows LLVM binaries with UPX in order to decrease our distribution package size.

android-native-tools - Back to LLVM 13.0.1

Published by grendello over 2 years ago

The recent bump to LLVM 14 is causing problems with the Mono AOT compiler, so for the time being we're going back to 13.0.1.
The only difference between this release and L_13.0.1-4.0.1 is that we now include Windows PDB files in the archive.

android-native-tools - Bump to LLVM 14.0.1 + include Windows PDB files

Published by grendello over 2 years ago

Upgrades the LLVM version to the just-released 14.0.1 version (changes) and enables creating Windows PDB files for all the binaries.

android-native-tools - Add llc to the toolchain

Published by grendello over 2 years ago

The toolchain now includes llc (the LLVM IR to object file/assembler compiler) which will eventually be used by Xamarin.Android.

android-native-tools - Testing phase of llvm-based mingw toolchain

Published by grendello over 2 years ago

This release is created from the llvm-mingw branch (PR) which at some point will be merged into main but for now it remains in a separate branch. This release is purely for Xamarin.Android test purposes, it should not be used for anything else at this point.

android-native-tools - Drop GNU Binutils entirely

Published by grendello over 2 years ago

We've decided to use only LLVM for all the tools, thus replacing the gold linker from GNU Binutils with lld from LLVM.

android-native-tools - First release of LLVM-based toolchain

Published by grendello over 2 years ago

The toolchain uses llvm-mc, llvm-strip/objdump from LLVM and the gold linker from Binutils. It also contains a gas wrapper around llvm-mc so that Mono/dotnet AOT can work without any changes.

android-native-tools - Fix ARM32 builds

Published by grendello over 2 years ago

ARM32 builds need to target ARMv7-a

android-native-tools - Fixes for ARM32 and Windows wrapper scripts

Published by grendello over 2 years ago

  • ARM32 should accept Thumb instructions now
  • Windows wrapper scripts (.cmd) quote their paths
android-native-tools - A handful of fixes for Windows

Published by grendello over 2 years ago

Fix process creation on Windows

android-native-tools - Bump to Binutils 2.38 + wrapper fixes

Published by grendello over 2 years ago

Use Binutils 2.38 and fix a handful of issues with the GAS wrapper:

  • Use correct triple for x86_64
  • Correctly map -mfpu=vfp3 for ARM
android-native-tools - Fix a buglet in one of the wrapper scripts

Published by grendello over 2 years ago

Add a missing variable to the llvm-strip wrapper script

android-native-tools - A handful of changes, runtime and packaging

Published by grendello over 2 years ago

* Don't use symlinks on Unix, use wrapper scripts instead
* Don't determine target architecture of the `as` wrapper by looking
  at the process name.  Instead, pass `@gas-arch=` as the very first
  parameter to the wrapper, on all platforms.
android-native-tools - Fix a handful of buglets found since beta1

Published by grendello over 2 years ago

Add undocumented GAS option

  • -mfpu=vfp3 is an undocumented alias for -mfpu=vfpv3, but since it's used by Mono/dotnet AOT, we need to support it.

Code cleanup

  • Improve build scripts so that they work even if not invoked from their own directory
  • Remove some debug info
  • Do not change directory to the one where assembler code resides when invoking llvm-mc, this breaks Mono/dotnet AOT
  • Make a copy of executable path string passed in argv[0] to llvm-mc as it is freed by std::string when it goes out of scope and we get garbage passed to llvm-mc
android-native-tools - Switch to LLVM assembler, strip

Published by grendello over 2 years ago

Partially replace GNU Binutils with LLVM tools (assembler and strip) while keeping the GNU linker (gold) for now.

android-native-tools - Downgrade to 2.35.2

Published by grendello about 3 years ago

Binutils 2.36 introduced code that breaks as (and possibly others) when the path with the source files contains special characters (e.g. テスト). Downgrade to one version before that in order to avoid breakage for Xamarin.Android users.

android-native-tools - 2.37-XA.1

Published by grendello over 3 years ago

Bump to Binutils 2.37

android-native-tools - First release

Published by grendello over 3 years ago

Supports building fat binaries for Linux (x86_64), macOS (x86_64 and arm64) and Windows (x86_64)