aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-connectivity/linuxptp/linuxptp/time_t_maybe_long_long.patch
blob: af99d2b7f985b89ed208e5aae41046933aafef95 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
Fix printf if time_t is long long

On some platforms, time_t has recently switched from "long" to "long
long" [1]. For these platforms it is necessary to use "%lld" as printf
format specifier because the ABI differs between "long" and "long long".

I found no way for creating something similar to PRId64 for time_t. No
idea how to determine whether it's "long" or "long long". So I cast
everything to "long long" instead.

[1] https://git.musl-libc.org/cgit/musl/commit/?id=38143339646a4ccce8afe298c34467767c899f51

Upstream-Status: Accepted [next version is after 2.0]
Upstream-Patch: https://github.com/richardcochran/linuxptp/commit/7de73fefc378cc42b9ed1115b3afa409d0250a48

Signed-off-by: Christian Eggers <ceggers@arri.de>
---
diff -Naur linuxptp-2.0.org/phc_ctl.c linuxptp-2.0/phc_ctl.c
--- linuxptp-2.0.org/phc_ctl.c	2018-08-12 23:08:43.000000000 +0200
+++ linuxptp-2.0/phc_ctl.c	2020-05-29 21:34:26.166519963 +0200
@@ -230,8 +230,8 @@
 			strerror(errno));
 		return -1;
 	} else {
-		pr_notice("set clock time to %ld.%09ld or %s",
-			ts.tv_sec, ts.tv_nsec, ctime(&ts.tv_sec));
+		pr_notice("set clock time to %lld.%09ld or %s",
+			(long long)ts.tv_sec, ts.tv_nsec, ctime(&ts.tv_sec));
 	}
 
 	return args_to_eat;
@@ -248,8 +248,8 @@
 
 		return -1;
 	} else {
-		pr_notice("clock time is %ld.%09lu or %s",
-			ts.tv_sec, ts.tv_nsec, ctime(&ts.tv_sec));
+		pr_notice("clock time is %lld.%09lu or %s",
+			(long long)ts.tv_sec, ts.tv_nsec, ctime(&ts.tv_sec));
 	}
 
 	/* get operation does not require any arguments */
diff -Naur linuxptp-2.0.org/print.c linuxptp-2.0/print.c
--- linuxptp-2.0.org/print.c	2018-08-12 23:08:43.000000000 +0200
+++ linuxptp-2.0/print.c	2020-05-29 21:34:26.166519963 +0200
@@ -73,16 +73,16 @@
 
 	if (verbose) {
 		f = level >= LOG_NOTICE ? stdout : stderr;
-		fprintf(f, "%s[%ld.%03ld]: %s%s%s\n",
+		fprintf(f, "%s[%lld.%03ld]: %s%s%s\n",
 			progname ? progname : "",
-			ts.tv_sec, ts.tv_nsec / 1000000,
+			(long long)ts.tv_sec, ts.tv_nsec / 1000000,
 			message_tag ? message_tag : "", message_tag ? " " : "",
 			buf);
 		fflush(f);
 	}
 	if (use_syslog) {
-		syslog(level, "[%ld.%03ld] %s%s%s",
-		       ts.tv_sec, ts.tv_nsec / 1000000,
+		syslog(level, "[%lld.%03ld] %s%s%s",
+		       (long long)ts.tv_sec, ts.tv_nsec / 1000000,
 		       message_tag ? message_tag : "", message_tag ? " " : "",
 		       buf);
 	}
diff -Naur linuxptp-2.0.org/unicast_service.c linuxptp-2.0/unicast_service.c
--- linuxptp-2.0.org/unicast_service.c	2018-08-12 23:08:43.000000000 +0200
+++ linuxptp-2.0/unicast_service.c	2020-05-29 21:36:23.170497415 +0200
@@ -209,9 +209,9 @@
 	tmo = now.tv_sec + req->durationField;
 	if (tmo > client->grant_tmo) {
 		client->grant_tmo = tmo;
-		pr_debug("%s grant of 0x%x extended to %ld",
+		pr_debug("%s grant of 0x%x extended to %lld",
 			 pid2str(&client->portIdentity),
-			 client->message_types, tmo);
+			 client->message_types, (long long)tmo);
 	}
 }
 
@@ -226,8 +226,8 @@
 	interval = pqueue_peek(p->unicast_service->queue);
 	if (interval) {
 		tmo.it_value = interval->tmo;
-		pr_debug("arming timer tmo={%ld,%ld}",
-			 interval->tmo.tv_sec, interval->tmo.tv_nsec);
+		pr_debug("arming timer tmo={%lld,%ld}",
+			 (long long)interval->tmo.tv_sec, interval->tmo.tv_nsec);
 	} else {
 		pr_debug("stopping unicast service timer");
 	}
@@ -499,8 +499,8 @@
 
 	while ((interval = pqueue_peek(p->unicast_service->queue)) != NULL) {
 
-		pr_debug("peek i={2^%d} tmo={%ld,%ld}", interval->log_period,
-			 interval->tmo.tv_sec, interval->tmo.tv_nsec);
+		pr_debug("peek i={2^%d} tmo={%lld,%ld}", interval->log_period,
+			 (long long)interval->tmo.tv_sec, interval->tmo.tv_nsec);
 
 		if (timespec_compare(&now, &interval->tmo) >= 0) {
 			break;
@@ -519,8 +519,8 @@
 		}
 
 		interval_increment(interval);
-		pr_debug("next i={2^%d} tmo={%ld,%ld}", interval->log_period,
-			 interval->tmo.tv_sec, interval->tmo.tv_nsec);
+		pr_debug("next i={2^%d} tmo={%lld,%ld}", interval->log_period,
+			 (long long)interval->tmo.tv_sec, interval->tmo.tv_nsec);
 		pqueue_insert(p->unicast_service->queue, interval);
 	}
 
diff -Naur linuxptp-2.0.org/unicast_client.c linuxptp-2.0/unicast_client.c
--- linuxptp-2.0.org/unicast_client.c	2018-08-12 23:08:43.000000000 +0200
+++ linuxptp-2.0/unicast_client.c	2020-06-02 11:13:06.922997844 +0200
@@ -216,7 +216,7 @@
 				       long duration)
 {
 	struct timespec now;
-	long tmo;
+	time_t tmo;
 
 	if (clock_gettime(CLOCK_MONOTONIC, &now)) {
 		pr_err("clock_gettime failed: %m");
@@ -226,7 +226,7 @@
 	tmo = now.tv_sec + duration;
 	if (!master->renewal_tmo || tmo < master->renewal_tmo) {
 		master->renewal_tmo = tmo;
-		pr_debug("port %d: renewal timeout at %ld", portnum(p), tmo);
+		pr_debug("port %d: renewal timeout at %lld", portnum(p), (long long)tmo);
 	}
 }