diff --git a/CHANGELOG.md b/CHANGELOG.md index e258dd394..7e7d798c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ All notable changes to the ZSS package will be documented in this file. +## `2.16.0` +- Bugfix: AUX should take leap seconds into account in their log messages' timestamp (#690, #691) + ## `2.14.0` - Bugfix: ZSS would not use zowe.cookieIdentifier when an HA config was used. diff --git a/deps/zowe-common-c b/deps/zowe-common-c index c723503bb..c96b84cec 160000 --- a/deps/zowe-common-c +++ b/deps/zowe-common-c @@ -1 +1 @@ -Subproject commit c723503bbd4b740bd3ceefd9c6eaee98a221cd3a +Subproject commit c96b84cecc51ae1e5ea61f1a797e74a97d128cda diff --git a/zis-aux/src/aux-utils.c b/zis-aux/src/aux-utils.c index db2210163..b2386d606 100644 --- a/zis-aux/src/aux-utils.c +++ b/zis-aux/src/aux-utils.c @@ -199,19 +199,27 @@ static void getSTCK(uint64 *stckValue) { __asm(" STCK 0(%0)" : : "r"(stckValue)); } -static int64 getLocalTimeOffset() { +static int64 getLocalTimeOffset(void) { CVT * __ptr32 cvt = *(void * __ptr32 * __ptr32)0x10; void * __ptr32 cvtext2 = cvt->cvtext2; int64 *cvtldto = (int64 * __ptr32)(cvtext2 + 0x38); return *cvtldto; } +static int64 getLeapSecondsOffset(void) { + CVT * __ptr32 cvt = *(void * __ptr32 * __ptr32)0x10; + void * __ptr32 cvtext2 = cvt->cvtext2; + int64 *cvtlso = (int64 * __ptr32)(cvtext2 + 0x50); + return *cvtlso; +} + static void getCurrentLogTimestamp(LogTimestamp *timestamp) { uint64 stck = 0; getSTCK(&stck); stck += getLocalTimeOffset(); + stck -= getLeapSecondsOffset(); stckToLogTimestamp(stck, timestamp);