When compiled with glibc the config_scan.c wants to use the
cpupolicy2numeric() function which is only available when
HAVE_SCHED_SETSCHEDULER is set. It looks like the wrong define was used here.
This fixes a build problem with glibc in combination with the force
ac_cv_func_sched_setscheduler=no in the OpenWrt CONFIGURE_VARS.
This fixes the following compile error with glibc:
----------------------------------------------------------------------
/bin/ld: config_scan.o: in function `socks_yylex':
dante-1.4.1/sockd/config_scan.l:461: undefined reference to `cpupolicy2numeric'
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile:522: sockd] Error 1
Fixes: aaf46a8fe2
("dante: disable sched_getscheduler() - not implemented in musl")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ce1798e915181e6c1f3ba735b254b37b84261303)
master
parent
5f0e25d966
commit
ee480c50c1
@ -0,0 +1,53 @@ |
|||||||
|
When compiled with glibc the config_scan.c wants to use the
|
||||||
|
cpupolicy2numeric() function which is only available when
|
||||||
|
HAVE_SCHED_SETSCHEDULER is set. It looks like the wrong define was used here.
|
||||||
|
|
||||||
|
This fixes a build problem with glibc in combination with the force
|
||||||
|
ac_cv_func_sched_setscheduler=no in the OpenWrt CONFIGURE_VARS.
|
||||||
|
|
||||||
|
--- a/lib/config_scan.c
|
||||||
|
+++ b/lib/config_scan.c
|
||||||
|
@@ -3891,7 +3891,7 @@ YY_RULE_SETUP
|
||||||
|
SERRX(0);
|
||||||
|
|
||||||
|
#else /* !SOCKS_CLIENT */
|
||||||
|
-#if HAVE_SCHED_SETAFFINITY
|
||||||
|
+#if HAVE_SCHED_SETSCHEDULER
|
||||||
|
|
||||||
|
BEGIN(0);
|
||||||
|
|
||||||
|
@@ -3899,9 +3899,9 @@ YY_RULE_SETUP
|
||||||
|
yyerrorx("unknown scheduling policy \"%s\"", yytext);
|
||||||
|
|
||||||
|
return SCHEDULEPOLICY;
|
||||||
|
-#else /* !HAVE_SCHED_SETAFFINITY */
|
||||||
|
+#else /* !HAVE_SCHED_SETSCHEDULER */
|
||||||
|
yyerrorx("setting cpu scheduling policy is not supported on this platform");
|
||||||
|
-#endif /* !HAVE_SCHED_SETAFFINITY */
|
||||||
|
+#endif /* !HAVE_SCHED_SETSCHEDULER */
|
||||||
|
|
||||||
|
#endif /* SOCKS_CLIENT */
|
||||||
|
}
|
||||||
|
--- a/lib/config_scan.l
|
||||||
|
+++ b/lib/config_scan.l
|
||||||
|
@@ -456,7 +456,7 @@ cpu {
|
||||||
|
SERRX(0);
|
||||||
|
|
||||||
|
#else /* !SOCKS_CLIENT */
|
||||||
|
-#if HAVE_SCHED_SETAFFINITY
|
||||||
|
+#if HAVE_SCHED_SETSCHEDULER
|
||||||
|
|
||||||
|
BEGIN(0);
|
||||||
|
|
||||||
|
@@ -464,9 +464,9 @@ cpu {
|
||||||
|
yyerrorx("unknown scheduling policy \"%s\"", yytext);
|
||||||
|
|
||||||
|
return SCHEDULEPOLICY;
|
||||||
|
-#else /* !HAVE_SCHED_SETAFFINITY */
|
||||||
|
+#else /* !HAVE_SCHED_SETSCHEDULER */
|
||||||
|
yyerrorx("setting cpu scheduling policy is not supported on this platform");
|
||||||
|
-#endif /* !HAVE_SCHED_SETAFFINITY */
|
||||||
|
+#endif /* !HAVE_SCHED_SETSCHEDULER */
|
||||||
|
|
||||||
|
#endif /* SOCKS_CLIENT */
|
||||||
|
}
|
Loading…
Reference in new issue