linux-atm: fix build with kernel >= 5.2

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
This commit is contained in:
Arne Fitzenreiter
2021-01-07 14:45:19 +01:00
parent 92a5ad86e7
commit def22086ac
2 changed files with 43 additions and 1 deletions

View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2018 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -75,6 +75,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
$(UPDATE_AUTOMAKE)
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-atm-2.4.1-gcc-4.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-atm-2.4.1-arpd_includes.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-atm-2.4.1-linux-5.2-SIOCGSTAMP.patch
cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc --disable-nls
cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
cd $(DIR_APP) && make install

View File

@@ -0,0 +1,41 @@
Fix build failure against linux-5.2+:
https://www.spinics.net/lists/linux-sh/msg53430.html
--- a/src/maint/atmdump.c
+++ b/src/maint/atmdump.c
@@ -17,6 +17,16 @@
#include <netinet/in.h> /* for htonl and ntohl */
#include <atm.h>
+#ifndef SIOCGSTAMP
+/* linux-5.2+ added support for 64-bit time_t into ioctls
+ that support 'struct timeval' and removed 'SIOCGSTAMP'
+ define.
+
+ Include 'SIOCGSTAMP' wrapper via linux/sockios.h
+ if does not exist.
+ */
+# include <linux/sockios.h>
+#endif
static const char *pti[] = { "Data SDU 0","Data SDU 1","Data SDU 0, CE",
"Data SDU 1, CE","Segment OAM F5","End-to-end OAM F5","Reserved (RM)",
--- a/src/maint/saaldump.c
+++ b/src/maint/saaldump.c
@@ -24,6 +24,16 @@
#define MAX_ITEM 2048 /* longest string emitted by q.dump */
+#ifndef SIOCGSTAMP
+/* linux-5.2+ added support for 64-bit time_t into ioctls
+ that support 'struct timeval' and removed 'SIOCGSTAMP'
+ define.
+
+ Include 'SIOCGSTAMP' wrapper via linux/sockios.h
+ if does not exist.
+ */
+# include <linux/sockios.h>
+#endif
static int interval = 0; /* display absolute time by default */
static int quiet = 0; /* decode Q.2931 messages by default */