Browse Source

pthsem: fix musl and fortify source compatibility

This commit addresses two issues encountered while building pthsem for
x86_64/musl:

1) Autoconf incorrectly assumes a broken Glibc and thus falls back
   to Linux compatibility code which runs into an unsupported
   platform error with musl libc. Since musl provides a proper
   implementation of `sigaltstack(2)`, force configure to use the
   POSIX compliant code when musl libc is used.

2) The `pth_syscall.c` file undefines various libc function names
   which breaks the indirection set up by fortify-source headers,
   therefore forcibly disable fortify source in the OpenWrt Makefile.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich 9 years ago
parent
commit
f1fbc7f51e
1 changed files with 9 additions and 1 deletions
  1. 9
    1
      libs/pthsem/Makefile

+ 9
- 1
libs/pthsem/Makefile View File

9
 
9
 
10
 PKG_NAME:=pthsem
10
 PKG_NAME:=pthsem
11
 PKG_VERSION:=2.0.8
11
 PKG_VERSION:=2.0.8
12
-PKG_RELEASE:=3
12
+PKG_RELEASE:=4
13
 
13
 
14
 PKG_MAINTAINER:=Othmar Truniger <github@truniger.ch>
14
 PKG_MAINTAINER:=Othmar Truniger <github@truniger.ch>
15
 PKG_LICENSE:=LGPL-2.1+
15
 PKG_LICENSE:=LGPL-2.1+
21
 
21
 
22
 PKG_FIXUP:=autoreconf
22
 PKG_FIXUP:=autoreconf
23
 PKG_BUILD_PARALLEL:=1
23
 PKG_BUILD_PARALLEL:=1
24
+PKG_FORTIFY_SOURCE:=0
24
 PKG_INSTALL:=1
25
 PKG_INSTALL:=1
25
 
26
 
26
 include $(INCLUDE_DIR)/package.mk
27
 include $(INCLUDE_DIR)/package.mk
37
   pthsem is an extend version, with support for semaphores added. It can be installed parallel to a normal pth.
38
   pthsem is an extend version, with support for semaphores added. It can be installed parallel to a normal pth.
38
 endef
39
 endef
39
 
40
 
41
+# The musl libc provides a proper implementation of sigaltstack() so
42
+# prevent configure from wrongly assuming a broken Linux platform
43
+ifeq ($(CONFIG_USE_MUSL),y)
44
+  CONFIGURE_VARS += \
45
+	ac_cv_check_sjlj=ssjlj
46
+endif
47
+
40
 define Build/InstallDev
48
 define Build/InstallDev
41
 	$(INSTALL_DIR) $(1)/usr/bin
49
 	$(INSTALL_DIR) $(1)/usr/bin
42
 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pthsem-config $(1)/usr/bin/
50
 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pthsem-config $(1)/usr/bin/