summaryrefslogtreecommitdiffstats
path: root/toolchain/fortify-headers
diff options
context:
space:
mode:
authorGeorgi Valkov <gvalkov@gmail.com>2023-05-10 03:02:29 +0300
committerHauke Mehrtens <hauke@hauke-m.de>2023-05-12 12:16:11 +0200
commitddfe5678a448ac8875e94f2fb4ddca67416fa14a (patch)
tree5a54bed0a3962372a8407cbe8b68787ee6abd104 /toolchain/fortify-headers
parent8d2ab0fac666b9d2f39f517594b414466ff85818 (diff)
downloadopenwrt-ddfe5678a448ac8875e94f2fb4ddca67416fa14a.tar.gz
openwrt-ddfe5678a448ac8875e94f2fb4ddca67416fa14a.tar.bz2
openwrt-ddfe5678a448ac8875e94f2fb4ddca67416fa14a.zip
fortify-headers: fix inconsistent time_t version of ppoll
Bug: fortify/poll.h includes poll.h, which redirects ppoll to __ppoll_time64 if the _REDIR_TIME64 macro is 1. Then fortify/poll.h will #undef ppoll and use the 32 bit version. Fix: we should not do this when _REDIR_TIME64 is 1. [1] https://forum.openwrt.org/t/idle-cpu-usage-of-usbmuxd/140331/15 [2] https://github.com/openwrt/openwrt/issues/12574 Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
Diffstat (limited to 'toolchain/fortify-headers')
-rw-r--r--toolchain/fortify-headers/Makefile2
-rw-r--r--toolchain/fortify-headers/patches/001-__ppoll_time64.patch11
2 files changed, 12 insertions, 1 deletions
diff --git a/toolchain/fortify-headers/Makefile b/toolchain/fortify-headers/Makefile
index 904a10066c..1950eb1fdc 100644
--- a/toolchain/fortify-headers/Makefile
+++ b/toolchain/fortify-headers/Makefile
@@ -9,7 +9,7 @@ include $(INCLUDE_DIR)/target.mk
PKG_NAME:=fortify-headers
PKG_VERSION:=1.1
-PKG_RELEASE=1
+PKG_RELEASE=2
PKG_SOURCE_URL:=https://dl.2f30.org/releases
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
diff --git a/toolchain/fortify-headers/patches/001-__ppoll_time64.patch b/toolchain/fortify-headers/patches/001-__ppoll_time64.patch
new file mode 100644
index 0000000000..9c6fea3e66
--- /dev/null
+++ b/toolchain/fortify-headers/patches/001-__ppoll_time64.patch
@@ -0,0 +1,11 @@
+--- a/include/poll.h
++++ b/include/poll.h
+@@ -39,7 +39,7 @@ _FORTIFY_FN(poll) int poll(struct pollfd
+ return __orig_poll(__f, __n, __s);
+ }
+
+-#ifdef _GNU_SOURCE
++#if defined(_GNU_SOURCE) && !_REDIR_TIME64
+ #undef ppoll
+ _FORTIFY_FN(ppoll) int ppoll(struct pollfd *__f, nfds_t __n, const struct timespec *__s,
+ const sigset_t *__m)