Multiple definition errors when trying to migrate code from toolchain 1.7.1 to 1.9.1

It's early in the build so it's only building Zephyr and other low level drivers and it's erroring due to "multiple definition" of the same function name. If I search for these function names, I can see many modules with the same name. I don't run into this problem building from toolchain 1.8.0 and below. The nrf_rtc_timer.c has header files that expose the other definitions in the same file. Tried to debug it but gave up because I was going to deep down the rabbit hole. Not sure what to do at this point.

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Building ‘modules/nrf/samples/spm_subimage-prefix/src/spm_subimage-stamp/spm_subimage-mkdir’ from solution ‘build’ in configuration ‘Common’
Building ‘modules/nrf/samples/spm_subimage-prefix/src/spm_subimage-stamp/spm_subimage-download’ from solution ‘build’ in configuration ‘Common’
Building ‘modules/nrf/samples/spm_subimage-prefix/src/spm_subimage-stamp/spm_subimage-update’ from solution ‘build’ in configuration ‘Common’
Building ‘modules/nrf/samples/spm_subimage-prefix/src/spm_subimage-stamp/spm_subimage-patch’ from solution ‘build’ in configuration ‘Common’
Building ‘modules/nrf/samples/spm_subimage-prefix/src/spm_subimage-stamp/spm_subimage-configure’ from solution ‘build’ in configuration ‘Common’
Building ‘modules/nrf/samples/spm_subimage-prefix/src/spm_subimage-stamp/spm_subimage-build’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘modules/nrf/samples/spm_subimage-prefix/src/spm_subimage-stamp/spm_subimage-build’
1> [1/219] Building C object modules/nrfxlib/nrfxlib/nrf_security/src/CMakeFiles/mbedcrypto_base.dir/C_/ncs/v1.9.1/mbedtls/library/base64.c.obj
1> [2/219] Building C object modules/nrfxlib/nrfxlib/nrf_security/src/CMakeFiles/mbedcrypto_base.dir/C_/ncs/v1.9.1/mbedtls/library/pem.c.obj
1> [3/219] Building C object modules/nrfxlib/nrfxlib/nrf_security/src/CMakeFiles/mbedcrypto_base.dir/C_/ncs/v1.9.1/mbedtls/library/asn1parse.c.obj
1> [4/219] Building C object modules/nrfxlib/nrfxlib/nrf_security/src/CMakeFiles/mbedcrypto_base.dir/C_/ncs/v1.9.1/mbedtls/library/nist_kw.c.obj
1> [5/219] Building C object modules/nrfxlib/nrfxlib/nrf_security/src/CMakeFiles/mbedcrypto_base.dir/C_/ncs/v1.9.1/mbedtls/library/asn1write.c.obj
1> [6/219] Building C object modules/nrfxlib/nrfxlib/nrf_security/src/CMakeFiles/mbedcrypto_base.dir/C_/ncs/v1.9.1/mbedtls/library/padlock.c.obj
1> [7/219] Building C object modules/nrfxlib/nrfxlib/nrf_security/src/CMakeFiles/mbedcrypto_base.dir/C_/ncs/v1.9.1/mbedtls/library/pkcs12.c.obj
1> [8/219] Building C object modules/nrfxlib/nrfxlib/nrf_security/src/CMakeFiles/mbedcrypto_base.dir/C_/ncs/v1.9.1/mbedtls/library/pkwrite.c.obj
1> [9/219] Building C object modules/nrfxlib/nrfxlib/nrf_security/src/CMakeFiles/mbedcrypto_base.dir/C_/ncs/v1.9.1/mbedtls/library/oid.c.obj
1> [10/219] Building C object modules/nrfxlib/nrfxlib/nrf_security/src/CMakeFiles/mbedcrypto_base.dir/C_/ncs/v1.9.1/mbedtls/library/platform_util.c.obj
1> [11/219] Building C object modules/nrfxlib/nrfxlib/nrf_security/src/CMakeFiles/mbedcrypto_base.dir/C_/ncs/v1.9.1/mbedtls/library/pkcs5.c.obj
1> [12/219] Building C object modules/nrfxlib/nrfxlib/nrf_security/src/CMakeFiles/mbedcrypto_base.dir/C_/ncs/v1.9.1/mbedtls/library/platform.c.obj
1> [13/219] Building C object modules/nrfxlib/nrfxlib/nrf_security/src/CMakeFiles/mbedcrypto_base.dir/C_/ncs/v1.9.1/mbedtls/library/aesni.c.obj
1> [14/219] Building C object modules/nrfxlib/nrfxlib/nrf_security/src/CMakeFiles/mbedcrypto_base.dir/C_/ncs/v1.9.1/mbedtls/library/version.c.obj
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

My prj.conf

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# C++ enable flags. Adds in up to C++20
CONFIG_CPLUSPLUS=n
CONFIG_LIB_CPLUSPLUS=n
# Optimize for debug
CONFIG_NO_OPTIMIZATIONS=n
CONFIG_DEBUG_OPTIMIZATIONS=n
CONFIG_DEBUG=n
# Heap and stacks (Heap might need to be 4K for BT_HCI)
CONFIG_HEAP_MEM_POOL_SIZE=6144
CONFIG_MAIN_STACK_SIZE=4096
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096
# Enable the UART driver
CONFIG_UART_ASYNC_API=y
CONFIG_NRFX_UARTE1=y
CONFIG_SERIAL=y
CONFIG_UART_1_NRF_TX_BUFFER_SIZE=1040
# General config
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX