From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Mon, 20 Feb 2023 14:42:04 +0100 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1pU6Qd-00Civb-JE for lore@lore.pengutronix.de; Mon, 20 Feb 2023 14:42:03 +0100 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1pU6Qd-00051A-2A; Mon, 20 Feb 2023 14:42:03 +0100 Received: from smtp90.iad3b.emailsrvr.com ([146.20.161.90]) by metis.ext.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pU6Py-00050g-9K for ptxdist@pengutronix.de; Mon, 20 Feb 2023 14:41:23 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mev.co.uk; s=20221208-6x11dpa4; t=1676900479; bh=kQ93e5UJ85Abw4VsSYHrSKuI5brkAKn9S2LPshbsh2E=; h=From:To:Subject:Date:From; b=KR9bWMpChcipzQK/t8/AKv6ZWkzyJFIBkCoQW0bVEhZFOmPAnHxGQXu43lwuJ19Y4 og3nsGRr2DFJYd3nGY6vq7OOgLEOS5OHruMRz2TcP15Jc6vW87oHo/hkyn8dNYFYIg +w70F2MrdTBv8gozPOOX0N6zI6vRVDhiId5X06mA= X-Auth-ID: abbotti@mev.co.uk Received: by smtp4.relay.iad3b.emailsrvr.com (Authenticated sender: abbotti-AT-mev.co.uk) with ESMTPSA id ED26F200E8; Mon, 20 Feb 2023 08:41:18 -0500 (EST) From: Ian Abbott To: ptxdist@pengutronix.de Date: Mon, 20 Feb 2023 13:41:05 +0000 Message-Id: <20230220134105.28904-1-abbotti@mev.co.uk> X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Classification-ID: 332e928b-0a89-4432-95aa-e84c710cebe5-1-1 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.ext.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-3.8 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Subject: [ptxdist] [PATCH] libtahu: Change CFLAGS to use 64-bit system time X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: Ian Abbott Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false libtahu exposes a library function `get_current_timestamp()` to return the real-time clock as the number of milliseconds since the Unix epoch as a 64-bit value. It calls `clock_gettime(CLOCK_REALTIME, &ts)` (where `ts` is a `struct timespec`) to get the system time and does some simple arithmetic on `ts.tv_sec` and `ts.tv_nsec` to convert the time to a number of milliseconds. Ideally, we want `ts.tv_sec` to have a 64-bit type to avoid Y2038 problems, but on most 32-bit architectures, `ts.tv_sec` will have a 32-bit type by default. Try and select the 64-bit time interface even on 32-bit architectures by appending `-D_FILE_OFFSET_BITS=64` and `-D_TIME_BITS=64` to the `CFLAGS` variable when invoking `make`. This works for glibc 2.34 or later when the system is running on Linux kernel 5.1 or later. Signed-off-by: Ian Abbott --- rules/libtahu.make | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rules/libtahu.make b/rules/libtahu.make index 26c064c6d..3e392216d 100644 --- a/rules/libtahu.make +++ b/rules/libtahu.make @@ -37,11 +37,12 @@ LIBTAHU_CONF_TOOL := NO # Compile # ---------------------------------------------------------------------------- -#LIBTAHU_MAKE_ENV := $(CROSS_ENV) - +LIBTAHU_CPPFLAGS := -Iinclude -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 +LIBTAHU_CFLAGS := -O2 -g -g3 -fPIC # Just build the dynamic library. LIBTAHU_MAKE_OPT := \ $(CROSS_ENV_PROGS) \ + CFLAGS='$(CROSS_CPPFLAGS) $(LIBTAHU_CPPFLAGS) $(CROSS_CFLAGS) $(LIBTAHU_CFLAGS)' \ lib/libtahu.so # ---------------------------------------------------------------------------- -- 2.39.1