Page MenuHomeFreeBSD

D55282.id171893.diff
No OneTemporary

D55282.id171893.diff

diff --git a/sys/compat/freebsd32/freebsd32.h b/sys/compat/freebsd32/freebsd32.h
--- a/sys/compat/freebsd32/freebsd32.h
+++ b/sys/compat/freebsd32/freebsd32.h
@@ -60,8 +60,8 @@
struct ffclock_estimate32 {
struct bintime32 update_time;
- ffcounter update_ffcount;
- ffcounter leapsec_next;
+ freebsd32_uint64_t update_ffcount;
+ freebsd32_uint64_t leapsec_next;
freebsd32_uint64_t period;
uint32_t errb_abs;
uint32_t errb_rate;
@@ -69,11 +69,9 @@
int16_t leapsec_total;
int8_t leapsec;
int8_t _pad;
-}
-#if defined(__amd64__)
-__attribute__((packed))
-#endif
-;
+};
+_Static_assert(sizeof(ffcounter) == sizeof(freebsd32_uint64_t),
+ "'ffcounter' size discrepancy'");
#if defined(__amd64__) || defined(__i386__)
_Static_assert(sizeof(struct ffclock_estimate32) == 52, "ffclock_estimate32 size");
#else
diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c
--- a/sys/compat/freebsd32/freebsd32_misc.c
+++ b/sys/compat/freebsd32/freebsd32_misc.c
@@ -4147,8 +4147,8 @@
CP(cest.update_time, cest32.update_time, sec);
memcpy(&cest.update_time.frac, &cest32.update_time.frac, sizeof(uint64_t));
- CP(cest, cest32, update_ffcount);
- CP(cest, cest32, leapsec_next);
+ FU64_CP(cest, cest32, update_ffcount);
+ FU64_CP(cest, cest32, leapsec_next);
FU64_CP(cest, cest32, period);
CP(cest, cest32, errb_abs);
CP(cest, cest32, errb_rate);
@@ -4177,8 +4177,8 @@
CP(cest32.update_time, cest.update_time, sec);
memcpy(&cest32.update_time.frac, &cest.update_time.frac, sizeof(uint64_t));
- CP(cest32, cest, update_ffcount);
- CP(cest32, cest, leapsec_next);
+ FU64_CP(cest32, cest, update_ffcount);
+ FU64_CP(cest32, cest, leapsec_next);
FU64_CP(cest32, cest, period);
CP(cest32, cest, errb_abs);
CP(cest32, cest, errb_rate);

File Metadata

Mime Type
text/plain
Expires
Sun, Feb 15, 1:31 PM (19 h, 29 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28743041
Default Alt Text
D55282.id171893.diff (1 KB)

Event Timeline