nuttx/boards/arm/rp2040/pimoroni-tiny2040/configs/nsh/defconfig
chao an fa0577ebfb boards/arm/gcc: disable coverage analysis temporarily
**Please revert this change if arm resolved this issue in the next release**

ARM GNU toolchain 11.3.Rel1 missing gcov_* symbols:

https://community.arm.com/support-forums/f/compilers-and-libraries-forum/53354/arm-gnu-toolchain-11-3-rel1-missing-gcov_-symbols

$ arm-none-eabi-gcc -v
...
gcc version 11.3.1 20220712 (Arm GNU Toolchain 11.3.Rel1)

$ cat main.c
int __start(void)
{
  return 0;
}

Compiler with arm GCC-11.3:

$ arm-none-eabi-gcc -c -Wstrict-prototypes -Os -fno-strict-aliasing -fomit-frame-pointer -fprofile-generate \
-ftest-coverage -mthumb --coverage -fno-common -Wall -Wshadow -Wundef -ffunction-sections -fdata-sections -g \
-mlittle-endian -mcpu=cortex-m0 -mthumb -mfloat-abi=soft main.c -o main.o

$ arm-none-eabi-ld --entry=__start -nostdlib --gc-sections -Tpimoroni-tiny2040-flash.ld -o test_gcov --start-group main.o \
~/gcc/linux/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v6-m/nofp/libgcov.a --end-group
arm-none-eabi-ld: main.o: in function `__start':
/home/archer/code/nuttx/n4/incubator-nuttx/main.c:2: undefined reference to `__gcov_indirect_call_profiler_v4'
arm-none-eabi-ld: /home/archer/code/nuttx/n4/incubator-nuttx/main.c:4: undefined reference to `__gcov_indirect_call'
arm-none-eabi-ld: /home/archer/code/nuttx/n4/incubator-nuttx/main.c:4: undefined reference to `__gcov_time_profiler_counter'

link success with arm GCC-10.3:

$ arm-none-eabi-ld --entry=__start -nostdlib --gc-sections -Tpimoroni-tiny2040-flash.ld -o test_gcov --start-group main.o \
~/lib/gcc/arm-none-eabi/10.3.1/thumb/v6-m/nofp/libgcov.a --end-group
$ ls -l test_gcov
-rwxrwxr-x 1 archer archer 68744 10月 24 12:51 test_gcov

Signed-off-by: chao an <anchao@xiaomi.com>
2022-10-24 20:23:28 +08:00

48 lines
1.3 KiB
Plaintext

#
# 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_LIBC_LONG_LONG is not set
# CONFIG_NSH_ARGCAT is not set
# CONFIG_NSH_CMDOPT_HEXDUMP is not set
# CONFIG_NSH_DISABLE_DATE is not set
# CONFIG_NSH_DISABLE_LOSMART is not set
# CONFIG_STANDARD_SERIAL is not set
CONFIG_ARCH="arm"
CONFIG_ARCH_BOARD="pimoroni-tiny2040"
CONFIG_ARCH_BOARD_PIMORONI_TINY2040=y
CONFIG_ARCH_CHIP="rp2040"
CONFIG_ARCH_CHIP_RP2040=y
CONFIG_ARCH_RAMVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_BOARDCTL_RESET=y
CONFIG_BOARD_LOOPSPERMSEC=10450
CONFIG_BUILTIN=y
CONFIG_DEBUG_FULLOPT=y
CONFIG_DEBUG_SYMBOLS=y
CONFIG_DISABLE_POSIX_TIMERS=y
CONFIG_EXAMPLES_HELLO=y
CONFIG_FS_PROCFS=y
CONFIG_FS_PROCFS_REGISTER=y
CONFIG_INIT_ENTRYPOINT="nsh_main"
CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=6
CONFIG_NSH_ARCHINIT=y
CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_READLINE=y
CONFIG_RAM_SIZE=270336
CONFIG_RAM_START=0x20000000
CONFIG_READLINE_CMD_HISTORY=y
CONFIG_RR_INTERVAL=200
CONFIG_SCHED_WAITPID=y
CONFIG_START_DAY=11
CONFIG_START_MONTH=12
CONFIG_START_YEAR=2021
CONFIG_SYSLOG_CONSOLE=y
CONFIG_SYSTEM_NSH=y
CONFIG_TESTING_GETPRIME=y
CONFIG_TESTING_OSTEST=y
CONFIG_UART0_SERIAL_CONSOLE=y