Opened 6 years ago

Closed 6 years ago

#688 closed defect (fixed)

TCP unit tests broke ia64 build

Reported by: Jakub Jermář Owned by: Jiri Svoboda
Priority: major Milestone: 0.7.1
Component: helenos/net/tcp Version: mainline
Keywords: ia64, tcp Cc:
Blocker for: Depends on:
See also:

Description (last modified by Jakub Jermář)

The CI tests discovered a breakage of the ia64 build. A closer look reveals that the introduction of the TCP unit tests broke the build on all platforms that don't use --gc-sections during linking. This currently includes only ia64 and abs32le. The build of the tcp service ends with the follow error:

/usr/local/cross/ia64/bin/ia64-pc-linux-gnu-ld -n --fatal-warnings -T ../../../lib/c/arch/ia64/_link.ld -M -Map -o test-tcp conn.test.o iqueue.test.o ncsim.test.o pdu.test.o rqueue.test.o segment.test.o seq_no.test.o test.test.o tqueue.test.o ucall.test.o test/iqueue.test.o test/main.test.o test/pdu.test.o test/segment.test.o test/seq_no.test.o ../../../lib/pcut/libpcut.a  ../../../lib/nettl/libnettl.a ../../../lib/c/libc.a ../../../lib/softint/libsoftint.a
tqueue.test.o: In function `tcp_transmit_segment':
/home/jermar/software/HelenOS.mainline/uspace/srv/net/tcp/tqueue.c:308: undefined reference to `tcp_transmit_pdu'
/home/jermar/software/HelenOS.mainline/uspace/srv/net/tcp/tqueue.c:308: undefined reference to `tcp_transmit_pdu'
/home/jermar/software/HelenOS.mainline/uspace/srv/net/tcp/tqueue.c:308: undefined reference to `tcp_transmit_pdu'
/home/jermar/software/HelenOS.mainline/uspace/srv/net/tcp/tqueue.c:308: undefined reference to `tcp_transmit_pdu'
make[2]: *** [../../../Makefile.common:367: test-tcp] Error 1
make[2]: Leaving directory '/home/jermar/software/HelenOS.mainline/uspace/srv/net/tcp'
make[1]: *** [Makefile:284: srv/net/] Error 2
make[1]: Leaving directory '/home/jermar/software/HelenOS.mainline/uspace'
make: *** [Makefile:52: all] Error 2

The missing symbol tcp_transmit_pdu is defined in tcp.c. However, adding this file to the test sources is problematic because it also defines main, which would become duplicit for the test.

Change History (3)

comment:1 by Jakub Jermář, 6 years ago

Description: modified (diff)

comment:2 by Jiri Svoboda, 6 years ago

Owner: set to Jiri Svoboda
Status: newaccepted

comment:3 by Jiri Svoboda, 6 years ago

Resolution: fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.