Skip to content
Snippets Groups Projects
Commit d3a784ca authored by Sebastian Kemper's avatar Sebastian Kemper
Browse files

baresip: fix build failure on 32bit x86 targets


re and baresip builds for 32bit x86 targets are currently failing:

build-i386/sip/auth.o: In function `sip_auth_encode':
/build/lede-snapshots/i386_pentium/build/sdk/build_dir/target-i386_pentium_musl/re-0.5.6/src/sip/auth.c:279: undefined reference to `__stack_chk_fail_local'

The undefined references occur because there is no linking done to ssp.
Fix this by setting LD to TARGET_CC, so ld is not called directly. This
also means one patch is not needed anymore.

Do the same for rem and restund as they basically all share the same
build system.

Compile-tested for x86, x86_64 and mips.

Signed-off-by: default avatarSebastian Kemper <sebastian_ml@gmx.net>
parent 37603d22
No related branches found
No related tags found
No related merge requests found
......@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=re
PKG_VERSION:=0.5.6
PKG_RELEASE:=2
PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.creytiv.com/pub
......@@ -41,6 +41,9 @@ endef
# CFLAGS are picked up from the environment, as well as CPPFLAGS (and LD etc.).
# But LDFLAGS aren't picked up, so they need to be handed over via
# EXTRA_LFLAGS.
#
# LD is changed to TARGET_CC to fix build failures on x86 32bit. Without this
# there's no linking to ssp, which results in undefined references.
ifneq ($(CONFIG_USE_GLIBC)$(CONFIG_USE_MUSL),)
TARGET_CFLAGS+=-D_GNU_SOURCE
......@@ -48,6 +51,7 @@ endif
MAKE_FLAGS+= \
EXTRA_LFLAGS="$(TARGET_LDFLAGS)" \
LD="$(TARGET_CC)" \
SYSROOT="$(shell $(FIND) $(TOOLCHAIN_DIR) -path '*/include/pthread.h' | sed -ne '1s|/include/pthread.h||p')" \
SYSROOT_ALT="$(STAGING_DIR)/usr" \
RELEASE=1
......
--- a/mk/re.mk
+++ b/mk/re.mk
@@ -235,7 +235,7 @@ ifeq ($(OS),linux)
LFLAGS += -fPIC
SH_LFLAGS += -shared
MOD_LFLAGS +=
- APP_LFLAGS += -rdynamic
+ APP_LFLAGS += --export-dynamic
AR := ar
AFLAGS := crD
endif
......@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=rem
PKG_VERSION:=0.5.2
PKG_RELEASE:=2
PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.creytiv.com/pub
......@@ -35,6 +35,7 @@ endef
MAKE_FLAGS+= \
EXTRA_LFLAGS="$(TARGET_LDFLAGS)" \
LD="$(TARGET_CC)" \
LIBRE_MK="$(STAGING_DIR)/usr/share/re/re.mk" \
LIBRE_INC="$(STAGING_DIR)/usr/include/re" \
LIBRE_SO="$(STAGING_DIR)/usr/lib" \
......
......@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=baresip
PKG_VERSION:=0.5.6
PKG_RELEASE:=3
PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.creytiv.com/pub
......@@ -93,6 +93,7 @@ BARESIP_MOD_OPTIONS:= \
MAKE_FLAGS+= \
EXTRA_LFLAGS="$(TARGET_LDFLAGS)" \
LD="$(TARGET_CC)" \
LIBRE_MK="$(STAGING_DIR)/usr/share/re/re.mk" \
LIBRE_INC="$(STAGING_DIR)/usr/include/re" \
LIBRE_SO="$(STAGING_DIR)/usr/lib" \
......
......@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=restund
PKG_VERSION:=0.4.12
PKG_RELEASE:=3
PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.creytiv.com/pub
......@@ -48,6 +48,7 @@ RESTUND_MOD_OPTIONS:= \
MAKE_FLAGS+= \
EXTRA_LFLAGS="$(TARGET_LDFLAGS)" \
LD="$(TARGET_CC)" \
LIBRE_MK="$(STAGING_DIR)/usr/share/re/re.mk" \
LIBRE_INC="$(STAGING_DIR)/usr/include/re" \
LIBRE_SO="$(STAGING_DIR)/usr/lib" \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment