Created PR to detect host CPU type: 
https://github.com/apache/incubator-nuttx/pull/5374 
<https://github.com/apache/incubator-nuttx/pull/5374>

/Piet


> Am 29.01.2022 um 19:12 schrieb Peter Kalbus <p...@mailbox.org>:
> 
> Hi again,
> 
> just as an extension. On the same M1, I’ve Ubuntu ARM64 running using 
> Parallels VM.
> 
> Same issue: Host CPU Type detected as „x86_64“ and compilation stops at same 
> file —> see below.
> 
> Issue seems to be not specific to MacOS M1, but rather generic to ARM64 host 
> systems.
> 
> /Piet
> 
> 
> —————
> 
> 
> AR (create): libdrivers.a   bchlib_setup.o bchlib_teardown.o bchlib_read.o 
> bchlib_write.o bchlib_cache.o bchlib_sem.o bchdev_register.o 
> bchdev_unregister.o bchdev_driver.o ioe_dummy.o gpio.o gpio_lower_half.o 
> loop.o losetup.o pipe.o fifo.o pipe_common.o serial.o serial_io.o vsyslog.o 
> syslog_stream.o syslog_channel.o syslog_putc.o syslog_write.o syslog_force.o 
> syslog_flush.o syslog_initialize.o syslog_device.o oneshot.o arch_alarm.o 
> hid_parser.o dev_null.o dev_zero.o ramdisk.o mkrd.o
> make[1]: Leaving directory '/home/piet/Projects/NuttX/ptka/nuttx/drivers'
> IN: drivers/libdrivers.a -> staging/libdrivers.a
> make[1]: Entering directory '/home/piet/Projects/NuttX/ptka/nuttx/boards'
> CC:  boardctl.c
> AR (create): libboards.a   dummy.o boardctl.o 
> make[1]: Leaving directory '/home/piet/Projects/NuttX/ptka/nuttx/boards'
> IN: boards/libboards.a -> staging/libboards.a
> make[1]: Entering directory '/home/piet/Projects/NuttX/ptka/nuttx/libs/libc'
> AS:  machine/sim/arch_setjmp_arm.S
> machine/sim/arch_setjmp_arm.S: Assembler messages:
> machine/sim/arch_setjmp_arm.S:39: Error: unknown pseudo-op: `.syntax'
> machine/sim/arch_setjmp_arm.S:43: Error: operand 1 must be an integer 
> register -- `mov ip,r0'
> machine/sim/arch_setjmp_arm.S:44: Error: unknown mnemonic `stmia' -- `stmia 
> ip!,{v1,v2,v3,v4,v5,v6,sl,fp}'
> machine/sim/arch_setjmp_arm.S:45: Error: operand 1 must be an integer 
> register -- `mov r2,sp'
> machine/sim/arch_setjmp_arm.S:46: Error: unknown mnemonic `stmia' -- `stmia 
> ip!,{r2,lr}'
> machine/sim/arch_setjmp_arm.S:47: Error: operand 1 must be an integer 
> register -- `mov r0,#0'
> machine/sim/arch_setjmp_arm.S:75: Error: unknown mnemonic `bx' -- `bx lr'
> machine/sim/arch_setjmp_arm.S:77: Error: unknown pseudo-op: `.syntax'
> machine/sim/arch_setjmp_arm.S:81: Error: operand 1 must be an integer 
> register -- `mov ip,r0'
> machine/sim/arch_setjmp_arm.S:82: Error: operand 1 must be an SVE predicate 
> register -- `movs r0,r1'
> machine/sim/arch_setjmp_arm.S:83: Error: unknown mnemonic `moveq' -- `moveq 
> r0,#1'
> machine/sim/arch_setjmp_arm.S:84: Error: unknown mnemonic `ldmia' -- `ldmia 
> ip!,{v1,v2,v3,v4,v5,v6,sl,fp}'
> machine/sim/arch_setjmp_arm.S:85: Error: unknown mnemonic `ldmia' -- `ldmia 
> ip!,{r2,lr}'
> machine/sim/arch_setjmp_arm.S:103: Error: unknown mnemonic `bx' -- `bx lr'
> machine/sim/arch_setjmp_arm.S:86: Error: undefined symbol r2 used as an 
> immediate value
> make[1]: *** [Makefile:130: bin/arch_setjmp_arm.o] Error 1
> make[1]: Leaving directory '/home/piet/Projects/NuttX/ptka/nuttx/libs/libc'
> make: *** [tools/LibTargets.mk:168: libs/libc/libc.a] Error 2
> 
> ————
> 
> 
>> Am 29.01.2022 um 19:00 schrieb Peter Kalbus <p...@mailbox.org.INVALID 
>> <mailto:p...@mailbox.org.INVALID>>:
>> 
>> Config and log from my M1:
>> 
>> ——————————————
>> 
>> #
>> # This file is autogenerated: PLEASE DO NOT EDIT IT.
>> #
>> # You can use "make menuconfig" to make any modifications to the installed 
>> .config file.
>> # You can then do "make savedefconfig" to generate a new defconfig file that 
>> includes your
>> # modifications.
>> #
>> # CONFIG_NSH_CMDOPT_HEXDUMP is not set
>> CONFIG_ARCH="sim"
>> CONFIG_ARCH_BOARD="sim"
>> CONFIG_ARCH_BOARD_SIM=y
>> CONFIG_ARCH_CHIP="sim"
>> CONFIG_ARCH_SIM=y
>> CONFIG_BOARDCTL_APP_SYMTAB=y
>> CONFIG_BOARDCTL_POWEROFF=y
>> CONFIG_BOARD_LOOPSPERMSEC=0
>> CONFIG_BOOT_RUNFROMEXTSRAM=y
>> CONFIG_BUILTIN=y
>> CONFIG_DEBUG_SYMBOLS=y
>> CONFIG_DEV_GPIO=y
>> CONFIG_DEV_LOOP=y
>> CONFIG_DEV_ZERO=y
>> CONFIG_EXAMPLES_GPIO=y
>> CONFIG_EXAMPLES_HELLO=y
>> CONFIG_FAT_LCNAMES=y
>> CONFIG_FAT_LFN=y
>> CONFIG_FSUTILS_PASSWD=y
>> CONFIG_FSUTILS_PASSWD_READONLY=y
>> CONFIG_FS_BINFS=y
>> CONFIG_FS_FAT=y
>> CONFIG_FS_PROCFS=y
>> CONFIG_FS_RAMMAP=y
>> CONFIG_FS_ROMFS=y
>> CONFIG_GPIO_LOWER_HALF=y
>> CONFIG_HOST_ARM=y
>> CONFIG_HOST_MACOS=y
>> CONFIG_IDLETHREAD_STACKSIZE=4096
>> CONFIG_INIT_ENTRYPOINT="nsh_main"
>> CONFIG_IOEXPANDER=y
>> CONFIG_IOEXPANDER_DUMMY=y
>> CONFIG_LIBC_ENVPATH=y
>> CONFIG_LIBC_EXECFUNCS=y
>> CONFIG_LIBC_LOCALE=y
>> CONFIG_LIBC_LOCALE_CATALOG=y
>> CONFIG_LIBC_LOCALE_GETTEXT=y
>> CONFIG_NSH_ARCHINIT=y
>> CONFIG_NSH_ARCHROMFS=y
>> CONFIG_NSH_BUILTIN_APPS=y
>> CONFIG_NSH_CONSOLE_LOGIN=y
>> CONFIG_NSH_FATDEVNO=2
>> CONFIG_NSH_FILE_APPS=y
>> CONFIG_NSH_MOTD=y
>> CONFIG_NSH_MOTD_STRING="MOTD: username=admin password=Administrator"
>> CONFIG_NSH_READLINE=y
>> CONFIG_NSH_ROMFSDEVNO=1
>> CONFIG_NSH_ROMFSETC=y
>> CONFIG_PATH_INITIAL="/bin"
>> CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=2048
>> CONFIG_PSEUDOFS_ATTRIBUTES=y
>> CONFIG_PSEUDOFS_SOFTLINKS=y
>> CONFIG_READLINE_TABCOMPLETION=y
>> CONFIG_SCHED_HAVE_PARENT=y
>> CONFIG_SCHED_HPWORK=y
>> CONFIG_SCHED_ONEXIT=y
>> CONFIG_SCHED_WAITPID=y
>> CONFIG_SDCLONE_DISABLE=y
>> CONFIG_START_MONTH=6
>> CONFIG_START_YEAR=2008
>> CONFIG_SYSTEM_NSH=y
>> 
>> ——————————————
>> 
>> for dir in  /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps 
>> sched drivers boards arch/sim/src fs binfmt libs/libc mm ; do \
>>          /Applications/Xcode.app/Contents/Developer/usr/bin/make -C $dir 
>> EXTRAFLAGS="-D__KERNEL__ " depend || exit; \
>>     done
>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C 
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/builtin depend 
>> APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>> make[2]: Nothing to be done for `depend'.
>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C 
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/examples/gpio 
>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>> make[2]: Nothing to be done for `depend'.
>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C 
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/examples/hello 
>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>> make[2]: Nothing to be done for `depend'.
>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C 
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/fsutils/mkfatfs 
>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>> make[2]: Nothing to be done for `depend'.
>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C 
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/fsutils/passwd 
>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>> make[2]: Nothing to be done for `depend'.
>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C 
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/nshlib depend 
>> APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>> make[2]: Nothing to be done for `depend'.
>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C 
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/platform depend 
>> APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>> make[2]: Nothing to be done for `depend'.
>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C 
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/system/nsh 
>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>> make[2]: Nothing to be done for `depend'.
>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C 
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/system/readline 
>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>> make[2]: Nothing to be done for `depend'.
>> touch .depend
>> make[1]: Nothing to be done for `depend'.
>> make[1]: Nothing to be done for `depend'.
>> make[1]: Nothing to be done for `depend'.
>> make[1]: Nothing to be done for `depend'.
>> make[1]: Nothing to be done for `depend'.
>> make[1]: Nothing to be done for `depend'.
>> make[1]: Nothing to be done for `depend'.
>> make[1]: Nothing to be done for `depend'.
>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C sched libsched.a 
>> EXTRAFLAGS="-D__KERNEL__ "
>> make[1]: `libsched.a' is up to date.
>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C drivers 
>> libdrivers.a EXTRAFLAGS="-D__KERNEL__ "
>> make[1]: `libdrivers.a' is up to date.
>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C boards 
>> libboards.a EXTRAFLAGS="-D__KERNEL__ "
>> make[1]: `libboards.a' is up to date.
>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C libs/libc libc.a 
>> EXTRAFLAGS=""
>> AS:  machine/sim/arch_setjmp_arm.S
>> cc -c -Wall -Wstrict-prototypes -Wshadow -Wundef -g -fno-builtin 
>> -fvisibility=hidden -fno-common -isystem 
>> "/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/nuttx/include" 
>> -D__NuttX__ -U_AIX -U_WIN32 -U__APPLE__ -U__FreeBSD__ -U__NetBSD__ 
>> -U__linux__ -U__sun__ -U__unix__ 
>> -U__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__  -pipe -D__ASSEMBLY__  
>> machine/sim/arch_setjmp_arm.S  -o  bin/arch_setjmp_arm.o
>> machine/sim/arch_setjmp_arm.S:38:1: error: unknown directive
>> .syntax unified
>> ^
>> machine/sim/arch_setjmp_arm.S:40:1: error: unknown directive
>> .type setjmp,%function
>> ^
>> machine/sim/arch_setjmp_arm.S:42:6: error: invalid operand for instruction
>> mov ip,r0
>>     ^
>> machine/sim/arch_setjmp_arm.S:43:31: error: vector register expected
>> stmia ip!,{v1,v2,v3,v4,v5,v6,sl,fp}
>>                              ^
>> machine/sim/arch_setjmp_arm.S:44:6: error: invalid operand for instruction
>> mov r2,sp
>>     ^
>> machine/sim/arch_setjmp_arm.S:45:13: error: vector register expected
>> stmia ip!,{r2,lr}
>>            ^
>> machine/sim/arch_setjmp_arm.S:46:6: error: invalid operand for instruction
>> mov r0,#0
>>     ^
>> machine/sim/arch_setjmp_arm.S:48:4: error: unrecognized instruction 
>> mnemonic, did you mean: b, bcax, bl, br, sb, tbx?
>> 3: bx lr
>>   ^
>> machine/sim/arch_setjmp_arm.S:50:1: error: unknown directive
>> .syntax unified
>> ^
>> machine/sim/arch_setjmp_arm.S:52:1: error: unknown directive
>> .type longjmp,%function
>> ^
>> machine/sim/arch_setjmp_arm.S:54:6: error: invalid operand for instruction
>> mov ip,r0
>>     ^
>> machine/sim/arch_setjmp_arm.S:55:7: error: invalid operand for instruction
>> movs r0,r1
>>      ^
>> machine/sim/arch_setjmp_arm.S:56:2: error: unrecognized instruction 
>> mnemonic, did you mean: mov?
>> moveq r0,#1
>> ^
>> machine/sim/arch_setjmp_arm.S:57:32: error: vector register expected
>> ldmia ip!, {v1,v2,v3,v4,v5,v6,sl,fp}
>>                               ^
>> machine/sim/arch_setjmp_arm.S:58:14: error: vector register expected
>> ldmia ip!, {r2,lr}
>>             ^
>> machine/sim/arch_setjmp_arm.S:59:9: error: expected compatible register or 
>> logical immediate
>> mov sp,r2
>>        ^
>> machine/sim/arch_setjmp_arm.S:61:4: error: unrecognized instruction 
>> mnemonic, did you mean: b, bcax, bl, br, sb, tbx?
>> 3: bx lr
>>   ^
>> make[1]: *** [bin/arch_setjmp_arm.o] Error 1
>> make: *** [libs/libc/libc.a] Error 2
>> 
>> 
>> 
>>> Am 29.01.2022 um 18:40 schrieb Peter Kalbus <p...@mailbox.org.INVALID 
>>> <mailto:p...@mailbox.org.INVALID>>:
>>> 
>>> Hi,
>>> 
>>> I’m using NuttX on a M1 MacBook Air since a couple of months. 
>>> I’ve no issues to get NuttX compiled for my RP2040 based targets.
>>> 
>>> But I can confirm, that the Sim configuration sim:nsh not working.
>>> 
>>> Currently, I see there are two issues:
>>> 
>>>     /1/ M1 „Host CPU Type“ is detected as x86_64, but not as „arm“
>>>             Workarround for this is, to set it manually in the configuration
>>> 
>>>     /2/ At least the following files are not compilable
>>>             arch/sim/src/sim/up_vfork_arm.S 
>>> <https://github.com/ptka/incubator-nuttx#diff-fd079323b0636ac4012f50afe8c5555656d7a760b0429f46188919fe7807f8a5
>>>  
>>> <https://github.com/ptka/incubator-nuttx#diff-fd079323b0636ac4012f50afe8c5555656d7a760b0429f46188919fe7807f8a5>>
>>>             libs/libc/machine/sim/arch_setjmp_arm.S 
>>> <https://github.com/ptka/incubator-nuttx#diff-cffded10274b4845aae8c75bd91550d140214585ea17d47f2cf01dd021a16abe
>>>  
>>> <https://github.com/ptka/incubator-nuttx#diff-cffded10274b4845aae8c75bd91550d140214585ea17d47f2cf01dd021a16abe>>
>>>             libs/libc/stdio/lib_libvsprintf.c 
>>> <https://github.com/ptka/incubator-nuttx#diff-befc8e04ddb3722f024f65ffd7648aac1cb24846d2b80fff6328e3cb5862220f
>>>  
>>> <https://github.com/ptka/incubator-nuttx#diff-befc8e04ddb3722f024f65ffd7648aac1cb24846d2b80fff6328e3cb5862220f>>
>>> 
>>> The 2nd point could be related to a wrong compiler/assembler selected
>>> or the way, the compiler is invoked. In worst case, it’s there code itself.
>>> 
>>> I would be very interested helping to find a solution on this topic.
>>> 
>>> /Piet
>>> 
>>>> Am 29.01.2022 um 17:33 schrieb Tomasz CEDRO <to...@cedro.info 
>>>> <mailto:to...@cedro.info>>:
>>>> 
>>>> macOS is a BSD.. very close to FreeBSD:
>>>> 1. Use gmake.
>>>> 2. Make sure you have the right version of kconfig-frontends package
>>>> installed. If you installed it locally make sure path to your local
>>>> binary is in the first place.
>>>> 
>>>> -- 
>>>> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info <http://www.tomek.cedro.info/>
>>> 
>> 
> 

Reply via email to