From patchwork Tue Feb 21 04:04:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Kacper_Piwi=C5=84ski?= X-Patchwork-Id: 1745427 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=TZoHszyH; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4PLQfN4Ghwz240n for ; Tue, 21 Feb 2023 15:04:44 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id F280B3858C2B for ; Tue, 21 Feb 2023 04:04:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F280B3858C2B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1676952282; bh=Mbk/lstArir5D+F7R0WIBCUBj3iQcxwsnKskXuMgjPE=; h=Date:Subject:To:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=TZoHszyHtI7HPjA7WmZ9NwzftkPtkgd7/zYhxZL4AJPI5v46fRduDxM2CSrItVC63 WGEKsKGOs4OA/cmmMlwH3Py5oEsdn1SKdHpWS5MInbffEbkREhtuE2NLAX6N0Ptm4a DslIthLlZZKW/rEKdVVwKWsTYE17r1MkwRAGiah8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-yw1-x112a.google.com (mail-yw1-x112a.google.com [IPv6:2607:f8b0:4864:20::112a]) by sourceware.org (Postfix) with ESMTPS id BCADA3858D1E for ; Tue, 21 Feb 2023 04:04:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BCADA3858D1E Received: by mail-yw1-x112a.google.com with SMTP id 00721157ae682-536af432ee5so44961527b3.0 for ; Mon, 20 Feb 2023 20:04:26 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:to:subject:message-id:date:from :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Mbk/lstArir5D+F7R0WIBCUBj3iQcxwsnKskXuMgjPE=; b=upyqcL5CzxWJFx/6WKWUB26CNMItgugqYxC/vrTx895gpKjHaJXtGrw/yZNNxGWdmo f7iXG0xbQgfjYtswwEc2VwvLgJTOg7wseeVmzstVb51flWpa6V6I/WZgmcIY0l/6k8rG EgYFr5+OuA2Mioedfmu5LA9gGIVylqoO5aMf66BXFaxTPS5i2l3PAKoJ+sjuokp2vkpV 5zGS/KH91k6azSDyuCBgmTeZ62a7sZe4xfj10Hsye79l2mQ5i7KZsP0xS+2VgpRQfRxF 9aOrMnj9/x3f9/y7eCQhkgh9bTSE+kowRO18nXkQxNFUZxi2p9N6H23cB8+2zPswUjSR DB5Q== X-Gm-Message-State: AO0yUKUDdGKYt/Mfn2fl2O42PXhfkw9CFq4ME8nT0relb4BoC6+xXnm/ QLUsmKRLlQ53yX2WRmAx0ZkXKqSzmvQw6jDqlaluwufOzDQ= X-Google-Smtp-Source: AK7set+Mjn3xbkBmW/ONUlOQ8gRc4lf3etfb6E4CYGaPCEWlcWSxuINZ/t4HB6ogs1Y2k9uOpxck8JrzZRZWSM4XgMk= X-Received: by 2002:a81:5a02:0:b0:52f:11e7:bf17 with SMTP id o2-20020a815a02000000b0052f11e7bf17mr2413142ywb.439.1676952266086; Mon, 20 Feb 2023 20:04:26 -0800 (PST) MIME-Version: 1.0 Date: Tue, 21 Feb 2023 05:04:15 +0100 Message-ID: Subject: [PATCH] linux: fix ntp_gettime abi break To: libc-alpha@sourceware.org X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: =?utf-8?q?Kacper_Piwi=C5=84ski_via_Libc-alpha?= From: =?utf-8?q?Kacper_Piwi=C5=84ski?= Reply-To: =?utf-8?q?Kacper_Piwi=C5=84ski?= Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Between versions v2.11 and v2.12 struct ntptimeval got new fields. That wasn't a problem because new function ntp_gettimex was created (and made default) to support new struct. Old ntp_gettime was not using new fields so it was safe to call with old struct definition. Then between versions v2.31 and v2.32 when working on y2038 bugs, ntp_gettime start setting new fields. Sets fields manually to maintain compatibility with v2.11 struct definition. Author: Kacper PiwiƄski --- sysdeps/unix/sysv/linux/ntp_gettime.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) -- 2.38.1.windows.1 diff --git a/sysdeps/unix/sysv/linux/ntp_gettime.c b/sysdeps/unix/sysv/linux/ntp_gettime.c index 4879573530..3844b2e487 100644 --- a/sysdeps/unix/sysv/linux/ntp_gettime.c +++ b/sysdeps/unix/sysv/linux/ntp_gettime.c @@ -54,7 +54,11 @@ __ntp_gettime (struct ntptimeval *ntv) int result; result = __ntp_gettime64 (&ntv64); - *ntv = valid_ntptimeval64_to_ntptimeval (ntv64); + //manually update fields to maintain abi with v2.11 struct definition + struct ntptimeval tntv = valid_ntptimeval64_to_ntptimeval (ntv64); + ntv->time = tntv.time; + ntv->maxerror = tntv.maxerror; + ntv->esterror = tntv.esterror; return result; }