Hi Adam,

  Here is the complete .go program.
package main

import "fmt"

func main() {
    fmt.Println("hello world from go programming language")
}


And to answer if it is 32 or 64-bit binary, please see below output of file utility.

hello: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, Go BuildID=gC9PK9WBo_ghl7J9XKZw/EXIqZbziicwPf544V9T1/_kdOAvUVOHlv7C5XBtmH/uZiDJIL5HwkKBm2DLtFK, with debug_info, not stripped


On Thu, Nov 14, 2019 at 4:02 AM Adam Lackorzynski <adam@os.inf.tu-dresden.de> wrote:
Hi,

the case for cmpxchg64 is currently not handled, that's why it faults.
Could you make me available the go program or at least the code around
the call to __kuser_cmpxchg64?


Adam

On Wed Nov 13, 2019 at 08:45:22 +0530, Sateesh K wrote:
> Hi,
>   My setup is as follows:
>   l4linux 4.19.0-l4
>   Fiasco.OC
>   Raspberry Pi 3 Model B
>
>   I am running a helloworld.go program which is causing the following stack
> trace.
>
> (gdb) bt full
> #0  0xffff0f60 in ?? ()
> No symbol table info available.
> #1  0x0001143c in kernelCAS64 ()
>     at /usr/local/go/src/sync/atomic/asm_linux_arm.s:112
> No locals.
> #2  0x0001103c in sync/atomic.loadUint64 (addr=0x10442080, val=48)
>     at /usr/local/go/src/sync/atomic/64bit_arm.go:10
> No locals.
> #3  0x00071f44 in internal/poll.(*fdMutex).rwlock (mu=0x10442080,
> read=false,
>     ~r1=160) at /usr/local/go/src/internal/poll/fd_mutex.go:130
>         mutexBit.lo = 4
>         mutexMask.hi = 2147481600
>         mutexMask.lo = 0
>         mutexSema = 0x1044208c
>         mutexWait.hi = 2048
>         mutexWait.lo = 0
> #4  0x00072314 in internal/poll.(*FD).writeLock (fd=0x10442080, ~r0=...)
>     at /usr/local/go/src/internal/poll/fd_mutex.go:237
> No locals.
> #5  0x00072a94 in internal/poll.(*FD).Write (fd=0x10442080, p=..., ~r1=0,
>     ~r2=...) at /usr/local/go/src/internal/poll/fd_unix.go:243
>         n = -1212420096
>         nn = 118
> --Type <RET> for more, q to quit, c to continue without paging--c
> #6  0x00073958 in os.(*File).write (b=..., err=..., f=0x1040c0f0, n=2729821
> 44) at /usr/local/go/src/os/file_unix.go:243
> No locals.
> #7  0x00072ffc in os.(*File).Write (b=..., err=..., f=0x1040c0f0, n=0) at
> /usr/local/go/src/os/file.go:144
>         err.data = 0x12c0e8 <fmt.ppFree> ""
>         err.itab = 0x8b7a8 <fmt.Fprintln+20> "\004"
>         ~r2.data = 0x10456014 ""
>         ~r2.itab = 0x0
> #8  0x0008b7fc in fmt.Fprintln (a=..., err=..., n=233960, w=...) at
> /usr/local/go/src/fmt/print.go:255
>         p = 0x10456080
> #9  0x0008b888 in fmt.Println (a=..., err=..., n=0) at
> /usr/local/go/src/fmt/print.go:264
> No locals.
> #10 0x000916c0 in main.main () at /home/pi/hello.go:6
> No locals.
>
>  On further analysis, I find that segmentation fault is at
>
> __kuser_cmpxchg64.
>
> I have enabled CONFIG_KUSER_HELPERS=y when building the linux kernel.
>
> Any hint please on how to proceed.
>