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
> 


Reply via email to