All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alejandro Colomar <alx+linux-man@kernel.org>
To: Georg Sauthoff <mail@gms.tf>
Cc: "Alejandro Colomar" <alx@kernel.org>,
	linux-man@vger.kernel.org, "Arnd Bergmann" <arnd@arndb.de>,
	"Richard Cochran" <richardcochran@gmail.com>,
	"Nikola Forró" <nforro@redhat.com>,
	"Laurent Georget" <laurent.georget@supelec.fr>,
	"Jeff Epler" <jepler@unpythonic.net>,
	libc-alpha@sourceware.org
Subject: Re: [PATCH v1] man/man2/adjtimex.2: Add include, macro and error for clock_adjtime
Date: Sun, 25 Oct 2026 19:49:32 +0100	[thread overview]
Message-ID: <at5M0n93b8Nqjop-@debian> (raw)
In-Reply-To: <20261025125656.877530-1-mail@gms.tf>

[-- Attachment #1: Type: text/plain, Size: 3179 bytes --]

Hi Georg,

> Date: 2026-10-25 13:56:56+0100
> From: Georg Sauthoff <mail@gms.tf>
> Subject: [PATCH v1] man/man2/adjtimex.2: Add include, macro and error for clock_adjtime

Please separate this into two patches, each of which does only one
thing.  The error seems unrelated to the include.

I've CCed a few people that have worked in this manual page, in case
they have feedback (and also libc-alpha@).

>
> GNU libc declares clock_adjtime() when including time.h, and not when
> just sys/timex.h is included, iff support for GNU features is requested.
> 
> Verification:
> 
>     $ for i in BLAH _GNU_SOURCE; do for j in sys/timex.h time.h; do echo -n "Testing $i and $j ... "; echo -e '#define '"$i"'\n#include <'"$j"'>\nvoid f(){clock_adjtime;}' | gcc  -xc - -o /dev/null -c 2>/dev/null && echo OK || echo FAIL; done; done
>     Testing BLAH and sys/timex.h ... FAIL
>     Testing BLAH and time.h ... FAIL
>     Testing _GNU_SOURCE and sys/timex.h ... FAIL
>     Testing _GNU_SOURCE and time.h ... OK

Agree.  I wonder if this use of a different header is intentional and
why.

> (Test output is from a Fedora 43 system)
> 
> The ERANGE error can be verified either via trying to adjust the
> frequency of a PHC by a value that is outside of [-X,X],
> where X=`cat /sys/class/ptp/ptpX/max_adjustment`,
> or via checking the kernel source code:
> 
> <https://elixir.bootlin.com/linux/v7.2.2/source/drivers/ptp/ptp_clock.c#L164>
> 
> Signed-off-by: Georg Sauthoff <mail@gms.tf>
> ---
>  man/man2/adjtimex.2 | 22 ++++++++++++++++++++--
>  1 file changed, 20 insertions(+), 2 deletions(-)
> 
> diff --git a/man/man2/adjtimex.2 b/man/man2/adjtimex.2
> index f12d9413e..528fd3a6f 100644
> --- a/man/man2/adjtimex.2
> +++ b/man/man2/adjtimex.2
> @@ -17,9 +17,21 @@ .SH SYNOPSIS
>  .P
>  .BI "int adjtimex(struct timex *" "buf" );
>  .P
> -.BI "int clock_adjtime(clockid_t " clk_id, " struct timex *" "buf" );
> -.P
>  .BI "int ntp_adjtime(struct timex *" buf );
> +.P
> +.BR #include <time.h>

BR is for alternating bold and roman, so this seems wrong.  You probably
want just B (see the include above).

BTW, I would use

	.B #define _GNU_SOURCE
	.B #include <time.h>

and then remove the Feature Test Macro text below.


Have a lovely night!
Alex

> +.P
> +.BI "int clock_adjtime(clockid_t " clk_id, " struct timex *" "buf" );
> +.fi
> +.P
> +.RS -4
> +Feature Test Macro Requirements for glibc (see
> +.BR feature_test_macros (7)):
> +.RE
> +.P
> +.BR clock_adjtime ():
> +.nf
> +    _GNU_SOURCE
>  .fi
>  .SH DESCRIPTION
>  Linux uses David L.\& Mills' clock adjustment algorithm (see RFC\ 5905).
> @@ -534,6 +546,12 @@ .SH ERRORS
>  Under Linux, the
>  .B CAP_SYS_TIME
>  capability is required.
> +.TP
> +.B ERANGE
> +The frequency offset supplied with
> +.BR clock_adjtime ()
> +is outside of the range clock clk_id supports.
> +See also /sys/class/ptp/ptpX/max_adjustment when adjusting a PTP hardware clock.
>  .SH ATTRIBUTES
>  For an explanation of the terms used in this section, see
>  .BR attributes (7).
> -- 
> 2.55.0
> 
> 

-- 
<https://www.alejandro-colomar.es>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2026-10-25 18:49 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-25 12:56 [PATCH v1] man/man2/adjtimex.2: Add include, macro and error for clock_adjtime Georg Sauthoff
2026-10-25 18:49 ` Alejandro Colomar [this message]
2026-10-25 21:37   ` Georg Sauthoff
2026-10-27  0:37 ` [PATCH v2 0/2] man/man2/adjtimex.2: Fix include+add error Georg Sauthoff
2026-10-27  0:37   ` [PATCH v2 1/2] man/man2/adjtimex.2: Add include and macro for clock_adjtime Georg Sauthoff
2026-10-27  0:37   ` [PATCH v2 2/2] man/man2/adjtimex.2: Add error " Georg Sauthoff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=at5M0n93b8Nqjop-@debian \
    --to=alx+linux-man@kernel.org \
    --cc=alx@kernel.org \
    --cc=arnd@arndb.de \
    --cc=jepler@unpythonic.net \
    --cc=laurent.georget@supelec.fr \
    --cc=libc-alpha@sourceware.org \
    --cc=linux-man@vger.kernel.org \
    --cc=mail@gms.tf \
    --cc=nforro@redhat.com \
    --cc=richardcochran@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.