Bisecting the 1.9 / master branch shows the build break (on OSX) with
abeaff2d543fded7ffc14dd908d673c59d725155 is the first bad commit commit abeaff2d543fded7ffc14dd908d673c59d725155 Author: Willy Tarreau <[email protected]> Date: Mon Feb 5 19:43:30 2018 +0100 BUG/MINOR: fd/threads: properly dereference fdcache as volatile In fd_rm_from_fd_list(), we have loops waiting for another change to complete, in case we don't have support for a double CAS. But these ones fail to place a compiler barrier or to dereference the fdcache as a volatile, resulting in an endless loop on the first collision, which is visible when run on MIPS32. No backport needed. > On Feb 5, 2018, at Feb 5, 12:36 PM, Tim Düsterhus <[email protected]> wrote: > > Hi > > if haproxy is build without USE_THREAD (e.g. by using TARGET=generic or > by explicitely setting USE_THREAD=) it fails to link, because > import/plock.h is not included when src/fd.c is being compiled. > >> src/fd.c: In function ‘fd_rm_from_fd_list’: >> src/fd.c:268:9: warning: implicit declaration of function ‘pl_deref_int’ >> [-Wimplicit-function-declaration] >> next = pl_deref_int(&fdtab[fd].cache.next); >> ^ > > *snip* > >> src/fd.o: In function `fd_rm_from_fd_list': >> /scratch/haproxy/src/fd.c:268: undefined reference to `pl_deref_int' >> /scratch/haproxy/src/fd.c:276: undefined reference to `pl_deref_int' >> collect2: error: ld returned 1 exit status >> Makefile:898: recipe for target 'haproxy' failed >> make: *** [haproxy] Error 1 > > Best regards > Tim Düsterhus >

