zuiderkwast/nanbox

ARM (Raspberry Pi) results

pqnelson opened this issue · 0 comments

I just wanted to let you know, I tested this on a Raspberry Pi 4, and it appears to work with GCC, Clang, and TCC. They all end up having NANBOX_32 and NANBOX_UNIX both defined to 1 (I added some code to print out the values of these various macro constants at the beginning of main() in test.c).

I'm going to try to get the 64-bit Raspbian OS soon-ish, I'll add results for that OS if/when I get around to it.

GCC Results

alex@raspberrypi:~/src/nanbox $ gcc --version
gcc (Raspbian 10.2.1-6+rpi1) 10.2.1 20210110
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
alex@raspberrypi:~/src/nanbox $ gcc -std=c99 -Wall -pedantic -o gcc-test test.c -lm
alex@raspberrypi:~/src/nanbox $ ./gcc-test
NANBOX_32 = 1
NANBOX_UNIX = 1
alex@raspberrypi:~/src/nanbox $

Clang Results

alex@raspberrypi:~/src/nanbox $ clang --version
Raspbian clang version 11.0.1-2+rpi1
Target: armv6k-unknown-linux-gnueabihf
Thread model: posix
InstalledDir: /usr/bin
alex@raspberrypi:~/src/nanbox $ clang -std=c99 -Wall -pedantic -o clang-test test.c -lm
alex@raspberrypi:~/src/nanbox $ ./clang-test
NANBOX_32 = 1
NANBOX_UNIX = 1
alex@raspberrypi:~/src/nanbox $ 

TCC Results

alex@raspberrypi:~/src/nanbox $ tcc --version
tcc version 0.9.27 (ARM Hard Float Linux)
alex@raspberrypi:~/src/nanbox $ tcc -std=c99 -Wall -pedantic -o tcc-test test.c -lm
alex@raspberrypi:~/src/nanbox $ ./tcc-test
NANBOX_32 = 1
NANBOX_UNIX = 1
alex@raspberrypi:~/src/nanbox $ 

CPU Information

The cpuinfo:

alex@raspberrypi:~/src/nanbox $ cat /proc/cpuinfo
processor	: 0
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

processor	: 1
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

processor	: 2
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

processor	: 3
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

Hardware	: BCM2835
Revision	: c03114
Serial		: 1000000053216225
Model		: Raspberry Pi 4 Model B Rev 1.4
alex@raspberrypi:~/src/nanbox $ lscpu
Architecture:                    aarch64
Byte Order:                      Little Endian
CPU(s):                          4
On-line CPU(s) list:             0-3
Thread(s) per core:              1
Core(s) per socket:              4
Socket(s):                       1
Vendor ID:                       ARM
Model:                           3
Model name:                      Cortex-A72
Stepping:                        r0p3
CPU max MHz:                     1800.0000
CPU min MHz:                     600.0000
BogoMIPS:                        108.00
L1d cache:                       128 KiB
L1i cache:                       192 KiB
L2 cache:                        1 MiB
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Not affected
Vulnerability Retbleed:          Not affected
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
Vulnerability Spectre v2:        Vulnerable
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fp asimd evtstrm crc32 cpuid