From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.0 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: from second.openwall.net (second.openwall.net [193.110.157.125]) by inbox.vuxu.org (Postfix) with SMTP id C1D30296EA for ; Mon, 8 Apr 2024 04:18:38 +0200 (CEST) Received: (qmail 2008 invoked by uid 550); 8 Apr 2024 02:18:31 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 1958 invoked from network); 8 Apr 2024 02:18:30 -0000 Date: Sun, 7 Apr 2024 22:18:43 -0400 From: Rich Felker To: Thomas Petazzoni Cc: busybox@busybox.net, musl@lists.openwall.com, Waldemar Brodkorb Message-ID: <20240408021842.GU4163@brightrain.aerifal.cx> References: <20240407191848.5c811765@windsurf> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240407191848.5c811765@windsurf> User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: [musl] Busybox hwclock failing to build with musl RISC-V 32-bit: SYS_settimeofday undefined On Sun, Apr 07, 2024 at 07:18:48PM +0200, Thomas Petazzoni wrote: > Hello, > > The recently released musl 1.2.5 includes 32-bit RISC-V support. Turns > out that building Busybox 1.36.1 with this new musl version, on 32-bit > RISC-V, fails with: > > util-linux/hwclock.c: In function 'set_kernel_tz': > util-linux/hwclock.c:142:27: error: 'SYS_settimeofday' undeclared (first use in this function); did you mean 'xsettimeofday'? > 142 | int ret = syscall(SYS_settimeofday, NULL, tz); > | ^~~~~~~~~~~~~~~~ > | xsettimeofday > util-linux/hwclock.c:142:27: note: each undeclared identifier is reported only once for each function it appears in > > Busybox already includes some slightly convoluted sorcery to deal with > musl: > > static void set_kernel_tz(const struct timezone *tz) > { > #if LIBC_IS_MUSL > /* musl libc does not pass tz argument to syscall > * because "it's deprecated by POSIX, therefore it's fine > * if we gratuitously break stuff" :( > */ > #if !defined(SYS_settimeofday) && defined(SYS_settimeofday_time32) > # define SYS_settimeofday SYS_settimeofday_time32 > #endif > int ret = syscall(SYS_settimeofday, NULL, tz); > #else > int ret = settimeofday(NULL, tz); > #endif > if (ret) > bb_simple_perror_msg_and_die("settimeofday"); > } > > I am not sure whether this is a Busybox problem or a musl problem, > which is why I'm cross-posting on both mailing lists. > > Thanks a lot in advance for your feedback, You sent this exact email before on March 3, and I answered it then: https://www.openwall.com/lists/musl/2024/03/03/3 https://www.openwall.com/lists/musl/2024/03/05/4