Try to fix i386 builds: use GCC and -march=i586

to fix undefined symbol: __atomic_fetch_add_8.

PR:		248289
Reported by:	Victor Sudakov <vas@sibptus.ru>
This commit is contained in:
Dmitry Sivachenko 2020-07-28 21:14:16 +00:00
parent 8153d2fdb6
commit a03e7112bc
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=543634
2 changed files with 5 additions and 11 deletions

View File

@ -44,6 +44,11 @@ LUA_MAKE_ARGS= USE_LUA=1 LUA_INC=${LUA_INCDIR} LUA_LIB=${LUA_LIBDIR} LUA_LIB_NA
.include <bsd.port.pre.mk>
.if ${ARCH} == "i386"
MAKE_ARGS+= ARCH=i586
USE_GCC= 9+
.endif
.if ${ARCH} == "amd64" || ${ARCH} == "i386"
MAKE_ARGS+= USE_REGPARM=1
.endif

View File

@ -1,11 +0,0 @@
--- include/haproxy/atomic.h.orig 2018-02-17 18:17:22.219400000 +0000
+++ include/haproxy/atomic.h 2018-02-17 18:18:44.598422000 +0000
@@ -104,7 +104,7 @@ extern THREAD_LOCAL unsigned long tid_bit; /* The bit
/* TODO: thread: For now, we rely on GCC builtins but it could be a good idea to
* have a header file regrouping all functions dealing with threads. */
-#if defined(__GNUC__) && (__GNUC__ < 4 || __GNUC__ == 4 && __GNUC_MINOR__ < 7) && !defined(__clang__)
+#if (defined(__GNUC__) && (__GNUC__ < 4 || __GNUC__ == 4 && __GNUC_MINOR__ < 7) && !defined(__clang__)) || (defined(__clang__) && defined(__i386__))
/* gcc < 4.7 */
#define HA_ATOMIC_ADD(val, i) __sync_add_and_fetch(val, i)