mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-09 16:01:54 -09:00
package/lighttpd: fix sparc/sparc64 compilation
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>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 06b1f1fbd3)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
committed by
Peter Korsgaard
parent
d9b36ca5f1
commit
6cb4e00427
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user