I am trying to build iotivity-constrained Zephyr port on Linux for ESP32 but getting the following errors,
drivers/built-in.o: In function `esp32_uart_init':
/home/toolchains/zephyr/drivers/serial/uart_esp32.c:46:(.text.esp32_uart_init+0x3): dangerous relocation: call8: call target out of range: uartAttach
drivers/built-in.o: In function `esp32_uart_tx':
/home/toolchains/zephyr/drivers/serial/uart_esp32.c:19:(.text.esp32_uart_tx+0x9): dangerous relocation: call8: call target out of range: uart_tx_one_char
collect2: error: ld returned 1 exit status
/home/toolchains/zephyr/Makefile:878: recipe for target 'zephyr_prebuilt.elf' failed
make[2]: *** [zephyr_prebuilt.elf] Error 1
make[2]: Leaving directory '/home/projects/iotivity-constrained/port/zephyr/outdir/esp32'
Makefile:178: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory '/home/toolchains/zephyr'
/home/toolchains/zephyr/Makefile.inc:82: recipe for target 'all' failed
make: *** [all] Error 2
I can build Zephyr and ESP32 separately but not iotivity-constrained. I tried to add -mlongcalls but no success.
Any suggestions?
Add flag -mlongcalls in /zephyr/drivers/serial/Makefile.
References: IOT-2650