Hi all, Thanks for your report. This is a known issue the 3.2.3 release is scheduled within this month.
Regards. On Wed, 3 Apr 2024 at 04:38, Willy Tarreau <w...@1wt.eu> wrote: > Hello, > > On Wed, Apr 03, 2024 at 05:21:03AM +0530, Mahendra Patil wrote: > > /opt/deviceatlas/Src//dac.c: In function ātoverdecā: > > /opt/deviceatlas/Src//dac.c:714:13: warning: implicit declaration of > > function ā__builtin_sadd_overflowā [-Wimplicit-function-declaration] > > if (DATLAS_A_OFLOW(cur * 10, decrm, &r)) { > (...) > > /opt/deviceatlas/Src//dac.o: In function `toverdec': > > /opt/deviceatlas/Src//dac.c:714: undefined reference to > > `__builtin_sadd_overflow' > > collect2: error: ld returned 1 exit status > > make: *** [haproxy] Error 1 > > From what I'm seeing, __builtin_sadd_overflow() first appeared in gcc-5, > so you don't have it on your system, which seems to be RHEL 7 or CentOS 7 > based on the compiler version (gcc 4.8.5). > > I don't know how important is the use of this builtin for Device Atlas, > I'll let David check. As a hack you could verify that it builds when you > change it to: > > if ((r = cur*10 + decrm), 0) { > > But be careful that removing this overflow check might introduce a > vulnerability, so if this builds, please do not deploy such code without > David's approval. > > Another approach could be to build gcc-5.5 on your distro. It's not that > hard but might not be what you were expecting to do. There are various > howtos on the net, such as here: > > https://gist.github.com/tyleransom/2c96f53a828831567218eeb7edc2b1e7 > > Though this one will replace the default compiler in your path, and you > may likely want to add "--program-suffix=-5.5" to the configure (and > replace 5.4 with 5.5 everywhere) so that you can then pass "CC=gcc-5.5" > to haproxy's "make" command line. > > Hoping this helps, > Willy >