From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from todd.t-8ch.de (todd.t-8ch.de [159.69.126.157]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3263422F388 for ; Sat, 2 May 2026 13:42:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.69.126.157 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777729379; cv=none; b=NjgJ8T4BIuaoIlYqdVmguum30zHLyviuTJ1f4/Uqbzt2G0NJ3t8lszf/2KAqWGZlp7jGWOMY7u2Pz70J92xP1uJffz//PqOW8z5K/cJZrwgfydP9ckypjt8ObyX5t00egTuoFP0yIq6A8bA5b0Vk2RHmBcE1O849vRXZXoE4Xe0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777729379; c=relaxed/simple; bh=Xp/JaqUYe8bUqBCpvT3elGAWfD8a0vHh9UIgB3sTcQM=; h=Date:From:To:Cc:Message-ID:In-Reply-To:References:Subject: MIME-Version:Content-Type; b=bmkN+qr4o0QZJPu4JiMAjWtN/JU5zXznPn2irki1z/UCHw+3X2hAYE2HWuzbwZ+T6EYe6YA/fkSu9ceOxP1f+rE78pIy3S6CorgJv/XNTSJw2IaQ81P+gHybTMXBBrAsLw+Z5s4bqtt6e9iN+C3C8R7sTz6McY9kfNiYhyzOoVQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=weissschuh.net; spf=pass smtp.mailfrom=weissschuh.net; dkim=pass (1024-bit key) header.d=weissschuh.net header.i=@weissschuh.net header.b=AWpXO5uq; arc=none smtp.client-ip=159.69.126.157 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=weissschuh.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=weissschuh.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=weissschuh.net header.i=@weissschuh.net header.b="AWpXO5uq" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1777729376; bh=Xp/JaqUYe8bUqBCpvT3elGAWfD8a0vHh9UIgB3sTcQM=; h=Date:From:To:Cc:In-Reply-To:References:Subject:From; b=AWpXO5uq0a1Z/+FI23Jobmq5kRrLLEHJlpDFp7ewY0KERgYuacaQdVpi2nZcn0vQi TTgLvb3Yj05QK8NSyOD+AeOjRHmv9yrZI115yNyiHjPkCcBGcoclsj6oKt6zBIJb2l jyBW98huAF0oPDeJLLXDMnjFRsp3GkEjpXF5ILTo= Date: Sat, 2 May 2026 15:42:50 +0200 From: =?UTF-8?Q?Thomas_Wei=C3=9Fschuh?= To: Daniel Palmer Cc: w@1wt.eu, linux-kernel@vger.kernel.org Message-ID: <3d6b1280-c320-489d-8d07-2b37046bdb87@weissschuh.net> In-Reply-To: <20260502072527.1805108-3-daniel@thingy.jp> References: <20260502072527.1805108-1-daniel@thingy.jp> <20260502072527.1805108-3-daniel@thingy.jp> Subject: Re: [PATCH 2/3] tools/nolibc: unistd: Add readlink() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Correlation-ID: <3d6b1280-c320-489d-8d07-2b37046bdb87@weissschuh.net> May 2, 2026 09:25:44 Daniel Palmer : > Add readlink(). This is needed to test getcwd(); > > Signed-off-by: Daniel Palmer > --- > tools/include/nolibc/unistd.h | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/tools/include/nolibc/unistd.h b/tools/include/nolibc/unistd.= h > index c7f89c56bc9b..309a4e0e65d2 100644 > --- a/tools/include/nolibc/unistd.h > +++ b/tools/include/nolibc/unistd.h > @@ -84,6 +84,26 @@ int msleep(unsigned int msecs) > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return 0; > } > > +/* > + * ssize_t readlink(const char *path, char *buf, size_t bufsiz); > + */ > + > +static __attribute__((unused)) > +ssize_t _sys_readlink(const char *path, char *buf, size_t bufsiz) > +{ > +#ifdef __NR_readlink > +=C2=A0=C2=A0 return __nolibc_syscall3(__NR_readlink, path, buf, bufsiz); > +#else > +=C2=A0=C2=A0 return __nolibc_syscall4(__NR_readlinkat, AT_FDCWD, path, b= uf, bufsiz); > +#endif Every architecture should have readli kat, no? Then I think we can drop the fallback to regular readlink. > +} > + > +static __attribute__((unused)) > +ssize_t readlink(const char *path, char *buf, size_t bufsiz) > +{ > +=C2=A0=C2=A0 return __sysret(_sys_readlink(path, buf, bufsiz)); > +} > + > static __attribute__((unused)) > unsigned int sleep(unsigned int seconds) > { > -- > 2.53.0