* [Buildroot] [PATCH] package/lighttpd: fix sparc/sparc64 compilation
@ 2024-08-29 8:10 Waldemar Brodkorb
2024-09-15 13:00 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 2+ messages in thread
From: Waldemar Brodkorb @ 2024-08-29 8:10 UTC (permalink / raw)
To: buildroot
From Upstream git, two patches to fix sparc/sparc64 specific
compile issues.
Fixes:
http://autobuild.buildroot.org/results/c35/c35f9b78b8f114bb795ed162585d707331954b4b
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
---
...ial-value-for-Linux-POLLRDHUP-on-SPA.patch | 34 ++++++++
...ue-for-Linux-POLLRDHUP-on-SPARC-fixe.patch | 85 +++++++++++++++++++
2 files changed, 119 insertions(+)
create mode 100644 package/lighttpd/0002-Revert-core-special-value-for-Linux-POLLRDHUP-on-SPA.patch
create mode 100644 package/lighttpd/0003-core-special-value-for-Linux-POLLRDHUP-on-SPARC-fixe.patch
diff --git a/package/lighttpd/0002-Revert-core-special-value-for-Linux-POLLRDHUP-on-SPA.patch b/package/lighttpd/0002-Revert-core-special-value-for-Linux-POLLRDHUP-on-SPA.patch
new file mode 100644
index 0000000000..eebfa3a113
--- /dev/null
+++ b/package/lighttpd/0002-Revert-core-special-value-for-Linux-POLLRDHUP-on-SPA.patch
@@ -0,0 +1,34 @@
+From 88ff3763dae65371eab9f8a22ac1c95c96fe4490 Mon Sep 17 00:00:00 2001
+From: Glenn Strauss <gstrauss@gluelogic.com>
+Date: Tue, 23 Apr 2024 00:16:29 -0400
+Subject: [PATCH] Revert "[core] special value for Linux POLLRDHUP on SPARC"
+ (fixes #3251)
+
+This reverts commit f14f9142f4487704e2ce0f196263c091accdb12c.
+
+x-ref:
+ "[1.4.76] buildroot compile error with bootlin-sparc{64-g,-uc}libc"
+ https://redmine.lighttpd.net/issues/3251
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+Upstream: https://redmine.lighttpd.net/projects/lighttpd/repository/14/revisions/88ff3763dae65371eab9f8a22ac1c95c96fe4490
+---
+ src/fdevent.h | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/src/fdevent.h b/src/fdevent.h
+index e9c380b0..1b0a062f 100644
+--- a/src/fdevent.h
++++ b/src/fdevent.h
+@@ -40,8 +40,6 @@ struct fdnode_st {
+ #if (defined(__sun) && defined(__SVR4)) /* Solaris */ \
+ || defined(__FreeBSD__)
+ #define FDEVENT_RDHUP 0x4000
+-#elif (defined(__linux__) && (defined(__sparc__) || defined(__sparc)))
+-#define FDEVENT_RDHUP 0x0800
+ #else
+ #define FDEVENT_RDHUP 0x2000
+ #endif
+--
+2.30.2
+
diff --git a/package/lighttpd/0003-core-special-value-for-Linux-POLLRDHUP-on-SPARC-fixe.patch b/package/lighttpd/0003-core-special-value-for-Linux-POLLRDHUP-on-SPARC-fixe.patch
new file mode 100644
index 0000000000..f3996d185e
--- /dev/null
+++ b/package/lighttpd/0003-core-special-value-for-Linux-POLLRDHUP-on-SPARC-fixe.patch
@@ -0,0 +1,85 @@
+From 524614455554163ec78b27b89ff52bbf7fe96958 Mon Sep 17 00:00:00 2001
+From: Glenn Strauss <gstrauss@gluelogic.com>
+Date: Wed, 24 Apr 2024 03:07:37 -0400
+Subject: [PATCH] [core] special value for Linux POLLRDHUP on SPARC (fixes
+ #3251)
+
+x-ref:
+ "[1.4.76] buildroot compile error with bootlin-sparc{64-g,-uc}libc"
+ https://redmine.lighttpd.net/issues/3251
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+Upstream: https://redmine.lighttpd.net/projects/lighttpd/repository/14/revisions/524614455554163ec78b27b89ff52bbf7fe96958
+---
+ src/fdevent.h | 2 ++
+ src/fdevent_impl.c | 18 ++++++++++++++++++
+ 2 files changed, 20 insertions(+)
+
+diff --git a/src/fdevent.h b/src/fdevent.h
+index 1b0a062f..556a1445 100644
+--- a/src/fdevent.h
++++ b/src/fdevent.h
+@@ -40,6 +40,8 @@ struct fdnode_st {
+ #if (defined(__sun) && defined(__SVR4)) /* Solaris */ \
+ || defined(__FreeBSD__)
+ #define FDEVENT_RDHUP 0x4000
++#elif (defined(__linux__) && (defined(__sparc__) || defined(__sparc)))
++#define FDEVENT_RDHUP 0x2800 /*(0x2000 EPOLLRDHUP | 0x0800 POLLRDHUP)*/
+ #else
+ #define FDEVENT_RDHUP 0x2000
+ #endif
+diff --git a/src/fdevent_impl.c b/src/fdevent_impl.c
+index 8bfc1cc6..c84c8df5 100644
+--- a/src/fdevent_impl.c
++++ b/src/fdevent_impl.c
+@@ -338,6 +338,11 @@ fdevent_linux_sysepoll_event_set (fdevents *ev, fdnode *fdn, int events)
+ struct epoll_event ep;
+ #ifndef EPOLLRDHUP
+ events &= ~FDEVENT_RDHUP;
++ #elif (defined(__linux__) && (defined(__sparc__) || defined(__sparc)))
++ if (events & FDEVENT_RDHUP) {
++ events &= ~FDEVENT_RDHUP;
++ events |= EPOLLRDHUP;
++ }
+ #endif
+ ep.events = events | EPOLLERR | EPOLLHUP;
+ ep.data.ptr = fdn;
+@@ -376,7 +381,11 @@ fdevent_linux_sysepoll_init (fdevents *ev)
+ ck_static_assert(EPOLLERR == FDEVENT_ERR);
+ ck_static_assert(EPOLLHUP == FDEVENT_HUP);
+ #ifdef EPOLLRDHUP
++ #if (defined(__linux__) && (defined(__sparc__) || defined(__sparc)))
++ ck_static_assert(EPOLLRDHUP & FDEVENT_RDHUP);
++ #else
+ ck_static_assert(EPOLLRDHUP == FDEVENT_RDHUP);
++ #endif
+ #endif
+
+ ev->type = FDEVENT_HANDLER_LINUX_SYSEPOLL;
+@@ -770,6 +779,11 @@ fdevent_poll_event_set (fdevents *ev, fdnode *fdn, int events)
+
+ #ifndef POLLRDHUP
+ events &= ~FDEVENT_RDHUP;
++ #elif (defined(__linux__) && (defined(__sparc__) || defined(__sparc)))
++ if (events & FDEVENT_RDHUP) {
++ events &= ~FDEVENT_RDHUP;
++ events |= POLLRDHUP;
++ }
+ #endif
+
+ if (k >= 0) {
+@@ -854,7 +868,11 @@ fdevent_poll_init (fdevents *ev)
+ ck_static_assert(POLLHUP == FDEVENT_HUP);
+ ck_static_assert(POLLNVAL == FDEVENT_NVAL);
+ #ifdef POLLRDHUP
++ #if (defined(__linux__) && (defined(__sparc__) || defined(__sparc)))
++ ck_static_assert(POLLRDHUP & FDEVENT_RDHUP);
++ #else
+ ck_static_assert(POLLRDHUP == FDEVENT_RDHUP);
++ #endif
+ #endif
+
+ ev->type = FDEVENT_HANDLER_POLL;
+--
+2.30.2
+
--
2.30.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-09-15 13:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-29 8:10 [Buildroot] [PATCH] package/lighttpd: fix sparc/sparc64 compilation Waldemar Brodkorb
2024-09-15 13:00 ` Thomas Petazzoni via buildroot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.