Link issue on xilinx_zynq_a9_qemu BSP on rtems-libbsd head

Lou Woods Lou.Woods at OARcorp.com
Wed Jan 15 18:59:33 UTC 2020


Hello all,

I just pulled from the master of both rtems (362cf319d44e7e64987f12aa36ea030e6298c586) and rtems-libbsd (d892051f37c2c4ad7f345f6a817ea3d38e56a431) trees and ran into an couple undefined references when linking an application outside of the tree.  The application doesn't directly use either symbol and has worked unmodified on older trees.  This build issue is not present when using the 5-freebsd-12 branch of rtems-libbsd on the same application code.  I can move forward with the 5-freebsd-12 branch so this isn't a show stopper for me.

$ make
arm-rtems5-gcc --pipe -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 -O0 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -B /home/woods/zynq-quickstart-trial/bsp-install/arm-rtems5/xilinx_zynq_a9_qemu/lib/ -specs bsp_specs -qrtems init.c  -o init.exe -lbsd -lm -ltelnetd
/data/home/woods/zynq-quickstart-trial/tools/bin/../lib/gcc/arm-rtems5/7.5.0/../../../../arm-rtems5/bin/ld: /home/woods/zynq-quickstart-trial/bsp-install/arm-rtems5/xilinx_zynq_a9_qemu/lib/libbsd.a(uipc_mbuf.c.18.o): in function `m_unmappedtouio':
/data/home/woods/zynq-quickstart-trial/rtems-libbsd/build/arm-rtems5-xilinx_zynq_a9_qemu-default/../../freebsd/sys/kern/uipc_mbuf.c:1813: undefined reference to `PHYS_TO_VM_PAGE'
/data/home/woods/zynq-quickstart-trial/tools/bin/../lib/gcc/arm-rtems5/7.5.0/../../../../arm-rtems5/bin/ld: /data/home/woods/zynq-quickstart-trial/rtems-libbsd/build/arm-rtems5-xilinx_zynq_a9_qemu-default/../../freebsd/sys/kern/uipc_mbuf.c:1814: undefined reference to `uiomove_fromphys'
collect2: error: ld returned 1 exit status
make: *** [init.exe] Error 1

RTEMS was configured like this:
../rtems/configure --prefix=${rw}/bsp-install --target=arm-rtems5 \
 --enable-rtemsbsp=xilinx_zynq_a9_qemu --disable-networking

libbsd was configured like this:
$ git clone git://git.rtems.org/rtems-libbsd.git
$ cd ./rtems-libbsd
$ git submodule init
$ git submodule update rtems_waf
$ python3 ./waf configure --rtems-tools=${rw}/tools --rtems=${rw}/bsp-install \
 --prefix=${rw}/bsp-install --rtems-bsps=arm/xilinx_zynq_a9_qemu
$ python3 ./waf
$ python3 ./waf install

Makefile

include $(RTEMS_MAKEFILE_PATH)/Makefile.inc
include $(RTEMS_MAKEFILE_PATH)/make/target.cfg
include $(RTEMS_CUSTOM)

all: init.exe

CFLAGS += -B ${RTEMS_MAKEFILE_PATH}/lib/ -specs bsp_specs -qrtems

init.exe: init.c
	$(CC) $(CFLAGS) init.c  -o $@ -lbsd -lm -ltelnetd

 clean:
	 init.exe  

If any other information can be useful, please let me know.

Thanks,
Lou Woods
On-Line Applications Research



More information about the devel mailing list