Skip to content

Hello world failed to AOT compile on "mono:latest" #87

Open
@rdebath

Description

EDIT: See also: mono/mono#21515

I tried to compile a trivial program then process it using LLVM aot.
The error looks like this: mono/mono#18779
and this: dotnet/macios#7833

The non-llvm version of AOT works.

$ docker run --rm -it mono:latest
root@58880953e546:/# cd /tmp
root@58880953e546:/tmp# ls
root@58880953e546:/tmp# mono --version
Mono JIT compiler version 6.12.0.107 (tarball Thu Dec 10 05:28:17 UTC 2020)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none
        Misc:          softdebug
        Interpreter:   yes
        LLVM:          yes(610)
        Suspend:       hybrid
        GC:            sgen (concurrent by default)
root@58880953e546:/tmp# cat > hello.cs
// Hello World! program
namespace HelloWorld
{
    class Hello {
        static void Main(string[] args)
        {
            System.Console.WriteLine("Hello World!");
        }
    }
}
root@58880953e546:/tmp# csc hello.cs
Microsoft (R) Visual C# Compiler version 3.6.0-4.20224.5 (ec77c100)
Copyright (C) Microsoft Corporation. All rights reserved.

root@58880953e546:/tmp# mono --aot=mcpu=generic --llvm -O=all,-shared hello.exe
Mono Ahead of Time compiler - compiling assembly /tmp/hello.exe
AOTID FA76F661-DF92-D31D-9484-23A274DD7DAC
Executing opt: "/usr/lib/mono/llvm/bin/opt" -f -O2 -disable-tail-calls -place-safepoints -spp-all-backedges -o "mono_aot_sHrVqP/temp.opt.bc" "mono_aot_sHrVqP/temp.bc"
Executing llc: "/usr/lib/mono/llvm/bin/llc"  -march=x86-64 -mcpu=generic -enable-implicit-null-checks -disable-fault-maps -asm-verbose=false -disable-gnu-eh-frame -enable-mono-eh-frame -mono-eh-frame-symbol=mono_aot_hello_eh_frame -disable-tail-calls -no-x86-call-frame-opt -relocation-model=pic -filetype=obj -o "mono_aot_sHrVqP/temp-llvm.o" "mono_aot_sHrVqP/temp.opt.bc"
llc: Unknown command line argument '-disable-fault-maps'.  Try: '/usr/lib/mono/llvm/bin/llc -help'
llc: Did you mean '-disable-tail-calls'?
AOT of image hello.exe failed.
root@58880953e546:/tmp#

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions