Created
March 30, 2026 12:44
-
-
Save lupyuen/33e5cee49ffecb9a5dbd66f8941714c1 to your computer and use it in GitHub Desktop.
Validate NuttX Release for pinephone (12.13.0 / RC0 / b9b5d9afbf)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Script started on 2026-03-30 20:34:57+08:00 [COMMAND="/home/luppy/nuttx-release/release-pinephone.sh" TERM="xterm-256color" TTY="/dev/pts/23" COLUMNS="113" LINES="63"] | |
| ----- Validate NuttX Release for PinePhone | |
| release=12.13.0 | |
| candidate=RC0 | |
| hash=b9b5d9afbf | |
| Now running https://github.com/lupyuen/nuttx-release/blob/main/release-pinephone.sh | |
| + export device=pinephone | |
| + device=pinephone | |
| + echo ----- Remove checkrelease folder | |
| ----- Remove checkrelease folder | |
| + cd /tmp | |
| + rm -rf checkrelease-pinephone | |
| + neofetch | |
| .-/+oossssoo+/-. | |
| `:+ssssssssssssssssss+:` | |
| -+ssssssssssssssssssyyssss+- | |
| .ossssssssssssssssssdMMMNysssso. | |
| /ssssssssssshdmmNNmmyNMMMMhssssss/ | |
| +ssssssssshmydMMMMMMMNddddyssssssss+ | |
| /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/ | |
| .ssssssssdMMMNhsssssssssshNMMMdssssssss. | |
| +sssshhhyNMMNyssssssssssssyNMMMysssssss+ | |
| ossyNMMMNyMMhsssssssssssssshmmmhssssssso | |
| ossyNMMMNyMMhsssssssssssssshmmmhssssssso | |
| +sssshhhyNMMNyssssssssssssyNMMMysssssss+ | |
| .ssssssssdMMMNhsssssssssshNMMMdssssssss. | |
| /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/ | |
| +sssssssssdmydMMMMMMMMddddyssssssss+ | |
| /ssssssssssshdmNNNNmyNMMMMhssssss/ | |
| .ossssssssssssssssssdMMMNysssso. | |
| -+sssssssssssssssssyyyssss+- | |
| `:+ssssssssssssssssss+:` | |
| .-/+oossssoo+/-. | |
| luppy@thinkstation | |
| ------------------ | |
| OS: Ubuntu 24.04.2 LTS x86_64 | |
| Host: 30B4S1MW02 ThinkStation P510 | |
| Kernel: 6.14.0-37-generic | |
| Uptime: 58 days, 1 hour, 12 mins | |
| Packages: 2344 (dpkg), 15 (snap) | |
| Shell: bash 5.2.21 | |
| Resolution: 640x480 | |
| Terminal: script | |
| CPU: Intel Xeon E5-2650 v4 (24) @ 2.900GHz | |
| GPU: NVIDIA Quadro M2000 | |
| Memory: 4551MiB / 64190MiB | |
| + echo ----- download staged artifacts. Check their signature and hashes. | |
| ----- download staged artifacts. Check their signature and hashes. | |
| + mkdir checkrelease-pinephone | |
| + cd checkrelease-pinephone | |
| + url=https://dist.apache.org/repos/dist/dev/nuttx/12.13.0-RC0/ | |
| + for file in apache-nuttx-$release.tar.gz.asc apache-nuttx-$release.tar.gz.sha512 apache-nuttx-$release.tar.gz apache-nuttx-apps-$release.tar.gz.asc apache-nuttx-apps-$release.tar.gz.sha512 apache-nuttx-apps-$release.tar.gz | |
| + cp /home/luppy/apache-nuttx-12.13.0.tar.gz.asc . | |
| + for file in apache-nuttx-$release.tar.gz.asc apache-nuttx-$release.tar.gz.sha512 apache-nuttx-$release.tar.gz apache-nuttx-apps-$release.tar.gz.asc apache-nuttx-apps-$release.tar.gz.sha512 apache-nuttx-apps-$release.tar.gz | |
| + cp /home/luppy/apache-nuttx-12.13.0.tar.gz.sha512 . | |
| + for file in apache-nuttx-$release.tar.gz.asc apache-nuttx-$release.tar.gz.sha512 apache-nuttx-$release.tar.gz apache-nuttx-apps-$release.tar.gz.asc apache-nuttx-apps-$release.tar.gz.sha512 apache-nuttx-apps-$release.tar.gz | |
| + cp /home/luppy/apache-nuttx-12.13.0.tar.gz . | |
| + for file in apache-nuttx-$release.tar.gz.asc apache-nuttx-$release.tar.gz.sha512 apache-nuttx-$release.tar.gz apache-nuttx-apps-$release.tar.gz.asc apache-nuttx-apps-$release.tar.gz.sha512 apache-nuttx-apps-$release.tar.gz | |
| + cp /home/luppy/apache-nuttx-apps-12.13.0.tar.gz.asc . | |
| + for file in apache-nuttx-$release.tar.gz.asc apache-nuttx-$release.tar.gz.sha512 apache-nuttx-$release.tar.gz apache-nuttx-apps-$release.tar.gz.asc apache-nuttx-apps-$release.tar.gz.sha512 apache-nuttx-apps-$release.tar.gz | |
| + cp /home/luppy/apache-nuttx-apps-12.13.0.tar.gz.sha512 . | |
| + for file in apache-nuttx-$release.tar.gz.asc apache-nuttx-$release.tar.gz.sha512 apache-nuttx-$release.tar.gz apache-nuttx-apps-$release.tar.gz.asc apache-nuttx-apps-$release.tar.gz.sha512 apache-nuttx-apps-$release.tar.gz | |
| + cp /home/luppy/apache-nuttx-apps-12.13.0.tar.gz . | |
| + echo '----- [RM] verify the reported signature ("gpg: Good signature from ...")' | |
| ----- [RM] verify the reported signature ("gpg: Good signature from ...") | |
| + gpg --verify apache-nuttx-12.13.0.tar.gz.asc apache-nuttx-12.13.0.tar.gz | |
| gpg: Signature made Mon 30 Mar 2026 04:01:20 AM +08 | |
| gpg: using RSA key 9208D2E4B800D66F749AD4E94137A71698C5E4DB | |
| gpg: Good signature from "Alin Jerpelea <jerpelea@apache.org>" [ultimate] | |
| + gpg --verify apache-nuttx-apps-12.13.0.tar.gz.asc apache-nuttx-apps-12.13.0.tar.gz | |
| gpg: Signature made Mon 30 Mar 2026 04:01:20 AM +08 | |
| gpg: using RSA key 9208D2E4B800D66F749AD4E94137A71698C5E4DB | |
| gpg: Good signature from "Alin Jerpelea <jerpelea@apache.org>" [ultimate] | |
| + echo '----- [RM] verify the reported hashes:' | |
| ----- [RM] verify the reported hashes: | |
| + sha512sum -c apache-nuttx-12.13.0.tar.gz.sha512 | |
| apache-nuttx-12.13.0.tar.gz: OK | |
| + sha512sum -c apache-nuttx-apps-12.13.0.tar.gz.sha512 | |
| apache-nuttx-apps-12.13.0.tar.gz: OK | |
| + echo ----- extract src bundle | |
| ----- extract src bundle | |
| + tar -xf apache-nuttx-12.13.0.tar.gz | |
| + tar -xf apache-nuttx-apps-12.13.0.tar.gz | |
| + echo ----- verify the existence of LICENSE, NOTICE, README.md files in the extracted source bundle in BOTH apps and nuttx | |
| ----- verify the existence of LICENSE, NOTICE, README.md files in the extracted source bundle in BOTH apps and nuttx | |
| + ls -l nuttx/LICENSE | |
| -rw-r--r-- 1 luppy luppy 416080 Jun 2 2025 nuttx/LICENSE | |
| + ls -l nuttx/NOTICE | |
| -rw-r--r-- 1 luppy luppy 3107 Apr 19 2024 nuttx/NOTICE | |
| + ls -l nuttx/README.md | |
| -rw-r--r-- 1 luppy luppy 2788 Mar 27 19:13 nuttx/README.md | |
| + ls -l apps/LICENSE | |
| -rw-r--r-- 1 luppy luppy 112734 Mar 2 19:47 apps/LICENSE | |
| + ls -l apps/NOTICE | |
| -rw-r--r-- 1 luppy luppy 161 Jul 20 2024 apps/NOTICE | |
| + ls -l apps/README.md | |
| -rw-r--r-- 1 luppy luppy 10290 Jul 20 2024 apps/README.md | |
| + echo ----- Build Targets | |
| ----- Build Targets | |
| + cd nuttx | |
| + echo '===== PinePhone Compiler' | |
| ===== PinePhone Compiler | |
| + aarch64-none-elf-gcc -v | |
| Using built-in specs. | |
| COLLECT_GCC=aarch64-none-elf-gcc | |
| COLLECT_LTO_WRAPPER=/home/luppy/arm-gnu-toolchain-13.2.Rel1-x86_64-aarch64-none-elf/bin/../libexec/gcc/aarch64-none-elf/13.2.1/lto-wrapper | |
| Target: aarch64-none-elf | |
| Configured with: /data/jenkins/workspace/GNU-toolchain/arm-13/src/gcc/configure --target=aarch64-none-elf --prefix=/data/jenkins/workspace/GNU-toolchain/arm-13/build-aarch64-none-elf/install --with-gmp=/data/jenkins/workspace/GNU-toolchain/arm-13/build-aarch64-none-elf/host-tools --with-mpfr=/data/jenkins/workspace/GNU-toolchain/arm-13/build-aarch64-none-elf/host-tools --with-mpc=/data/jenkins/workspace/GNU-toolchain/arm-13/build-aarch64-none-elf/host-tools --with-isl=/data/jenkins/workspace/GNU-toolchain/arm-13/build-aarch64-none-elf/host-tools --disable-shared --disable-nls --disable-threads --disable-tls --enable-checking=release --enable-languages=c,c++,fortran --with-newlib --with-gnu-as --with-headers=yes --with-gnu-ld --with-native-system-header-dir=/include --with-sysroot=/data/jenkins/workspace/GNU-toolchain/arm-13/build-aarch64-none-elf/install/aarch64-none-elf --with-pkgversion='Arm GNU Toolchain 13.2.rel1 (Build arm-13.7)' --with-bugurl=https://bugs.linaro.org/ | |
| Thread model: single | |
| Supported LTO compression algorithms: zlib | |
| gcc version 13.2.1 20231009 (Arm GNU Toolchain 13.2.rel1 (Build arm-13.7)) | |
| + echo '===== PinePhone Configuration' | |
| ===== PinePhone Configuration | |
| + ./tools/configure.sh pinephone:nsh | |
| Copy files | |
| Select CONFIG_HOST_LINUX=y | |
| Refreshing... | |
| CP: arch/dummy/Kconfig to /tmp/checkrelease-pinephone/nuttx/arch/dummy/dummy_kconfig | |
| CP: boards/dummy/Kconfig to /tmp/checkrelease-pinephone/nuttx/boards/dummy/dummy_kconfig | |
| LN: platform/board to /tmp/checkrelease-pinephone/apps/platform/dummy | |
| LN: include/arch to arch/arm64/include | |
| LN: include/arch/board to /tmp/checkrelease-pinephone/nuttx/boards/arm64/a64/pinephone/include | |
| LN: drivers/platform to /tmp/checkrelease-pinephone/nuttx/drivers/dummy | |
| LN: include/arch/chip to /tmp/checkrelease-pinephone/nuttx/arch/arm64/include/a64 | |
| LN: arch/arm64/src/chip to /tmp/checkrelease-pinephone/nuttx/arch/arm64/src/a64 | |
| LN: arch/arm64/src/board to /tmp/checkrelease-pinephone/nuttx/boards/arm64/a64/pinephone/src | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/audioutils | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/benchmarks | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/boot | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/canutils | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/crypto | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/database | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/examples/elf/tests | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/examples/elf | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/examples/mcuboot | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/examples/module | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/examples/rust | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/examples/sotest | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/examples | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/fsutils | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/games | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/graphics | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/industry | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/inertial | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/interpreters/luamodules | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/interpreters | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/logging | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/lte | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/math | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/mlearning | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/netutils | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/sdr | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/system | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/tee | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/testing/arch | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/testing/cxx | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/testing/drivers | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/testing/fs | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/testing/libc | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/testing/mm | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/testing/sched | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/testing | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/videoutils | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/wireless/bluetooth | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/wireless/ieee802154 | |
| mkkconfig in /tmp/checkrelease-pinephone/apps/wireless | |
| mkkconfig in /tmp/checkrelease-pinephone/apps | |
| # | |
| # configuration written to .config | |
| # | |
| + echo ----- Build NuttX | |
| ----- Build NuttX | |
| + build_nuttx | |
| + pushd ../nuttx | |
| /tmp/checkrelease-pinephone/nuttx /tmp/checkrelease-pinephone/nuttx | |
| + make -j | |
| Create version.h | |
| LN: platform/board to /tmp/checkrelease-pinephone/apps/platform/dummy | |
| Register: dd | |
| Register: hello | |
| Register: nsh | |
| Register: sh | |
| Register: leds | |
| Register: ostest | |
| Register: getprime | |
| CXX: libminiabi/libxx_cxa_guard.cxx CXX: libminiabi/libxx_delete.cxx CXX: libminiabi/libxx_deletea.cxx CXX: libminiabi/libxx_cxapurevirtual.cxx CXX: libminiabi/libxx_new.cxx CXX: libminiabi/libxx_newa.cxx CXX: libminiabi/libxx_dynamic_cast.cxx CXX: libminiabi/libxx_typeinfo.cxx IN: libs/libxx/libxx.a -> staging/libxx.a CC: clock/clock.c CC: clock/clock_initialize.c CC: clock/clock_settime.c CC: clock/clock_gettime.c CC: clock/clock_systime_ticks.c CC: clock/clock_systime_timespec.c CC: clock/clock_sched_ticks.c CC: clock/clock_perf.c CC: clock/clock_realtime2absticks.c CC: clock/clock_notifier.c CC: clock/clock_getres.c CC: environ/env_getenvironptr.c CC: environ/env_release.c CC: environ/env_dup.c CC: environ/env_findvar.c CC: environ/env_removevar.c CC: environ/env_clearenv.c CC: environ/env_getenv.c CC: environ/env_putenv.c CC: environ/env_setenv.c CC: environ/env_unsetenv.c CC: environ/env_foreach.c CC: group/group_create.c CC: group/group_join.c CC: group/group_leave.c CC: leds/userled_upper.c CC: group/group_setupidlefiles.c CC: drivers_initialize.c CC: group/group_foreachchild.c CC: group/group_killchildren.c CC: leds/userled_lower.c CC: loop/losetup.c CC: misc/dev_null.c CC: group/group_setuptaskfiles.c CC: group/group_waiter.c CC: misc/dev_zero.c CC: group/group_signal.c CC: misc/ramdisk.c CC: misc/mkrd.c CC: pipes/pipe.c CC: pipes/fifo.c CC: pipes/pipe_common.c CC: serial/serial_io.c CC: serial/serial.c CC: syslog/syslog_early.c CC: syslog/vsyslog.c CC: syslog/syslog_channel.c CC: init/nx_start.c CC: init/nx_bringup.c CC: syslog/syslog_write.c CC: instrument/instrument.c CC: irq/irq_attach.c CC: irq/irq_initialize.c CC: irq/irq_unexpectedisr.c CC: syslog/syslog_flush.c CC: syslog/ramlog.c CC: syslog/syslog_initialize.c CC: irq/irq_attach_wqueue.c CC: irq/irq_dispatch.c CC: irq/irq_attach_thread.c CC: timers/oneshot.c CC: timers/arch_alarm.c CC: irq/irq_spinlock.c CC: misc/assert.c CC: misc/panic_notifier.c CC: misc/reboot_notifier.c CC: dummy.c CC: boardctl.c CC: mqueue/mq_initialize.c CC: mqueue/mq_waitirq.c CC: mqueue/mq_recover.c CC: mqueue/mq_send.c CC: mqueue/mq_sndinternal.c CC: mqueue/mq_receive.c CC: mqueue/mq_rcvinternal.c CC: mqueue/mq_getattr.c CC: mqueue/mq_msgqalloc.c CC: mqueue/mq_msgfree.c CC: mqueue/mq_msgqfree.c CC: mqueue/mq_setattr.c CC: mqueue/mq_notify.c CC: mqueue/msgctl.c CC: mqueue/msgget.c CC: mqueue/msginternal.c CC: mqueue/msgsnd.c CC: pthread/pthread_create.c CC: mqueue/msgrcv.c CC: pthread/pthread_join.c CC: pthread/pthread_exit.c CC: pthread/pthread_detach.c CC: pthread/pthread_sigmask.c CC: pthread/pthread_getschedparam.c CC: pthread/pthread_setschedparam.c CC: pthread/pthread_cancel.c CC: pthread/pthread_completejoin.c CC: mm_heap/mm_initialize.c CC: mm_heap/mm_lock.c CC: pthread/pthread_findjoininfo.c CC: mm_heap/mm_shrinkchunk.c CC: pthread/pthread_release.c CC: mm_heap/mm_brkaddr.c CC: mm_heap/mm_malloc_size.c CC: pthread/pthread_setschedprio.c CC: sched/sched_getfiles.c CC: mm_heap/mm_calloc.c CC: mm_heap/mm_free.c CC: sched/sched_profil.c CC: mm_heap/mm_malloc.c CC: mm_heap/mm_extend.c CC: sched/sched_removereadytorun.c CC: mm_heap/mm_foreach.c CC: mm_heap/mm_mallinfo.c CC: sched/sched_addreadytorun.c CC: sched/sched_addblocked.c CC: sched/sched_removeblocked.c CC: mm_heap/mm_realloc.c CC: mm_heap/mm_memdump.c CC: mm_heap/mm_zalloc.c CC: umm_heap/umm_globals.c CC: umm_heap/umm_initialize.c CC: mm_heap/mm_heapmember.c CC: sched/sched_gettcb.c CC: mm_heap/mm_memalign.c CC: sched/sched_verifytcb.c CC: sched/sched_releasetcb.c CC: umm_heap/umm_addregion.c CC: sched/sched_setparam.c CC: sched/sched_setpriority.c CC: umm_heap/umm_brkaddr.c CC: umm_heap/umm_calloc.c CC: umm_heap/umm_malloc_size.c CC: umm_heap/umm_extend.c CC: umm_heap/umm_mallinfo.c CC: umm_heap/umm_free.c CC: sched/sched_setscheduler.c CC: umm_heap/umm_memalign.c CC: sched/sched_getparam.c CC: umm_heap/umm_malloc.c CC: assert/lib_assert.c CC: assert/lib_stackchk.c CC: sched/sched_getscheduler.c CC: sched/sched_yield.c CC: umm_heap/umm_realloc.c CC: builtin/lib_builtin_getname.c CC: sched/sched_rrgetinterval.c CC: sched/sched_foreach.c CC: umm_heap/umm_heapmember.c CC: builtin/lib_builtin_isavail.c CC: umm_heap/umm_zalloc.c CC: mempool/mempool.c CC: umm_heap/umm_memdump.c CC: builtin/lib_builtin_forindex.c CC: sched/sched_lock.c CC: mempool/mempool_multiple.c CC: mempool/mempool_procfs.c CC: ctype/lib_isalnum.c CC: sched/sched_lockcount.c CC: sched/sched_unlock.c CC: kasan/hook.c CC: ctype/lib_isalpha.c CC: sched/sched_idletask.c CC: sched/sched_self.c CC: ctype/lib_isascii.c CC: sched/sched_get_stackinfo.c CC: map/mm_map.c CC: sched/sched_get_tls.c CC: sched/sched_sysinfo.c CC: ctype/lib_isdigit.c AS: common/arm64_vector_table.S AS: common/arm64_vectors.S CC: sched/sched_getcpu.c CC: sched/sched_switchcontext.c CC: sched/sched_get_stateinfo.c AS: common/arm64_fork_func.S CC: sched/sched_sleep.c CC: ctype/lib_isblank.c CC: ctype/lib_iscntrl.c CC: sched/sched_reprioritizertr.c AS: common/arm64_smccc.S CC: sched/sched_mergepending.c CC: chip/a64_boot.c AS: common/arm64_fpu_func.S CC: chip/a64_pio.c CC: chip/a64_serial.c CC: sched/sched_waitpid.c CC: ctype/lib_isgraph.c CC: common/arm64_boot.c CC: common/arm64_initialize.c CC: common/arm64_nputs.c CC: common/arm64_initialstate.c CC: chip/a64_twi.c CC: common/arm64_createstack.c CC: ctype/lib_islower.c CC: common/arm64_releasestack.c CC: common/arm64_stackframe.c CC: common/arm64_usestack.c CC: common/arm64_exit.c CC: common/arm64_fork.c CC: common/arm64_getintstack.c CC: common/arm64_registerdump.c CC: sched/sched_processtick.c CC: semaphore/sem_wait.c CC: semaphore/sem_destroy.c CC: sched/sched_roundrobin.c CC: ctype/lib_isprint.c CC: ctype/lib_ispunct.c CC: ctype/lib_isspace.c CC: common/arm64_tcbinfo.c CC: common/arm64_arch_timer.c CC: common/arm64_perf.c CC: common/arm64_cache.c CC: ctype/lib_isupper.c CC: common/arm64_doirq.c CC: common/arm64_fatal.c CC: ctype/lib_isxdigit.c CC: common/arm64_syscall.c CC: common/arm64_modifyreg8.c CC: common/arm64_modifyreg16.c CC: common/arm64_modifyreg32.c CC: common/arm64_schedulesigaction.c CC: common/arm64_sigdeliver.c CC: common/arm64_idle.c CC: semaphore/sem_trywait.c CC: common/arm64_allocateheap.c CC: common/arm64_gicv2.c CC: semaphore/sem_tickwait.c CC: semaphore/sem_clockwait.c CC: ctype/lib_toupper.c CC: semaphore/sem_timeout.c CC: semaphore/sem_timedwait.c CC: dirent/lib_readdirr.c CC: ctype/lib_tolower.c CC: dirent/lib_telldir.c CC: ctype/lib_ctype.c CC: semaphore/sem_post.c CC: dirent/lib_scandir.c CC: common/arm64_cpu_psci.c CC: common/arm64_fpu.c CC: dirent/lib_ftw.c CC: common/arm64_mmu.c CC: semaphore/sem_recover.c CC: dirent/lib_alphasort.c AS: common/arm64_head.S CC: common/arm64_checkstack.c CC: dirent/lib_nftw.c CC: dirent/lib_fdopendir.c CC: semaphore/sem_reset.c CC: dirent/lib_opendir.c CC: dirent/lib_closedir.c CC: fs_heap.c CC: semaphore/sem_waitirq.c CC: fs_initialize.c CC: dirent/lib_readdir.c CC: dirent/lib_rewinddir.c CC: inode/fs_files.c CC: inode/fs_inode.c CC: inode/fs_foreachinode.c CC: semaphore/sem_rw.c CC: signal/sig_nanosleep.c CC: inode/fs_inodeaddref.c CC: inode/fs_inodebasename.c CC: dirent/lib_seekdir.c CC: signal/sig_sleep.c CC: inode/fs_inodefree.c CC: inode/fs_inodefind.c CC: dirent/lib_dirfd.c CC: signal/sig_clockwait.c CC: inode/fs_inodegetpath.c CC: inode/fs_inoderemove.c CC: signal/sig_usleep.c CC: inode/fs_inodereserve.c CC: inode/fs_inoderelease.c CC: inode/fs_inodesearch.c CC: signal/sig_dispatch.c CC: signal/sig_lowest.c CC: dirent/lib_versionsort.c CC: signal/sig_kill.c CC: dlfcn/lib_dlfind_object.c CC: errno/lib_errno.c CC: fixedmath/lib_fixedmath.c CC: fixedmath/lib_b16sin.c CC: signal/sig_pause.c CC: fixedmath/lib_b16cos.c CC: vfs/fs_close.c CC: vfs/fs_chstat.c CC: signal/sig_queue.c CC: signal/sig_pselect.c CC: fixedmath/lib_b16atan2.c CC: vfs/fs_dup2.c CC: signal/sig_notification.c CC: fixedmath/lib_ubsqrt.c CC: vfs/fs_dup3.c CC: signal/sig_ppoll.c CC: signal/sig_suspend.c CC: signal/sig_tgkill.c CC: signal/sig_timedwait.c CC: grp/lib_getgrgid.c CC: signal/sig_waitinfo.c CC: grp/lib_getgrgidr.c CC: grp/lib_getgrnamr.c CC: signal/sig_action.c CC: grp/lib_getgrnam.c CC: signal/sig_procmask.c CC: signal/sig_cleanup.c CC: grp/lib_initgroups.c CC: signal/sig_deliver.c CC: vfs/fs_fcntl.c CC: signal/sig_findaction.c CC: dd_main.c CC: signal/sig_allocpendingsigaction.c CC: signal/sig_pending.c CC: vfs/fs_epoll.c CC: signal/sig_initialize.c CC: grp/lib_getgrbuf.c CC: vfs/fs_fstat.c CC: signal/sig_releasependingsigaction.c CC: signal/sig_releasependingsignal.c CC: vfs/fs_fstatfs.c CC: vfs/fs_fchstat.c CC: inttypes/lib_imaxabs.c CC: inttypes/lib_imaxdiv.c CC: vfs/fs_ioctl.c CC: grp/lib_getgrbufr.c CC: vfs/fs_lseek.c CC: signal/sig_removependingsignal.c CC: vfs/fs_mkdir.c CC: signal/sig_unmaskpendingsignal.c CC: inttypes/lib_strtoimax.c CC: vfs/fs_open.c CC: vfs/fs_dup.c CC: task/task_create.c CC: leds_main.c CC: task/task_init.c CC: vfs/fs_poll.c CC: task/task_argvstr.c CC: inttypes/lib_strtoumax.c CC: task/task_setup.c CC: vfs/fs_pread.c CC: libgen/lib_dirname.c CC: vfs/fs_read.c CC: machine/arch_atomic.c CC: libgen/lib_basename.c CC: vfs/fs_pwrite.c CC: vfs/fs_rename.c CC: misc/lib_bitmap.c CC: task/task_activate.c CC: vfs/fs_rmdir.c CC: task/task_start.c CC: vfs/fs_select.c CC: task/task_delete.c CC: nsh_alias.c CC: task/task_exit.c CC: vfs/fs_sendfile.c CC: vfs/fs_stat.c CC: nsh_builtin.c CC: task/task_getpid.c CC: vfs/fs_statfs.c CC: task/task_exithook.c CC: misc/lib_circbuf.c CC: nsh_command.c CC: vfs/fs_uio.c CC: task/task_prctl.c CC: task/task_recover.c CC: nsh_console.c CC: task/task_getgroup.c CC: nsh_consolemain.c CC: misc/lib_creat.c CC: vfs/fs_write.c CC: misc/lib_mknod.c CC: nsh_fscmds.c CC: nsh_init.c CC: vfs/fs_dir.c CC: task/task_restart.c CC: task/task_spawnparms.c CC: nsh_dbgcmds.c CC: barrier.c CC: binfmt_globals.c CC: vfs/fs_fsync.c CC: misc/lib_umask.c CC: nsh_envcmds.c CC: nsh_mntcmds.c CC: task/task_terminate.c CC: binfmt_register.c CC: vfs/fs_unlink.c CC: nsh_fsutils.c CC: nsh_mmcmds.c CC: binfmt_initialize.c CC: nsh_parse.c CC: task/task_gettid.c CC: cancel.c CC: misc/lib_getrandom.c CC: vfs/fs_link.c CC: vfs/fs_truncate.c CC: nsh_printf.c CC: task/task_cancelpt.c CC: misc/lib_utsname.c CC: task/exit.c CC: binfmt_unregister.c CC: misc/lib_xorshift128.c CC: vfs/fs_syncfs.c CC: binfmt_loadmodule.c CC: getprime_main.c CC: vfs/fs_symlink.c CC: binfmt_unloadmodule.c CC: vfs/fs_readlink.c CC: builtin_list.c CC: misc/lib_tea_encrypt.c CC: readline.c CC: exec_builtin.c CC: readline_common.c CC: misc/lib_tea_decrypt.c CC: cond.c CC: task/task_join.c CC: dev_null.c CC: binfmt_exec.c CC: nsh_proccmds.c CC: readline_fd.c CC: task/task_spawn.c CC: task/task_fork.c CC: timer/timer_initialize.c CC: binfmt_copyargv.c CC: binfmt_execmodule.c CC: misc/lib_cxx_initialize.c CC: driver/fs_registerdriver.c CC: fpu.c CC: board/dummy.c CC: nsh_prompt.c CC: nsh_script.c CC: hello_main.c CC: binfmt_copyactions.c CC: getopt.c CC: driver/fs_registerpipedriver.c CC: libc_memmem.c CC: driver/fs_unregisterpipedriver.c CC: driver/fs_unregisterdriver.c CC: driver/fs_registerblockdriver.c CC: binfmt_dumpmodule.c CC: nsh_session.c CC: timer/timer_create.c CC: readline_stream.c CC: timer/timer_delete.c CC: timer/timer_getoverrun.c CC: mutex.c CC: nsh_system.c CC: builtin.c CC: nsh_syscmds.c CC: perf_gettime.c CC: nsh_test.c CC: mqueue.c CC: ostest_main.c CC: system.c CC: timer/timer_gettime.c CC: timer/timer_getitimer.c CC: misc/lib_memfd.c CC: driver/fs_unregisterblockdriver.c CC: posixtimer.c CC: nsh_timcmds.c CC: misc/lib_impure.c CC: nsh_wait.c CC: driver/fs_findblockdriver.c CC: timer/timer_setitimer.c CC: pthread_exit.c CC: misc/lib_mutex.c CC: pthread_rwlock_cancel.c CC: timer/timer_settime.c CC: restart.c CC: driver/fs_openblockdriver.c CC: robust.c CC: driver/fs_closeblockdriver.c CC: misc/lib_fchmodat.c CC: misc/lib_fstatat.c CC: timer/timer_release.c CC: driver/fs_blockpartition.c CC: pthread_rwlock.c CC: misc/lib_getfullpath.c CC: roundrobin.c CC: semtimed.c CC: sem.c CC: tls/task_uninitinfo.c CC: tls/task_initinfo.c CC: sighand.c CC: tls/tls_initinfo.c CC: setvbuf.c CC: misc/lib_openat.c CC: tls/tls_dupinfo.c CC: sighelper.c CC: driver/fs_blockmerge.c CC: driver/fs_findmtddriver.c CC: driver/fs_closemtddriver.c CC: wdog/wd_initialize.c CC: schedlock.c CC: sh_main.c CC: wdog/wd_start.c CC: misc/lib_mkdirat.c CC: wdog/wd_cancel.c CC: misc/lib_idr.c CC: misc/lib_mallopt.c CC: nsh_main.c CC: misc/lib_getnprocs.c CC: misc/lib_utimensat.c CC: misc/lib_tempbuffer.c CC: sigprocmask.c CC: wdog/wd_gettime.c CC: signest.c CC: spinlock.c CC: timedmutex.c CC: timedmqueue.c CC: wqueue/kwork_queue.c CC: driver/fs_finddriver.c CC: mmap/fs_munmap.c CC: misc/lib_umul32.c CC: misc/lib_umul64.c CC: mmap/fs_mmisc.c CC: wqueue/kwork_thread.c CC: vfork.c CC: timedwait.c CC: mmap/fs_msync.c CC: mmap/fs_mmap.c CC: mmap/fs_anonmap.c CC: wqueue/kwork_cancel.c CC: mqueue/mq_open.c CC: misc/lib_umul32x64.c CC: waitpid.c CC: misc/lib_uadd32x64.c CC: wdog.c CC: wqueue.c CC: misc/lib_uadd64.c CC: misc/lib_usub64.c CC: misc/lib_usub64x32.c CC: misc/lib_dumpbuffer.c CC: mqueue/mq_close.c CC: mqueue/mq_unlink.c CC: misc/lib_dumpvbuffer.c CC: mount/fs_mount.c CC: misc/lib_debug.c CC: misc/lib_fnmatch.c CC: mount/fs_umount2.c CC: misc/lib_crc32.c CC: misc/lib_crc64.c CC: mount/fs_foreachmountpoint.c CC: mount/fs_procfs_mount.c CC: misc/lib_crc16.c CC: mount/fs_gettype.c CC: misc/lib_crc16ccitt.c CC: partition/fs_partition.c CC: misc/lib_crc8.c CC: misc/lib_crc8ccitt.c CC: romfs/fs_romfs.c CC: misc/lib_crc8table.c CC: romfs/fs_romfsutil.c CC: procfs/fs_procfs.c CC: procfs/fs_procfscpuinfo.c CC: misc/lib_crc8rohc.c CC: procfs/fs_procfscpuload.c CC: procfs/fs_procfscritmon.c CC: procfs/fs_procfsfdt.c CC: procfs/fs_procfsiobinfo.c CC: procfs/fs_procfsmeminfo.c CC: procfs/fs_procfsproc.c CC: misc/lib_crc8h1d.c CC: procfs/fs_procfstcbinfo.c CC: misc/lib_crc16h1021.c CC: misc/lib_crc8h2f.c CC: procfs/fs_procfsuptime.c CC: misc/lib_crc16h8005.c CC: procfs/fs_procfsutil.c CC: procfs/fs_procfsversion.c CC: misc/lib_crc32h04c11db7.c CC: misc/lib_crc32hf4acfb13.c CC: misc/lib_ftok.c CC: misc/lib_err.c CC: misc/lib_backtrace.c CC: misc/lib_instrument.c CC: misc/lib_crc64emac.c CC: misc/lib_glob.c CC: misc/lib_crc16ibm.c CC: misc/lib_crc16xmodem.c CC: net/lib_addrconfig.c CC: net/lib_base64.c CC: net/lib_htons.c CC: net/lib_htonl.c CC: net/lib_inetaddr.c CC: net/lib_inetaton.c CC: net/lib_htonq.c IN: drivers/libdrivers.a -> staging/libdrivers.a CC: net/lib_inetntoa.c CC: net/lib_inetntop.c CC: net/lib_inetnetwork.c CC: net/lib_inetpton.c CC: net/lib_etherntoa.c CC: net/lib_etheraton.c IN: boards/libboards.a -> staging/libboards.a CC: obstack/lib_obstack_alloc.c CC: obstack/lib_obstack_copy.c CC: obstack/lib_obstack_free.c CC: obstack/lib_obstack_make_room.c CC: obstack/lib_obstack_blank.c CC: obstack/lib_obstack_init.c CC: obstack/lib_obstack_grow.c CC: obstack/lib_obstack_object_size.c CC: obstack/lib_obstack_room.c CC: obstack/lib_obstack_finish.c CC: obstack/lib_obstack_printf.c CC: obstack/lib_obstack_vprintf.c CC: pthread/pthread_attr_init.c CC: obstack/lib_obstack_malloc.c CC: pthread/pthread_attr_destroy.c CC: pthread/pthread_attr_setschedpolicy.c CC: pthread/pthread_attr_getschedpolicy.c CC: pthread/pthread_attr_getinheritsched.c CC: pthread/pthread_attr_setinheritsched.c CC: pthread/pthread_attr_setdetachstate.c CC: pthread/pthread_attr_getdetachstate.c IN: arch/arm64/src/libarch.a -> staging/libarch.a CC: pthread/pthread_attr_setstackaddr.c CC: pthread/pthread_attr_getstackaddr.c CC: pthread/pthread_attr_setstacksize.c CC: pthread/pthread_attr_getstacksize.c CC: pthread/pthread_attr_setstack.c CC: pthread/pthread_attr_getstack.c CC: pthread/pthread_attr_setschedparam.c CC: pthread/pthread_attr_getschedparam.c CC: pthread/pthread_attr_setscope.c CC: pthread/pthread_attr_getscope.c IN: binfmt/libbinfmt.a -> staging/libbinfmt.a CC: pthread/pthread_attr_setguardsize.c CC: pthread/pthread_attr_getguardsize.c CC: pthread/pthread_barrierattr_init.c CC: pthread/pthread_barrierattr_destroy.c IN: mm/libmm.a -> staging/libmm.a CC: pthread/pthread_barrierattr_getpshared.c CC: pthread/pthread_barrierinit.c CC: pthread/pthread_barrierattr_setpshared.c CC: pthread/pthread_barrierdestroy.c CC: pthread/pthread_barrierwait.c CC: pthread/pthread_condattr_init.c CC: pthread/pthread_condattr_destroy.c CC: pthread/pthread_condattr_getpshared.c CC: pthread/pthread_condattr_setpshared.c CC: pthread/pthread_condattr_setclock.c CC: pthread/pthread_condattr_getclock.c CC: pthread/pthread_condinit.c CC: pthread/pthread_conddestroy.c CC: pthread/pthread_condtimedwait.c CC: pthread/pthread_equal.c CC: pthread/pthread_condbroadcast.c CC: pthread/pthread_condclockwait.c IN: sched/libsched.a -> staging/libsched.a CC: pthread/pthread_condsignal.c CC: pthread/pthread_condwait.c CC: pthread/pthread_create.c CC: pthread/pthread_exit.c CC: pthread/pthread_get_stackaddr_np.c CC: pthread/pthread_get_stacksize_np.c CC: pthread/pthread_setname_np.c CC: pthread/pthread_getname_np.c CC: pthread/pthread_mutexattr_init.c CC: pthread/pthread_mutexattr_destroy.c CC: pthread/pthread_mutexattr_getpshared.c CC: pthread/pthread_mutexattr_setpshared.c CC: pthread/pthread_mutexattr_setprotocol.c CC: pthread/pthread_mutexattr_getprotocol.c CC: pthread/pthread_mutexattr_gettype.c CC: pthread/pthread_mutexattr_settype.c CC: pthread/pthread_mutexattr_setrobust.c CC: pthread/pthread_mutexattr_getrobust.c CC: pthread/pthread_mutexattr_setprioceiling.c CC: pthread/pthread_mutexattr_getprioceiling.c CC: pthread/pthread_mutex_destroy.c CC: pthread/pthread_mutex_init.c CC: pthread/pthread_mutex_trylock.c CC: pthread/pthread_mutex_timedlock.c CC: pthread/pthread_mutex.c IN: fs/libfs.a -> staging/libfs.a CC: pthread/pthread_mutex_unlock.c CC: pthread/pthread_mutex_lock.c CC: pthread/pthread_mutex_setprioceiling.c CC: pthread/pthread_mutex_getprioceiling.c CC: pthread/pthread_once.c CC: pthread/pthread_yield.c CC: pthread/pthread_atfork.c CC: pthread/pthread_rwlockattr_init.c CC: pthread/pthread_rwlockattr_destroy.c CC: pthread/pthread_rwlockattr_getpshared.c CC: pthread/pthread_rwlockattr_setpshared.c CC: pthread/pthread_rwlock.c CC: pthread/pthread_rwlock_rdlock.c CC: pthread/pthread_rwlock_wrlock.c CC: pthread/pthread_setcancelstate.c CC: pthread/pthread_testcancel.c CC: pthread/pthread_getcpuclockid.c CC: pthread/pthread_setcanceltype.c CC: pthread/pthread_self.c CC: pthread/pthread_gettid_np.c CC: pthread/pthread_concurrency.c CC: pthread/pthread_kill.c CC: pthread/pthread_mutex_consistent.c CC: pthread/pthread_mutex_inconsistent.c CC: pwd/lib_getpwnam.c CC: pwd/lib_getpwnamr.c CC: pwd/lib_getpwuid.c CC: pwd/lib_getpwuidr.c CC: pwd/lib_pwd_globals.c CC: pwd/lib_getpwent.c CC: pwd/lib_getspnam.c CC: pwd/lib_getpwbuf.c CC: pwd/lib_getpwbufr.c CC: queue/queue.c CC: sched/sched_getprioritymax.c CC: sched/sched_getprioritymin.c CC: sched/task_cancelpt.c CC: sched/task_setcancelstate.c CC: sched/task_setcanceltype.c CC: sched/task_gettid.c CC: sched/task_testcancel.c CC: sched/task_getpid.c CC: sched/clock_getcpuclockid.c CC: sched/task_startup.c CC: search/hcreate_r.c CC: search/hcreate.c CC: search/hash_func.c CC: semaphore/sem_init.c CC: semaphore/sem_setprotocol.c CC: semaphore/sem_getprotocol.c CC: semaphore/sem_getvalue.c CC: semaphore/sem_destroy.c CC: semaphore/sem_wait.c CC: semaphore/sem_trywait.c CC: semaphore/sem_timedwait.c CC: semaphore/sem_clockwait.c CC: semaphore/sem_post.c CC: signal/sig_addset.c CC: signal/sig_delset.c CC: signal/sig_emptyset.c CC: signal/sig_fillset.c CC: signal/sig_nandset.c CC: signal/sig_orset.c CC: signal/sig_andset.c CC: signal/sig_xorset.c CC: signal/sig_isemptyset.c CC: signal/sig_killpg.c CC: signal/sig_altstack.c CC: signal/sig_hold.c IN: /tmp/checkrelease-pinephone/apps/libapps.a -> staging/libapps.a CC: signal/sig_ismember.c CC: signal/sig_pause.c CC: signal/sig_psignal.c CC: signal/sig_raise.c CC: signal/sig_wait.c CC: signal/sig_interrupt.c CC: signal/sig_ignore.c CC: signal/sig_relse.c CC: signal/sig_set.c CC: signal/sig_signal.c CC: spawn/lib_psfa_addaction.c CC: spawn/lib_psfa_addclose.c CC: spawn/lib_psfa_adddup2.c CC: spawn/lib_psfa_addopen.c CC: spawn/lib_psfa_destroy.c CC: spawn/lib_psfa_init.c CC: spawn/lib_psa_getflags.c CC: spawn/lib_psa_getschedparam.c CC: spawn/lib_psa_getschedpolicy.c CC: spawn/lib_psa_init.c CC: spawn/lib_psa_setflags.c CC: spawn/lib_psa_setschedparam.c CC: spawn/lib_psa_setschedpolicy.c CC: spawn/lib_psa_getsigmask.c CC: spawn/lib_psa_setsigmask.c CC: spawn/lib_psa_getstacksize.c CC: spawn/lib_psa_setstacksize.c CC: spawn/lib_psa_destroy.c CC: spawn/lib_psa_getpriority.c CC: spawn/lib_psa_getstackaddr.c CC: spawn/lib_psa_setpriority.c CC: spawn/lib_psa_setstackaddr.c CC: spawn/lib_psfa_dump.c CC: spawn/lib_psa_dump.c CC: stdio/lib_fileno.c CC: stdio/lib_printf.c CC: stdio/lib_sprintf.c CC: stdio/lib_asprintf.c CC: stdio/lib_snprintf.c CC: stdio/lib_vsprintf.c CC: stdio/lib_vasprintf.c CC: stdio/lib_vsnprintf.c CC: stdio/lib_dprintf.c CC: stdio/lib_vdprintf.c CC: stdio/lib_vprintf.c CC: stdio/lib_putchar.c CC: stdio/lib_perror.c CC: stdio/lib_puts.c CC: stdio/lib_getchar.c CC: stdio/lib_gets_s.c CC: stdio/lib_gets.c CC: stdio/lib_sscanf.c CC: stdio/lib_libdgets.c CC: stdio/lib_vsscanf.c CC: stdio/lib_remove.c CC: stdio/lib_tempnam.c CC: stdio/lib_tmpnam.c CC: stdio/lib_renameat.c CC: stdio/lib_putwchar.c CC: stdio/lib_fopen.c CC: stdio/lib_freopen.c CC: stdio/lib_fclose.c CC: stdio/lib_fread.c CC: stdio/lib_libfread_unlocked.c CC: stdio/lib_fseek.c CC: stdio/lib_fseeko.c CC: stdio/lib_ftell.c CC: stdio/lib_ftello.c CC: stdio/lib_fgetpos.c CC: stdio/lib_getdelim.c CC: stdio/lib_fsetpos.c CC: stdio/lib_getc.c CC: stdio/lib_fgetc.c CC: stdio/lib_fgets.c CC: stdio/lib_libfgets.c CC: stdio/lib_fwrite.c CC: stdio/lib_fflush.c CC: stdio/lib_libfwrite.c CC: stdio/lib_libflushall.c CC: stdio/lib_libfflush.c CC: stdio/lib_rdflush_unlocked.c CC: stdio/lib_wrflush_unlocked.c CC: stdio/lib_putc.c CC: stdio/lib_fputc.c CC: stdio/lib_fprintf.c CC: stdio/lib_ungetc.c CC: stdio/lib_fputs.c CC: stdio/lib_vfprintf.c CC: stdio/lib_feof.c CC: stdio/lib_ferror.c CC: stdio/lib_rewind.c CC: stdio/lib_clearerr.c CC: stdio/lib_scanf.c CC: stdio/lib_vscanf.c CC: stdio/lib_fscanf.c CC: stdio/lib_vfscanf.c CC: stdio/lib_tmpfile.c CC: stdio/lib_setbuf.c CC: stdio/lib_setvbuf.c CC: stdio/lib_libfilelock.c CC: stdio/lib_setbuffer.c CC: stdio/lib_libgetstreams.c CC: stdio/lib_fputwc.c CC: stdio/lib_putwc.c CC: stdio/lib_fputws.c CC: stdio/lib_open_memstream.c CC: stdio/lib_fopencookie.c CC: stdio/lib_fmemopen.c CC: stdio/lib_fgetwc.c CC: stdio/lib_getwc.c CC: stdio/lib_ungetwc.c CC: stdlib/lib_abs.c CC: stdlib/lib_abort.c CC: stdlib/lib_atof.c CC: stdlib/lib_atoi.c CC: stdlib/lib_getprogname.c CC: stdlib/lib_atol.c CC: stdlib/lib_atoll.c CC: stdlib/lib_div.c CC: stdlib/lib_ldiv.c CC: stdlib/lib_lldiv.c CC: stdlib/lib_exit.c CC: stdlib/lib_itoa.c CC: stdlib/lib_labs.c CC: stdlib/lib_llabs.c CC: stdlib/lib_realpath.c CC: stdlib/lib_bsearch.c CC: stdlib/lib_rand.c CC: stdlib/lib_rand48.c CC: stdlib/lib_qsort.c CC: stdlib/lib_srand.c CC: stdlib/lib_strtoll.c CC: stdlib/lib_strtol.c CC: stdlib/lib_strtoul.c CC: stdlib/lib_strtoull.c CC: stdlib/lib_checkbase.c CC: stdlib/lib_mktemp.c CC: stdlib/lib_mkstemp.c CC: stdlib/lib_mkdtemp.c CC: stdlib/lib_posix_memalign.c CC: stdlib/lib_aligned_alloc.c CC: stdlib/lib_valloc.c CC: stdlib/lib_mblen.c CC: stdlib/lib_mbtowc.c CC: stdlib/lib_wctomb.c CC: stdlib/lib_mbstowcs.c CC: stdlib/lib_wcstombs.c CC: stdlib/lib_atexit.c CC: stdlib/lib_reallocarray.c CC: stdlib/lib_arc4random.c CC: stdlib/lib_strtold.c CC: stream/lib_meminstream.c CC: stream/lib_memoutstream.c CC: stream/lib_memsistream.c CC: stream/lib_memsostream.c CC: stream/lib_lowoutstream.c CC: stream/lib_rawinstream.c CC: stream/lib_rawoutstream.c CC: stream/lib_rawsistream.c CC: stream/lib_rawsostream.c CC: stream/lib_zeroinstream.c CC: stream/lib_nullinstream.c CC: stream/lib_nulloutstream.c CC: stream/lib_mtdoutstream.c CC: stream/lib_libnoflush.c CC: stream/lib_libsnoflush.c CC: stream/lib_syslogstream.c CC: stream/lib_syslograwstream.c CC: stream/lib_bufferedoutstream.c CC: stream/lib_hexdumpstream.c CC: stream/lib_base64outstream.c CC: stream/lib_mtdsostream.c CC: stream/lib_fileinstream.c CC: stream/lib_fileoutstream.c CC: stream/lib_libbsprintf.c CC: stream/lib_libvscanf.c CC: stream/lib_libvsprintf.c CC: stream/lib_ultoa_invert.c CC: stream/lib_dtoa_engine.c CC: stream/lib_dtoa_data.c CC: stream/lib_stdinstream.c CC: stream/lib_stdoutstream.c CC: stream/lib_stdsostream.c CC: stream/lib_blkoutstream.c CC: string/lib_ffsl.c CC: string/lib_ffs.c CC: stream/lib_stdsistream.c CC: string/lib_ffsll.c CC: string/lib_fls.c CC: string/lib_flsl.c CC: string/lib_flsll.c CC: string/lib_isbasedigit.c CC: string/lib_memmem.c CC: string/lib_popcount.c CC: string/lib_popcountl.c CC: string/lib_popcountll.c CC: string/lib_skipspace.c CC: string/lib_strcasecmp.c CC: string/lib_strcspn.c CC: string/lib_strdup.c CC: string/lib_strerror.c CC: string/lib_strncasecmp.c CC: string/lib_strncat.c CC: string/lib_strndup.c CC: string/lib_strcasestr.c CC: string/lib_strpbrk.c CC: string/lib_strspn.c CC: string/lib_strstr.c CC: string/lib_strtok.c CC: string/lib_strtokr.c CC: string/lib_strsep.c CC: string/lib_strerrorr.c CC: string/lib_explicit_bzero.c CC: string/lib_strsignal.c CC: string/lib_index.c CC: string/lib_rindex.c CC: string/lib_timingsafe_bcmp.c CC: string/lib_strverscmp.c CC: string/lib_mempcpy.c CC: string/lib_rawmemchr.c CC: string/lib_memmove.c CC: string/lib_strlcat.c CC: string/lib_strlcpy.c CC: string/lib_strnlen.c CC: string/lib_memcpy.c CC: string/lib_memccpy.c CC: string/lib_memcmp.c CC: string/lib_memrchr.c CC: string/lib_stpncpy.c CC: string/lib_strchr.c CC: string/lib_strcmp.c CC: string/lib_strlen.c CC: string/lib_strncpy.c CC: string/lib_memchr.c CC: string/lib_stpcpy.c CC: string/lib_strchrnul.c CC: string/lib_strcat.c CC: string/lib_strcpy.c CC: string/lib_strncmp.c CC: string/lib_strrchr.c CC: string/lib_memset.c CC: symtab/symtab_findbyname.c CC: symtab/symtab_findbyvalue.c CC: symtab/symtab_sortbyname.c CC: syslog/lib_syslog.c CC: termios/lib_cfspeed.c CC: termios/lib_cfmakeraw.c CC: termios/lib_isatty.c CC: termios/lib_tcflush.c CC: termios/lib_tcdrain.c CC: termios/lib_tcflow.c CC: termios/lib_tcgetattr.c CC: termios/lib_tcsetattr.c CC: syslog/lib_setlogmask.c CC: termios/lib_tcsendbreak.c CC: termios/lib_ttyname.c CC: termios/lib_ttynamer.c CC: time/lib_strftime.c CC: time/lib_calendar2utc.c CC: time/lib_daysbeforemonth.c CC: time/lib_gettimeofday.c CC: time/lib_settimeofday.c CC: time/lib_isleapyear.c CC: time/lib_time.c CC: time/lib_timespec_get.c CC: time/lib_nanosleep.c CC: time/lib_difftime.c CC: time/lib_dayofweek.c CC: time/lib_asctime.c CC: time/lib_asctimer.c CC: time/lib_ctime.c CC: time/lib_ctimer.c CC: time/lib_timegm.c CC: time/lib_gethrtime.c CC: time/lib_gmtime.c CC: time/lib_gmtimer.c CC: tls/task_getinfo.c CC: tls/tls_getinfo.c CC: uio/lib_preadv.c CC: uio/lib_pwritev.c CC: unistd/lib_access.c CC: unistd/lib_daemon.c CC: unistd/lib_swab.c CC: unistd/lib_pathconf.c CC: unistd/lib_sysconf.c CC: unistd/lib_getcwd.c CC: unistd/lib_getentropy.c CC: unistd/lib_getopt_common.c CC: unistd/lib_getopt.c CC: unistd/lib_getopt_long.c CC: unistd/lib_getoptvars.c CC: unistd/lib_getoptargp.c CC: unistd/lib_getopt_longonly.c CC: unistd/lib_getopterrp.c CC: unistd/lib_getoptindp.c CC: unistd/lib_times.c CC: unistd/lib_getoptoptp.c CC: unistd/lib_alarm.c CC: unistd/lib_fstatvfs.c CC: unistd/lib_statvfs.c CC: unistd/lib_sleep.c CC: unistd/lib_nice.c CC: unistd/lib_setregid.c CC: unistd/lib_getrusage.c CC: unistd/lib_setreuid.c CC: unistd/lib_utime.c CC: unistd/lib_setrlimit.c CC: unistd/lib_getrlimit.c CC: unistd/lib_setpriority.c CC: unistd/lib_utimes.c CC: unistd/lib_getpriority.c CC: unistd/lib_futimes.c CC: unistd/lib_lutimes.c CC: unistd/lib_gethostname.c CC: unistd/lib_sethostname.c CC: unistd/lib_fchownat.c CC: unistd/lib_linkat.c CC: unistd/lib_readlinkat.c CC: unistd/lib_symlinkat.c CC: unistd/lib_unlinkat.c CC: unistd/lib_usleep.c CC: unistd/lib_getpgrp.c CC: unistd/lib_lockf.c CC: unistd/lib_getpgid.c CC: unistd/lib_flock.c CC: unistd/lib_getpass.c CC: unistd/lib_chdir.c CC: unistd/lib_fchdir.c CC: unistd/lib_confstr.c CC: unistd/lib_ulimit.c CC: unistd/lib_setuid.c CC: unistd/lib_setgid.c CC: unistd/lib_getgid.c CC: unistd/lib_getuid.c CC: unistd/lib_seteuid.c CC: unistd/lib_setegid.c CC: unistd/lib_geteuid.c CC: unistd/lib_getegid.c CC: unistd/lib_truncate.c CC: unistd/lib_restoredir.c CC: unistd/lib_posix_fallocate.c CC: unistd/lib_fork.c CC: uuid/lib_uuid_compare.c CC: uuid/lib_uuid_create.c CC: uuid/lib_uuid_create_nil.c CC: uuid/lib_uuid_equal.c CC: uuid/lib_uuid_from_string.c CC: uuid/lib_uuid_hash.c CC: uuid/lib_uuid_is_nil.c CC: uuid/lib_uuid_stream.c CC: wchar/lib_wcscmp.c CC: uuid/lib_uuid_to_string.c CC: wchar/lib_wcslen.c CC: wchar/lib_wmemchr.c CC: wchar/lib_wmemcmp.c CC: wchar/lib_wmemcpy.c CC: wchar/lib_wmemmove.c CC: wchar/lib_wmemset.c CC: wchar/lib_mbrtowc.c CC: wchar/lib_btowc.c CC: wchar/lib_wcslcpy.c CC: wchar/lib_wctob.c CC: wchar/lib_wcsxfrm.c CC: wchar/lib_wcrtomb.c CC: wchar/lib_wcsftime.c CC: wchar/lib_wcscoll.c CC: wchar/lib_wcstol.c CC: wchar/lib_wcstoul.c CC: wchar/lib_wcstoll.c CC: wchar/lib_wcstold.c CC: wchar/lib_wcstof.c CC: wchar/lib_wcstoull.c CC: wchar/lib_swprintf.c CC: wchar/lib_wcstod.c CC: wchar/lib_mbsnrtowcs.c CC: wchar/lib_wcsnrtombs.c CC: wchar/lib_mbsinit.c CC: wchar/lib_mbrlen.c CC: wchar/lib_mbsrtowcs.c CC: wchar/lib_wcsrtombs.c CC: wchar/lib_wcscpy.c CC: wchar/lib_wcscat.c CC: wchar/lib_wcslcat.c CC: wchar/lib_wcsncat.c CC: wchar/lib_wcschr.c CC: wchar/lib_wcsrchr.c CC: wchar/lib_wcsncpy.c CC: wchar/lib_wcsncmp.c CC: wchar/lib_wcscspn.c CC: wchar/lib_wcspbrk.c CC: wchar/lib_wcsspn.c CC: wchar/lib_wcstok.c CC: wchar/lib_wcsstr.c CC: wchar/lib_wcswcs.c CC: wchar/lib_wcwidth.c CC: wchar/lib_wcswidth.c CC: wctype/lib_wctype.c CC: wctype/lib_iswctype.c CC: wctype/lib_towlower.c CC: wctype/lib_towupper.c IN: libs/libc/libc.a -> staging/libc.a CPP: /tmp/checkrelease-pinephone/nuttx/boards/arm64/a64/pinephone/scripts/dramboot.ld-> /tmp/checkrelease-pinephone/nuttx/boards/arm64/a64/pinephone/scripts/dramboot.ld.tmp CC: pinephone_boardinit.c CC: pinephone_bringup.c CC: pinephone_pmic.c CC: pinephone_appinit.c CC: pinephone_reset.c CC: pinephone_autoleds.c CC: pinephone_userleds.c LD: nuttx | |
| Memory region Used Size Region Size %age Used | |
| CP: nuttx.hex | |
| CP: nuttx.bin | |
| + popd | |
| /tmp/checkrelease-pinephone/nuttx | |
| + echo ----- Copy the config | |
| ----- Copy the config | |
| + cp .config nuttx.config | |
| + echo ----- Compress the NuttX Image | |
| ----- Compress the NuttX Image | |
| + cp nuttx.bin Image | |
| + rm -f Image.gz | |
| + gzip Image | |
| + echo '===== PinePhone Size' | |
| ===== PinePhone Size | |
| + aarch64-none-elf-size nuttx | |
| text data bss dec hex filename | |
| 255658 14757 60963 331378 50e72 nuttx | |
| + echo ----- Dump the disassembly to nuttx.S | |
| ----- Dump the disassembly to nuttx.S | |
| + echo ----- Wait for microSD | |
| ----- Wait for microSD | |
| + microsd=/media/luppy/A993-6C26 | |
| + set +x | |
| ***** Insert microSD into computer | |
| + aarch64-none-elf-objdump -t -S --demangle --line-numbers --wide nuttx | |
| + echo ----- Copy to microSD | |
| ----- Copy to microSD | |
| + cp Image.gz /media/luppy/A993-6C26/ | |
| + ls -l /media/luppy/A993-6C26/Image.gz | |
| -rw-r--r-- 1 luppy luppy 124839 Mar 30 20:39 /media/luppy/A993-6C26/Image.gz | |
| + echo ----- Unmount microSD | |
| ----- Unmount microSD | |
| + umount /media/luppy/A993-6C26 | |
| + echo ----- Wait for USB Serial to be connected | |
| ----- Wait for USB Serial to be connected | |
| + usbserial=/dev/ttyUSB0 | |
| + set +x | |
| ***** Insert microSD into PinePhone, connect PinePhone to USB | |
| + echo ----- Run the firmware | |
| ----- Run the firmware | |
| + echo Power on PinePhone, run 'uname -a' and free. | |
| Power on PinePhone, run uname -a and free. | |
| + echo Press Enter to begin... | |
| Press Enter to begin... | |
| + read | |
| + echo '===== PinePhone NSH Info and Free' | |
| ===== PinePhone NSH Info and Free | |
| + screen /dev/ttyUSB0 115200 | |
| DRAM: 2048 MiB | |
| Trying to boot from MMC1 | |
| NOTICE: BL31: v2.2(release):v2.2-904-gf9ea3a629 | |
| NOTICE: BL31: Built : 15:32:12, Apr 9 2020 | |
| NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689) | |
| NOTICE: BL31: Found U-Boot DTB at 0x4064410, model: PinePhone | |
| NOTICE: PSCI: System suspend is unavailable | |
| U-Boot 2020.07 (Nov 08 2020 - 00:15:12 +0100) | |
| DRAM: 2 GiB | |
| MMC: Device 'mmc@1c11000': seq 1 is in use by 'mmc@1c10000' | |
| mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1 | |
| Loading Environment from FAT... *** Warning - bad CRC, using default environment | |
| starting USB... | |
| No working controllers found | |
| Hit any key to stop autoboot: 0 | |
| switch to partitions #0, OK | |
| mmc0 is current device | |
| Scanning mmc 0:1... | |
| Found U-Boot script /boot.scr | |
| 653 bytes read in 3 ms (211.9 KiB/s) | |
| ## Executing script at 4fc00000 | |
| gpio: pin 114 (gpio 114) value is 1 | |
| 124839 bytes read in 10 ms (11.9 MiB/s) | |
| Uncompressed size: 339968 = 0x53000 | |
| 36162 bytes read in 4 ms (8.6 MiB/s) | |
| 1078500 bytes read in 50 ms (20.6 MiB/s) | |
| ## Flattened Device Tree blob at 4fa00000 | |
| Booting using the fdt blob at 0x4fa00000 | |
| Loading Ramdisk to 49ef8000, end 49fff4e4 ... OK | |
| Loading Device Tree to 0000000049eec000, end 0000000049ef7d41 ... OK | |
| Starting kernel ... | |
| NuttShell (NSH) NuttX-12.13.0 | |
| nsh> uname -a | |
| NuttX 12.13.0 b9b5d9afbf Mar 30 2026 20:35:30 arm64 pinephone | |
| nsh> free | |
| total used free maxused maxfree nused nfree name | |
| 133353472 22008 133331464 22704 133331464 26 1 Umem | |
| nsh> ls -l /dev | |
| /dev: | |
| crw-rw-rw- 0 console | |
| crw-rw-rw- 0 null | |
| crw-rw-rw- 0 ttyS0 | |
| c-w--w--w- 0 userleds | |
| crw-rw-rw- 0 zero | |
| nsh> ps | |
| TID PID PPID PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED COMMAND | |
| 0 0 0 0 FIFO Kthread - Ready 0000000000000000 0008144 0000944 11.5% Idle_Task | |
| 1 0 0 192 RR Kthread - Waiting Semaphore 0000000000000000 0008080 0001072 13.2% hpwork 0x400c0588 0x400c0610 | |
| 2 2 0 100 RR Task - Running 0000000000000000 0008112 0003392 41.8% nsh_main | |
| nsh> hello | |
| Hello, World!! | |
| nsh> getprime | |
| Set thread priority to 10 | |
| Set thread policy to SCHED_RR | |
| Start thread #0 | |
| thread #0 started, looking for primes < 10000, doing 10 run(s) | |
| thread #0 finished, found 1230 primes, last one was 9973 | |
| Done | |
| getprime took 280 msec | |
| nsh> hello | |
| Hello, World!! | |
| nsh> getprime | |
| Set thread priority to 10 | |
| Set thread policy to SCHED_RR | |
| Start thread #0 | |
| thread #0 started, looking for primes < 10000, doing 10 run(s) | |
| thread #0 finished, found 1230 primes, last one was 9973 | |
| Done | |
| getprime took 280 msec | |
| nsh> ostest | |
| stdio_test: write fd=1 | |
| stdio_test: Standard I/O Check: printf | |
| stdio_test: write fd=2 | |
| stdio_test: Standard I/O Check: fprintf to stderr | |
| ostest_main: putenv(Variable1=BadValue3) | |
| ostest_main: setenv(Variable1, GoodValue1, TRUE) | |
| ostest_main: setenv(Variable2, BadValue1, FALSE) | |
| ostest_main: setenv(Variable2, GoodValue2, TRUE) | |
| ostest_main: setenv(Variable3, GoodValue3, FALSE) | |
| ostest_main: setenv(Variable3, BadValue2, FALSE) | |
| show_variable: Variable=Variable1 has value=GoodValue1 | |
| show_variable: Variable=Variable2 has value=GoodValue2 | |
| show_variable: Variable=Variable3 has value=GoodValue3 | |
| ostest_main: Started user_main at PID=10 | |
| user_main: Begin argument test | |
| user_main: Started with argc=5 | |
| user_main: argv[0]="ostest" | |
| user_main: argv[1]="Arg1" | |
| user_main: argv[2]="Arg2" | |
| user_main: argv[3]="Arg3" | |
| user_main: argv[4]="Arg4" | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9ea0 9ea0 | |
| fordblks 7f23160 7f23160 | |
| user_main: getopt() test | |
| getopt(): Simple test | |
| getopt(): Invalid argument | |
| getopt(): Missing optional argument | |
| getopt_long(): Simple test | |
| getopt_long(): No short options | |
| getopt_long(): Argument for --option=argument | |
| getopt_long(): Invalid long option | |
| getopt_long(): Mixed long and short options | |
| getopt_long(): Invalid short option | |
| getopt_long(): Missing optional arguments | |
| getopt_long_only(): Mixed long and short options | |
| getopt_long_only(): Single hyphen long options | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9ea0 9ea0 | |
| fordblks 7f23160 7f23160 | |
| user_main: libc tests | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9ea0 9ea0 | |
| fordblks 7f23160 7f23160 | |
| show_variable: Variable=Variable1 has value=GoodValue1 | |
| show_variable: Variable=Variable2 has value=GoodValue2 | |
| show_variable: Variable=Variable3 has value=GoodValue3 | |
| show_variable: Variable=Variable1 has no value | |
| show_variable: Variable=Variable2 has value=GoodValue2 | |
| show_variable: Variable=Variable3 has value=GoodValue3 | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 3 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9ea0 9e80 | |
| fordblks 7f23160 7f23180 | |
| show_variable: Variable=Variable1 has no value | |
| show_variable: Variable=Variable2 has no value | |
| show_variable: Variable=Variable3 has no value | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 3 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9e80 9dd0 | |
| fordblks 7f23180 7f23230 | |
| user_main: setvbuf test | |
| setvbuf_test: Test NO buffering | |
| setvbuf_test: Using NO buffering | |
| setvbuf_test: Test default FULL buffering | |
| setvbuf_test: Using default FULL buffering | |
| setvbuf_test: Test FULL buffering, buffer size 64 | |
| setvbuf_test: Using FULL buffering, buffer size 64 | |
| setvbuf_test: Test FULL buffering, pre-allocated buffer | |
| setvbuf_test: Using FULL buffering, pre-allocated buffer | |
| setvbuf_test: Test LINE buffering, buffer size 64 | |
| setvbuf_test: Using LINE buffering, buffer size 64 | |
| setvbuf_test: Test FULL buffering, pre-allocated buffer | |
| setvbuf_test: Using FULL buffering, pre-allocated buffer | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9dd0 9dd0 | |
| fordblks 7f23230 7f23230 | |
| user_main: /dev/null test | |
| dev_null: Read 0 bytes from /dev/null | |
| dev_null: Wrote 1024 bytes to /dev/null | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9dd0 9dd0 | |
| fordblks 7f23230 7f23230 | |
| user_main: FPU test | |
| Starting task FPU#1 | |
| fpu_test: Started task FPU#1 at PID=11 | |
| FPU#1: pass 1 | |
| Starting task FPU#2 | |
| fpu_test: Started task FPU#2 at PID=12 | |
| FPU#2: pass 1 | |
| FPU#1: pass 2 | |
| FPU#2: pass 2 | |
| FPU#1: pass 3 | |
| FPU#2: pass 3 | |
| FPU#1: pass 4 | |
| FPU#2: pass 4 | |
| FPU#1: pass 5 | |
| FPU#2: pass 5 | |
| FPU#1: pass 6 | |
| FPU#2: pass 6 | |
| FPU#1: pass 7 | |
| FPU#2: pass 7 | |
| FPU#1: pass 8 | |
| FPU#2: pass 8 | |
| FPU#1: pass 9 | |
| FPU#2: pass 9 | |
| FPU#1: pass 10 | |
| FPU#2: pass 10 | |
| FPU#1: pass 11 | |
| FPU#2: pass 11 | |
| FPU#1: pass 12 | |
| FPU#2: pass 12 | |
| FPU#1: pass 13 | |
| FPU#2: pass 13 | |
| FPU#1: pass 14 | |
| FPU#2: pass 14 | |
| FPU#1: pass 15 | |
| FPU#2: pass 15 | |
| FPU#1: pass 16 | |
| FPU#2: pass 16 | |
| FPU#1: Succeeded | |
| FPU#2: Succeeded | |
| fpu_test: Returning | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9dd0 9dd0 | |
| fordblks 7f23230 7f23230 | |
| user_main: task_restart test | |
| Test task_restart() | |
| restart_main: setenv(VarName, VarValue, TRUE) | |
| restart_main: Started restart_main at PID=13 | |
| restart_main: Started with argc=4 | |
| restart_main: argv[0]="ostest" | |
| restart_main: argv[1]="This is argument 1" | |
| restart_main: argv[2]="Argument 2 here" | |
| restart_main: argv[3]="Lastly, the 3rd argument" | |
| restart_main: Variable=VarName has value=VarValue | |
| restart_main: I am still here | |
| restart_main: I am still here | |
| restart_main: Started restart_main at PID=13 | |
| restart_main: Started with argc=4 | |
| restart_main: argv[0]="ostest" | |
| restart_main: argv[1]="This is argument 1" | |
| restart_main: argv[2]="Argument 2 here" | |
| restart_main: argv[3]="Lastly, the 3rd argument" | |
| restart_main: Variable=VarName has value=VarValue | |
| restart_main: Started with argc=4 | |
| restart_main: argv[0]="ostest" | |
| restart_main: argv[1]="This is argument 1" | |
| restart_main: argv[2]="Argument 2 here" | |
| restart_main: argv[3]="Lastly, the 3rd argument" | |
| restart_main: Variable=VarName has value=VarValue | |
| restart_main: Exiting | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9dd0 9e28 | |
| fordblks 7f23230 7f231d8 | |
| user_main: waitpid test | |
| Test waitpid() | |
| waitpid_start_child: Started waitpid_main at PID=14 | |
| waitpid_main: PID 14 Started | |
| waitpid_start_child: Started waitpid_main at PID=15 | |
| waitpid_main: PID 15 Started | |
| waitpid_start_child: Started waitpid_main at PID=19 | |
| waitpid_main: PID 19 Started | |
| waitpid_test: Waiting for PID=14 with waitpid() | |
| waitpid_main: PID 14 exitting with result=14 | |
| waitpid_test: PID 14 waitpid succeeded with stat_loc=0e00 | |
| waitpid_last: Waiting for PID=19 with waitpid() | |
| waitpid_main: PID 15 exitting with result=14 | |
| waitpid_main: PID 19 exitting with result=14 | |
| waitpid_last: PASS: PID 19 waitpid succeeded with stat_loc=0e00 | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9e28 9e28 | |
| fordblks 7f231d8 7f231d8 | |
| user_main: wqueue test | |
| wqueue_test: HPWORK | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: HPWORK done | |
| wqueue_test: test 1 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: test 1 done | |
| wqueue_test: test 2 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: call = 100, expect = 100 | |
| wqueue_test: test 2 done | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9e28 9e28 | |
| fordblks 7f231d8 7f231d8 | |
| user_main: mutex test | |
| Initializing mutex | |
| Starting thread 1 | |
| Starting thread 2 | |
| Thread1 Thread2 | |
| Loops 3232 | |
| Errors 00 | |
| Testing moved mutex | |
| Starting moved mutex thread 1 | |
| Starting moved mutex thread 2 | |
| Thread1 Thread2 | |
| Moved Loops3232 | |
| Moved Errors00 | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9e28 9e28 | |
| fordblks 7f231d8 7f231d8 | |
| user_main: timed mutex test | |
| mutex_test: Initializing mutex | |
| mutex_test: Starting thread | |
| pthread: Started | |
| pthread: Waiting for lock or timeout | |
| mutex_test: Unlocking | |
| pthread: Got the lock | |
| pthread: Waiting for lock or timeout | |
| pthread: Got the timeout. Terminating | |
| mutex_test: PASSED | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9e28 9e28 | |
| fordblks 7f231d8 7f231d8 | |
| user_main: cancel test | |
| cancel_test: Test 1a: Normal Cancellation | |
| cancel_test: Starting thread | |
| start_thread: Initializing mutex | |
| start_thread: Initializing cond | |
| start_thread: Starting thread | |
| start_thread: Yielding | |
| sem_waiter: Taking mutex | |
| sem_waiter: Starting wait for condition | |
| cancel_test: Canceling thread | |
| cancel_test: Joining | |
| cancel_test: waiter exited with result=0xffffffffffffffff | |
| cancel_test: PASS thread terminated with PTHREAD_CANCELED | |
| cancel_test: Test 2: Asynchronous Cancellation | |
| ... Skipped | |
| cancel_test: Test 3: Cancellation of detached thread | |
| cancel_test: Re-starting thread | |
| restart_thread: Destroying cond | |
| restart_thread: Destroying mutex | |
| restart_thread: Re-starting thread | |
| start_thread: Initializing mutex | |
| start_thread: Initializing cond | |
| start_thread: Starting thread | |
| start_thread: Yielding | |
| sem_waiter: Taking mutex | |
| sem_waiter: Starting wait for condition | |
| cancel_test: Canceling thread | |
| cancel_test: Joining | |
| cancel_test: PASS pthread_join failed with status=ESRCH | |
| cancel_test: Test 5: Non-cancelable threads | |
| cancel_test: Re-starting thread (non-cancelable) | |
| restart_thread: Destroying cond | |
| restart_thread: Destroying mutex | |
| restart_thread: Re-starting thread | |
| start_thread: Initializing mutex | |
| start_thread: Initializing cond | |
| start_thread: Starting thread | |
| start_thread: Yielding | |
| sem_waiter: Taking mutex | |
| sem_waiter: Starting wait for condition | |
| sem_waiter: Setting non-cancelable | |
| cancel_test: Canceling thread | |
| cancel_test: Joining | |
| sem_waiter: Releasing mutex | |
| sem_waiter: Setting cancelable | |
| cancel_test: waiter exited with result=0xffffffffffffffff | |
| cancel_test: PASS thread terminated with PTHREAD_CANCELED | |
| cancel_test: Test 6: Cancel message queue wait | |
| cancel_test: Starting thread (cancelable) | |
| Skipped | |
| cancel_test: Test 7: Cancel signal wait | |
| cancel_test: Starting thread (cancelable) | |
| Skipped | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9e28 9e28 | |
| fordblks 7f231d8 7f231d8 | |
| user_main: robust test | |
| robust_test: Initializing mutex | |
| robust_test: Starting thread | |
| robust_waiter: Taking mutex | |
| robust_waiter: Exiting with mutex | |
| robust_test: Take the lock again | |
| robust_test: Make the mutex consistent again. | |
| robust_test: Take the lock again | |
| robust_test: Joining | |
| robust_test: waiter exited with result=0 | |
| robust_test: Test complete with nerrors=0 | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9e28 9e28 | |
| fordblks 7f231d8 7f231d8 | |
| user_main: semaphore test | |
| sem_test: Initializing semaphore to 0 | |
| sem_test: Starting waiter thread 1 | |
| sem_test: Set thread 1 priority to 191 | |
| waiter_func: Thread 1 Started | |
| sem_test: Starting waiter thread 2 | |
| waiter_func: Thread 1 initial semaphore value = 0 | |
| sem_test: Set thread 2 priority to 128 | |
| waiter_func: Thread 1 waiting on semaphore | |
| waiter_func: Thread 2 Started | |
| waiter_func: Thread 2 initial semaphore value = -1 | |
| waiter_func: Thread 2 waiting on semaphore | |
| sem_test: Starting poster thread 3 | |
| sem_test: Set thread 3 priority to 64 | |
| poster_func: Thread 3 started | |
| poster_func: Thread 3 semaphore value = -2 | |
| poster_func: Thread 3 posting semaphore | |
| waiter_func: Thread 1 awakened | |
| poster_func: Thread 3 new semaphore value = -1 | |
| waiter_func: Thread 1 new semaphore value = -1 | |
| poster_func: Thread 3 semaphore value = -1 | |
| waiter_func: Thread 1 done | |
| poster_func: Thread 3 posting semaphore | |
| waiter_func: Thread 2 awakened | |
| poster_func: Thread 3 new semaphore value = 0 | |
| waiter_func: Thread 2 new semaphore value = 0 | |
| poster_func: Thread 3 done | |
| waiter_func: Thread 2 done | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9e28 9e28 | |
| fordblks 7f231d8 7f231d8 | |
| user_main: timed semaphore test | |
| semtimed_test: Initializing semaphore to 0 | |
| semtimed_test: Waiting for two second timeout | |
| semtimed_test: PASS: first test returned timeout | |
| BEFORE: (1667260900 sec, 46466250 nsec) | |
| AFTER: (1667260902 sec, 46548458 nsec) | |
| semtimed_test: Starting poster thread | |
| semtimed_test: Set thread 1 priority to 191 | |
| semtimed_test: Starting poster thread 3 | |
| semtimed_test: Set thread 3 priority to 64 | |
| semtimed_test: Waiting for two second timeout | |
| poster_func: Waiting for 1 second | |
| poster_func: Posting | |
| semtimed_test: PASS: sem_timedwait succeeded | |
| BEFORE: (1667260902 sec, 50421833 nsec) | |
| AFTER: (1667260903 sec, 57563625 nsec) | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9e28 9e28 | |
| fordblks 7f231d8 7f231d8 | |
| user_main: condition variable test | |
| cond_test: Initializing mutex | |
| cond_test: Initializing cond | |
| cond_test: Starting waiter | |
| cond_test: Set thread 1 priority to 128 | |
| waiter_thread: Started | |
| cond_test: Starting signaler | |
| cond_test: Set thread 2 priority to 64 | |
| thread_signaler: Started | |
| thread_signaler: Terminating | |
| cond_test: signaler terminated, now cancel the waiter | |
| cond_test: Waiter Signaler | |
| cond_test: Loops3232 | |
| cond_test: Errors00 | |
| cond_test: | |
| cond_test: 0 times, waiter did not have to wait for data | |
| cond_test: 0 times, data was already available when the signaler run | |
| cond_test: 0 times, the waiter was in an unexpected state when the signaler ran | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 2 | |
| mxordblk 7f23138 7f23138 | |
| uordblks 9e28 9e28 | |
| fordblks 7f231d8 7f231d8 | |
| user_main: pthread_exit() test | |
| pthread_exit_test: Started pthread_exit_main at PID=215 | |
| pthread_exit_main 215: Starting pthread_exit_thread | |
| pthread_exit_main 215: Sleeping for 5 seconds | |
| pthread_exit_thread 216: Sleeping for 10 second | |
| pthread_exit_thread 216: Still running... | |
| pthread_exit_main 215: Calling pthread_exit() | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 4 | |
| mxordblk 7f23138 7f1edf8 | |
| uordblks 9e28 bf90 | |
| fordblks 7f231d8 7f21070 | |
| user_main: pthread_rwlock test | |
| pthread_rwlock: Initializing rwlock | |
| pthread_exit_thread 216: Exiting | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 4 3 | |
| mxordblk 7f1edf8 7f20e00 | |
| uordblks bf90 9e58 | |
| fordblks 7f21070 7f231a8 | |
| user_main: pthread_rwlock_cancel test | |
| pthread_rwlock_cancel: Starting test | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 3 3 | |
| mxordblk 7f20e00 7f20e00 | |
| uordblks 9e58 9e58 | |
| fordblks 7f231a8 7f231a8 | |
| user_main: timed wait test | |
| thread_waiter: Initializing mutex | |
| timedwait_test: Initializing cond | |
| timedwait_test: Starting waiter | |
| timedwait_test: Set thread 2 priority to 177 | |
| thread_waiter: Taking mutex | |
| timedwait_test: Joining | |
| thread_waiter: Starting 5 second wait for condition | |
| thread_waiter: pthread_cond_timedwait timed out | |
| thread_waiter: Releasing mutex | |
| thread_waiter: Exit with status 0x12345678 | |
| timedwait_test: waiter exited with result=0x12345678 | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 3 3 | |
| mxordblk 7f20e00 7f20e00 | |
| uordblks 9e58 9e58 | |
| fordblks 7f231a8 7f231a8 | |
| user_main: timed message queue test | |
| timedmqueue_test: Starting sender | |
| timedmqueue_test: Waiting for sender to complete | |
| sender_thread: Starting | |
| sender_thread: mq_timedsend succeeded on msg 0 | |
| sender_thread: mq_timedsend succeeded on msg 1 | |
| sender_thread: mq_timedsend succeeded on msg 2 | |
| sender_thread: mq_timedsend succeeded on msg 3 | |
| sender_thread: mq_timedsend succeeded on msg 4 | |
| sender_thread: mq_timedsend succeeded on msg 5 | |
| sender_thread: mq_timedsend succeeded on msg 6 | |
| sender_thread: mq_timedsend succeeded on msg 7 | |
| sender_thread: mq_timedsend succeeded on msg 8 | |
| sender_thread: mq_timedsend 9 timed out as expected | |
| sender_thread: returning nerrors=0 | |
| timedmqueue_test: Starting receiver | |
| timedmqueue_test: Waiting for receiver to complete | |
| receiver_thread: Starting | |
| receiver_thread: mq_timedreceive succeed on msg 0 | |
| receiver_thread: mq_timedreceive succeed on msg 1 | |
| receiver_thread: mq_timedreceive succeed on msg 2 | |
| receiver_thread: mq_timedreceive succeed on msg 3 | |
| receiver_thread: mq_timedreceive succeed on msg 4 | |
| receiver_thread: mq_timedreceive succeed on msg 5 | |
| receiver_thread: mq_timedreceive succeed on msg 6 | |
| receiver_thread: mq_timedreceive succeed on msg 7 | |
| receiver_thread: mq_timedreceive succeed on msg 8 | |
| receiver_thread: Receive 9 timed out as expected | |
| receiver_thread: returning nerrors=0 | |
| timedmqueue_test: Test complete | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 3 4 | |
| mxordblk 7f20e00 7f20e00 | |
| uordblks 9e58 9f08 | |
| fordblks 7f231a8 7f230f8 | |
| user_main: sigprocmask test | |
| sigprocmask_test: SUCCESS | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 4 4 | |
| mxordblk 7f20e00 7f20e00 | |
| uordblks 9f08 9f08 | |
| fordblks 7f230f8 7f230f8 | |
| user_main: message queue test | |
| mqueue_test: Starting receiver | |
| mqueue_test: Set receiver priority to 128 | |
| receiver_thread: Starting | |
| mqueue_test: Starting sender | |
| mqueue_test: Set sender thread priority to 64 | |
| mqueue_test: Waiting for sender to complete | |
| sender_thread: Starting | |
| receiver_thread: mq_receive succeeded on msg 0 | |
| sender_thread: mq_send succeeded on msg 0 | |
| receiver_thread: mq_receive succeeded on msg 1 | |
| sender_thread: mq_send succeeded on msg 1 | |
| receiver_thread: mq_receive succeeded on msg 2 | |
| sender_thread: mq_send succeeded on msg 2 | |
| receiver_thread: mq_receive succeeded on msg 3 | |
| sender_thread: mq_send succeeded on msg 3 | |
| receiver_thread: mq_receive succeeded on msg 4 | |
| sender_thread: mq_send succeeded on msg 4 | |
| receiver_thread: mq_receive succeeded on msg 5 | |
| sender_thread: mq_send succeeded on msg 5 | |
| receiver_thread: mq_receive succeeded on msg 6 | |
| sender_thread: mq_send succeeded on msg 6 | |
| receiver_thread: mq_receive succeeded on msg 7 | |
| sender_thread: mq_send succeeded on msg 7 | |
| receiver_thread: mq_receive succeeded on msg 8 | |
| sender_thread: mq_send succeeded on msg 8 | |
| receiver_thread: mq_receive succeeded on msg 9 | |
| sender_thread: mq_send succeeded on msg 9 | |
| sender_thread: returning nerrors=0 | |
| mqueue_test: Killing receiver | |
| receiver_thread: mq_receive interrupted! | |
| receiver_thread: returning nerrors=0 | |
| mqueue_test: Canceling receiver | |
| mqueue_test: receiver has already terminated | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 4 4 | |
| mxordblk 7f20e00 7f20e00 | |
| uordblks 9f08 9f08 | |
| fordblks 7f230f8 7f230f8 | |
| user_main: signal handler test | |
| sighand_test: Initializing semaphore to 0 | |
| sighand_test: Starting waiter task | |
| sighand_test: Started waiter_main pid=235 | |
| waiter_main: Waiter started | |
| waiter_main: Unmasking signal 32 | |
| waiter_main: Registering signal handler | |
| waiter_main: oact.sigaction=0 oact.sa_flags=0 oact.sa_mask=0000000000000000 | |
| waiter_main: Waiting on semaphore | |
| sighand_test: Signaling pid=235 with signo=32 sigvalue=42 | |
| waiter_main: sem_wait() successfully interrupted by signal | |
| waiter_main: done | |
| sighand_test: done | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 4 5 | |
| mxordblk 7f20e00 7f20e00 | |
| uordblks 9f08 9f40 | |
| fordblks 7f230f8 7f230c0 | |
| user_main: nested signal handler test | |
| signest_test: Starting signal waiter task at priority 101 | |
| waiter_main: Waiter started | |
| signest_test: Started waiter_main pid=236 | |
| waiter_main: Setting signal mask | |
| signest_test: Starting interfering task at priority 102 | |
| waiter_main: Registering signal handler | |
| interfere_main: Waiting on semaphore | |
| waiter_main: Waiting on semaphore | |
| signest_test: Started interfere_main pid=237 | |
| signest_test: Simple case: | |
| Total signalled 1240 Odd=620 Even=620 | |
| Total handled 1240 Odd=620 Even=620 | |
| Total nested 0 Odd=0 Even=0 | |
| signest_test: With task locking | |
| Total signalled 2480 Odd=1240 Even=1240 | |
| Total handled 2480 Odd=1240 Even=1240 | |
| Total nested 0 Odd=0 Even=0 | |
| signest_test: With intefering thread | |
| Total signalled 3720 Odd=1860 Even=1860 | |
| Total handled 3720 Odd=1860 Even=1860 | |
| Total nested 0 Odd=0 Even=0 | |
| signest_test: done | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 5 7 | |
| mxordblk 7f20e00 7f20e00 | |
| uordblks 9f40 9ff8 | |
| fordblks 7f230c0 7f23008 | |
| user_main: POSIX timer test | |
| timer_test: Initializing semaphore to 0 | |
| timer_test: Unmasking signal 32 | |
| timer_test: Registering signal handler | |
| timer_test: oact.sigaction=0 oact.sa_flags=0 oact.sa_mask=0000000000000000 | |
| timer_test: Creating timer | |
| timer_test: Starting timer | |
| timer_test: Waiting on semaphore | |
| timer_expiration: Received signal 32 | |
| timer_expiration: sival_int=42 | |
| timer_expiration: si_code=2 (SI_TIMER) | |
| timer_expiration: ucontext=0 | |
| timer_test: sem_wait() successfully interrupted by signal | |
| timer_test: g_nsigreceived=1 | |
| timer_test: Waiting on semaphore | |
| timer_expiration: Received signal 32 | |
| timer_expiration: sival_int=42 | |
| timer_expiration: si_code=2 (SI_TIMER) | |
| timer_expiration: ucontext=0 | |
| timer_test: sem_wait() successfully interrupted by signal | |
| timer_test: g_nsigreceived=2 | |
| timer_test: Waiting on semaphore | |
| timer_expiration: Received signal 32 | |
| timer_expiration: sival_int=42 | |
| timer_expiration: si_code=2 (SI_TIMER) | |
| timer_expiration: ucontext=0 | |
| timer_test: sem_wait() successfully interrupted by signal | |
| timer_test: g_nsigreceived=3 | |
| timer_test: Waiting on semaphore | |
| timer_expiration: Received signal 32 | |
| timer_expiration: sival_int=42 | |
| timer_expiration: si_code=2 (SI_TIMER) | |
| timer_expiration: ucontext=0 | |
| timer_test: sem_wait() successfully interrupted by signal | |
| timer_test: g_nsigreceived=4 | |
| timer_test: Waiting on semaphore | |
| timer_expiration: Received signal 32 | |
| timer_expiration: sival_int=42 | |
| timer_expiration: si_code=2 (SI_TIMER) | |
| timer_expiration: ucontext=0 | |
| timer_test: sem_wait() successfully interrupted by signal | |
| timer_test: g_nsigreceived=5 | |
| timer_test: Deleting timer | |
| timer_test: done | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 7 7 | |
| mxordblk 7f20e00 7f20e00 | |
| uordblks 9ff8 9ff8 | |
| fordblks 7f23008 7f23008 | |
| user_main: spinlock test | |
| Start Lock test: | |
| Thread num: 1, Loop times: 10000000 | |
| Test type: spinlock | |
| spinlock: Test Results: | |
| spinlock: Final counter: 10000000 | |
| spinlock: Average throughput : 16974140 op/s | |
| spinlock: Total execution time: 589159208 ns | |
| Test type: rspinlock | |
| rspinlock: Test Results: | |
| rspinlock: Final counter: 10000000 | |
| rspinlock: Average throughput : 14298525 op/s | |
| rspinlock: Total execution time: 699403792 ns | |
| Test type: seqcount | |
| seqcount: Test Results: | |
| seqcount: Final counter: 10000000 | |
| seqcount: Average throughput : 37022982 op/s | |
| seqcount: Total execution time: 270131125 ns | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 7 7 | |
| mxordblk 7f20e00 7f20e00 | |
| uordblks 9ff8 9ff8 | |
| fordblks 7f23008 7f23008 | |
| user_main: wdog test | |
| wdog_test start... | |
| wdtest_once 0 ns | |
| wdtest_once 0 ns | |
| wdtest_once 0 ns | |
| wdtest_once 0 ns | |
| wdtest_once 1 ns | |
| wdtest_once 1 ns | |
| wdtest_once 1 ns | |
| wdtest_once 1 ns | |
| wdtest_once 10 ns | |
| wdtest_once 10 ns | |
| wdtest_once 10 ns | |
| wdtest_once 10 ns | |
| wdtest_once 100 ns | |
| wdtest_once 100 ns | |
| wdtest_once 100 ns | |
| wdtest_once 100 ns | |
| wdtest_once 1000 ns | |
| wdtest_once 1000 ns | |
| wdtest_once 1000 ns | |
| wdtest_once 1000 ns | |
| wdtest_once 10000 ns | |
| wdtest_once 10000 ns | |
| wdtest_once 10000 ns | |
| wdtest_once 10000 ns | |
| wdtest_once 100000 ns | |
| wdtest_once 100000 ns | |
| wdtest_once 100000 ns | |
| wdtest_once 100000 ns | |
| wdtest_once 1000000 ns | |
| wdtest_once 1000000 ns | |
| wdtest_once 1000000 ns | |
| wdtest_once 1000000 ns | |
| wd_start with maximum delay, cancel OK, rest 4611686018427387900 | |
| wd_start with maximum delay, cancel OK, rest 4611686018427387900 | |
| wd_start with maximum delay, cancel OK, rest 4611686018427387900 | |
| wdtest_recursive 1000000ns | |
| wd_start with maximum delay, cancel OK, rest 4611686018427387900 | |
| wdtest_recursive 1000000ns | |
| wdtest_recursive 1000000ns | |
| wdtest_recursive 1000000ns | |
| recursive wdog triggered 51 times, elapsed tick 102 | |
| wdtest_recursive 10000000ns | |
| recursive wdog triggered 51 times, elapsed tick 102 | |
| wdtest_recursive 10000000ns | |
| recursive wdog triggered 51 times, elapsed tick 102 | |
| wdtest_recursive 10000000ns | |
| recursive wdog triggered 51 times, elapsed tick 102 | |
| wdtest_recursive 10000000ns | |
| recursive wdog triggered 9 times, elapsed tick 99 | |
| recursive wdog triggered 9 times, elapsed tick 99 | |
| recursive wdog triggered 9 times, elapsed tick 99 | |
| recursive wdog triggered 9 times, elapsed tick 99 | |
| wdog_test end... | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 7 7 | |
| mxordblk 7f20e00 7f20e00 | |
| uordblks 9ff8 9ff8 | |
| fordblks 7f23008 7f23008 | |
| user_main: round-robin scheduler test | |
| rr_test: Set thread priority to 1 | |
| rr_test: Set thread policy to SCHED_RR | |
| rr_test: Starting first get_primes_thread | |
| First get_primes_thread: 248 | |
| rr_test: Starting second get_primes_thread | |
| Second get_primes_thread: 251 | |
| rr_test: Waiting for threads to complete -- this should take awhile | |
| If RR scheduling is working, they should start and complete at | |
| about the same time | |
| get_primes_thread id=1 started, looking for primes < 30000, doing 10 run(s) | |
| get_primes_thread id=2 started, looking for primes < 30000, doing 10 run(s) | |
| get_primes_thread id=1 finished, found 3246 primes, last one was 29989 | |
| get_primes_thread id=2 finished, found 3246 primes, last one was 29989 | |
| rr_test: Done | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 7 7 | |
| mxordblk 7f20e00 7f20e00 | |
| uordblks 9ff8 9ff8 | |
| fordblks 7f23008 7f23008 | |
| user_main: barrier test | |
| barrier_test: Initializing barrier | |
| barrier_test: Thread 0 created | |
| barrier_func: Thread 0 started | |
| barrier_test: Thread 1 created | |
| barrier_func: Thread 1 started | |
| barrier_test: Thread 2 created | |
| barrier_func: Thread 2 started | |
| barrier_test: Thread 3 created | |
| barrier_func: Thread 3 started | |
| barrier_test: Thread 4 created | |
| barrier_func: Thread 4 started | |
| barrier_test: Thread 5 created | |
| barrier_func: Thread 5 started | |
| barrier_test: Thread 6 created | |
| barrier_func: Thread 6 started | |
| barrier_test: Thread 7 created | |
| barrier_func: Thread 7 started | |
| barrier_func: Thread 0 calling pthread_barrier_wait() | |
| barrier_func: Thread 1 calling pthread_barrier_wait() | |
| barrier_func: Thread 2 calling pthread_barrier_wait() | |
| barrier_func: Thread 3 calling pthread_barrier_wait() | |
| barrier_func: Thread 4 calling pthread_barrier_wait() | |
| barrier_func: Thread 5 calling pthread_barrier_wait() | |
| barrier_func: Thread 6 calling pthread_barrier_wait() | |
| barrier_func: Thread 7 calling pthread_barrier_wait() | |
| barrier_func: Thread 7, back with status=PTHREAD_BARRIER_SERIAL_THREAD (I AM SPECIAL) | |
| barrier_func: Thread 0, back with status=0 (I am not special) | |
| barrier_func: Thread 1, back with status=0 (I am not special) | |
| barrier_func: Thread 2, back with status=0 (I am not special) | |
| barrier_func: Thread 3, back with status=0 (I am not special) | |
| barrier_func: Thread 4, back with status=0 (I am not special) | |
| barrier_func: Thread 5, back with status=0 (I am not special) | |
| barrier_func: Thread 6, back with status=0 (I am not special) | |
| barrier_func: Thread 7 done | |
| barrier_func: Thread 0 done | |
| barrier_func: Thread 1 done | |
| barrier_test: Thread 0 completed with result=0 | |
| barrier_test: Thread 1 completed with result=0 | |
| barrier_func: Thread 2 done | |
| barrier_test: Thread 2 completed with result=0 | |
| barrier_func: Thread 3 done | |
| barrier_test: Thread 3 completed with result=0 | |
| barrier_func: Thread 4 done | |
| barrier_test: Thread 4 completed with result=0 | |
| barrier_func: Thread 5 done | |
| barrier_test: Thread 5 completed with result=0 | |
| barrier_func: Thread 6 done | |
| barrier_test: Thread 6 completed with result=0 | |
| barrier_test: Thread 7 completed with result=0 | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 7 7 | |
| mxordblk 7f20e00 7f20e00 | |
| uordblks 9ff8 9ff8 | |
| fordblks 7f23008 7f23008 | |
| user_main: scheduler lock test | |
| sched_lock: Starting lowpri_thread at 97 | |
| sched_lock: Set lowpri_thread priority to 97 | |
| sched_lock: Starting highpri_thread at 98 | |
| sched_lock: Set highpri_thread priority to 98 | |
| sched_lock: Waiting... | |
| sched_lock: PASSED No pre-emption occurred while scheduler was locked. | |
| sched_lock: Starting lowpri_thread at 97 | |
| sched_lock: Set lowpri_thread priority to 97 | |
| sched_lock: Starting highpri_thread at 98 | |
| sched_lock: Set highpri_thread priority to 98 | |
| sched_lock: Waiting... | |
| sched_lock: PASSED No pre-emption occurred while scheduler was locked. | |
| sched_lock: Finished | |
| End of test memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 7 7 | |
| mxordblk 7f20e00 7f20e00 | |
| uordblks 9ff8 9ff8 | |
| fordblks 7f23008 7f23008 | |
| user_main: vfork() test | |
| vfork_test: Child 269 ran successfully | |
| Final memory usage: | |
| VARIABLE BEFORE AFTER | |
| ======== ======== ======== | |
| arena 7f2d000 7f2d000 | |
| ordblks 2 7 | |
| mxordblk 7f23138 7f20e00 | |
| uordblks 9ea0 9ff8 | |
| fordblks 7f23160 7f23008 | |
| user_main: Exiting | |
| ostest_main: Exiting with status 0 | |
| nsh> Really kill this window [y/n]nsh> nsh> | |
| [screen is terminating] | |
| + echo ----- TODO: Verify hash from uname | |
| ----- TODO: Verify hash from uname | |
| Script done on 2026-03-30 20:44:21+08:00 [COMMAND_EXIT_CODE="0"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment