The branch main has been updated by obiwac:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=98ffaae49fea5c478230ef68086bcea89a6f654b

commit 98ffaae49fea5c478230ef68086bcea89a6f654b
Author:     Aymeric Wibo <[email protected]>
AuthorDate: 2026-02-19 03:02:19 +0000
Commit:     Aymeric Wibo <[email protected]>
CommitDate: 2026-02-21 23:22:05 +0000

    libc: Roll {l,ll,imax}abs(3) manpages into just abs(3)
    
    No need to have 4 separate manpages for these functions. Use opportunity
    to change parameter names in the source from j -> i to reflect the name
    used in POSIX. (The ISO C standard uses j but i is a better name
    anyway.)
    
    Reviewed by:    des, rpokala
    Approved by:    rpokala
    Sponsored by:   Klara, Inc.
    Differential Revision:  https://reviews.freebsd.org/D55361
---
 lib/libc/stdlib/Makefile.inc |  5 ++-
 lib/libc/stdlib/abs.3        | 72 ++++++++++++++++++++++++++++++--------------
 lib/libc/stdlib/abs.c        |  4 +--
 lib/libc/stdlib/imaxabs.3    | 60 ------------------------------------
 lib/libc/stdlib/imaxabs.c    |  4 +--
 lib/libc/stdlib/labs.3       | 64 ---------------------------------------
 lib/libc/stdlib/labs.c       |  4 +--
 lib/libc/stdlib/llabs.3      | 60 ------------------------------------
 lib/libc/stdlib/llabs.c      |  4 +--
 9 files changed, 61 insertions(+), 216 deletions(-)

diff --git a/lib/libc/stdlib/Makefile.inc b/lib/libc/stdlib/Makefile.inc
index 3698377b9b27..2cdff5b934cb 100644
--- a/lib/libc/stdlib/Makefile.inc
+++ b/lib/libc/stdlib/Makefile.inc
@@ -91,7 +91,7 @@ SYM_MAPS+= ${LIBC_SRCTOP}/stdlib/Symbol.map
 MAN+=  a64l.3 abort.3 abs.3 atexit.3 atof.3 \
        atoi.3 atol.3 at_quick_exit.3 bsearch.3 \
        div.3 exit.3 getenv.3 getopt.3 getopt_long.3 getsubopt.3 \
-       hcreate.3 imaxabs.3 insque.3 labs.3 llabs.3 \
+       hcreate.3 insque.3 \
        lsearch.3 memalignment.3 memory.3 ptsname.3 qsort.3 \
        quick_exit.3 \
        radixsort.3 rand.3 random.3 reallocarray.3 reallocf.3 realpath.3 \
@@ -101,6 +101,9 @@ MAN+=       a64l.3 abort.3 abs.3 atexit.3 atof.3 \
 
 MLINKS+=a64l.3 l64a.3 \
        a64l.3 l64a_r.3
+MLINKS+=abs.3 labs.3 \
+       abs.3 llabs.3 \
+       abs.3 imaxabs.3
 MLINKS+=atol.3 atoll.3
 MLINKS+=div.3 ldiv.3 \
        div.3 lldiv.3 \
diff --git a/lib/libc/stdlib/abs.3 b/lib/libc/stdlib/abs.3
index d47f83ea0f73..b5844761ef48 100644
--- a/lib/libc/stdlib/abs.3
+++ b/lib/libc/stdlib/abs.3
@@ -1,5 +1,6 @@
 .\" Copyright (c) 1990, 1991, 1993
 .\"    The Regents of the University of California.  All rights reserved.
+.\" Copyright (c) 2026 Aymeric Wibo <[email protected]>
 .\"
 .\" This code is derived from software contributed to Berkeley by
 .\" the American National Standards Committee X3, on Information
@@ -29,49 +30,74 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd April 3, 2022
+.Dd February 19, 2026
 .Dt ABS 3
 .Os
 .Sh NAME
-.Nm abs
-.Nd integer absolute value function
-.Sh LIBRARY
-.Lb libc
+.Nm abs ,
+.Nm labs ,
+.Nm llabs ,
+.Nm imaxabs
+.Nd return absolute value for integer types
 .Sh SYNOPSIS
+.Lb libc
 .In stdlib.h
 .Ft int
-.Fn abs "int j"
+.Fn abs "int i"
+.Ft long
+.Fn labs "long i"
+.Ft long long
+.Fn llabs "long long i"
+.In inttypes.h
+.Ft intmax_t
+.Fn imaxabs "intmax_t i"
 .Sh DESCRIPTION
 The
-.Fn abs
-function
-computes
-the absolute value of the integer
-.Fa j .
+.Fn abs ,
+.Fn labs ,
+.Fn llabs ,
+and
+.Fn imaxabs
+functions compute the absolute value of
+.Fa i .
 .Sh RETURN VALUES
 The
-.Fn abs
-function
-returns
-the absolute value.
+.Fn abs ,
+.Fn labs ,
+.Fn llabs ,
+and
+.Fn imaxabs
+functions return the absolute value.
 .Sh SEE ALSO
 .Xr cabs 3 ,
 .Xr fabs 3 ,
 .Xr floor 3 ,
-.Xr hypot 3 ,
-.Xr imaxabs 3 ,
-.Xr labs 3 ,
-.Xr llabs 3 ,
-.Xr math 3
+.Xr hypot 3
 .Sh STANDARDS
 The
-.Fn abs
-function conforms to
-.St -isoC-99 .
+.Fn abs ,
+.Fn labs ,
+.Fn llabs ,
+and
+.Fn imaxabs
+functions conform to
+.St -isoC-2023
+and
+.St -p1003.1-2024 .
 .Sh HISTORY
 The
 .Fn abs
 function first appeared in
 .At v6 .
+The
+.Fn labs
+function first appeared in
+.Bx 4.3 .
+The
+.Fn llabs
+and
+.Fn imaxabs
+functions first appeared in
+.Fx 5.0 .
 .Sh BUGS
 The absolute value of the most negative integer remains negative.
diff --git a/lib/libc/stdlib/abs.c b/lib/libc/stdlib/abs.c
index baed3795bf5e..3ebbff748897 100644
--- a/lib/libc/stdlib/abs.c
+++ b/lib/libc/stdlib/abs.c
@@ -32,7 +32,7 @@
 #include <stdlib.h>
 
 int
-abs(int j)
+abs(int i)
 {
-       return(j < 0 ? -j : j);
+       return(i < 0 ? -i : i);
 }
diff --git a/lib/libc/stdlib/imaxabs.3 b/lib/libc/stdlib/imaxabs.3
deleted file mode 100644
index fa68216facc1..000000000000
--- a/lib/libc/stdlib/imaxabs.3
+++ /dev/null
@@ -1,60 +0,0 @@
-.\" Copyright (c) 2001 Mike Barcroft <[email protected]>
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.Dd November 14, 2001
-.Dt IMAXABS 3
-.Os
-.Sh NAME
-.Nm imaxabs
-.Nd returns absolute value
-.Sh LIBRARY
-.Lb libc
-.Sh SYNOPSIS
-.In inttypes.h
-.Ft intmax_t
-.Fn imaxabs "intmax_t j"
-.Sh DESCRIPTION
-The
-.Fn imaxabs
-function returns the absolute value of
-.Fa j .
-.Sh SEE ALSO
-.Xr abs 3 ,
-.Xr fabs 3 ,
-.Xr hypot 3 ,
-.Xr labs 3 ,
-.Xr llabs 3 ,
-.Xr math 3
-.Sh STANDARDS
-The
-.Fn imaxabs
-function conforms to
-.St -isoC-99 .
-.Sh HISTORY
-The
-.Fn imaxabs
-function first appeared in
-.Fx 5.0 .
-.Sh BUGS
-The absolute value of the most negative integer remains negative.
diff --git a/lib/libc/stdlib/imaxabs.c b/lib/libc/stdlib/imaxabs.c
index 08a27ac98da7..e0fd9448f0b2 100644
--- a/lib/libc/stdlib/imaxabs.c
+++ b/lib/libc/stdlib/imaxabs.c
@@ -29,7 +29,7 @@
 #include <inttypes.h>
 
 intmax_t
-imaxabs(intmax_t j)
+imaxabs(intmax_t i)
 {
-       return (j < 0 ? -j : j);
+       return (i < 0 ? -i : i);
 }
diff --git a/lib/libc/stdlib/labs.3 b/lib/libc/stdlib/labs.3
deleted file mode 100644
index 97f527b7d941..000000000000
--- a/lib/libc/stdlib/labs.3
+++ /dev/null
@@ -1,64 +0,0 @@
-.\" Copyright (c) 1990, 1991, 1993
-.\"    The Regents of the University of California.  All rights reserved.
-.\"
-.\" This code is derived from software contributed to Berkeley by
-.\" the American National Standards Committee X3, on Information
-.\" Processing Systems.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\" 3. Neither the name of the University nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.Dd November 14, 2001
-.Dt LABS 3
-.Os
-.Sh NAME
-.Nm labs
-.Nd return the absolute value of a long integer
-.Sh LIBRARY
-.Lb libc
-.Sh SYNOPSIS
-.In stdlib.h
-.Ft long
-.Fn labs "long j"
-.Sh DESCRIPTION
-The
-.Fn labs
-function
-returns the absolute value of the long integer
-.Fa j .
-.Sh SEE ALSO
-.Xr abs 3 ,
-.Xr cabs 3 ,
-.Xr floor 3 ,
-.Xr imaxabs 3 ,
-.Xr llabs 3 ,
-.Xr math 3
-.Sh STANDARDS
-The
-.Fn labs
-function
-conforms to
-.St -isoC .
-.Sh BUGS
-The absolute value of the most negative integer remains negative.
diff --git a/lib/libc/stdlib/labs.c b/lib/libc/stdlib/labs.c
index 23696f1c0f0c..93102b3a2b91 100644
--- a/lib/libc/stdlib/labs.c
+++ b/lib/libc/stdlib/labs.c
@@ -32,7 +32,7 @@
 #include <stdlib.h>
 
 long
-labs(long j)
+labs(long i)
 {
-       return(j < 0 ? -j : j);
+       return(i < 0 ? -i : i);
 }
diff --git a/lib/libc/stdlib/llabs.3 b/lib/libc/stdlib/llabs.3
deleted file mode 100644
index 6a12fd539dc6..000000000000
--- a/lib/libc/stdlib/llabs.3
+++ /dev/null
@@ -1,60 +0,0 @@
-.\" Copyright (c) 2001 Mike Barcroft <[email protected]>
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.Dd November 14, 2001
-.Dt LLABS 3
-.Os
-.Sh NAME
-.Nm llabs
-.Nd returns absolute value
-.Sh LIBRARY
-.Lb libc
-.Sh SYNOPSIS
-.In stdlib.h
-.Ft "long long"
-.Fn llabs "long long j"
-.Sh DESCRIPTION
-The
-.Fn llabs
-function returns the absolute value of
-.Fa j .
-.Sh SEE ALSO
-.Xr abs 3 ,
-.Xr fabs 3 ,
-.Xr hypot 3 ,
-.Xr imaxabs 3 ,
-.Xr labs 3 ,
-.Xr math 3
-.Sh STANDARDS
-The
-.Fn llabs
-function conforms to
-.St -isoC-99 .
-.Sh HISTORY
-The
-.Fn llabs
-function first appeared in
-.Fx 5.0 .
-.Sh BUGS
-The absolute value of the most negative integer remains negative.
diff --git a/lib/libc/stdlib/llabs.c b/lib/libc/stdlib/llabs.c
index ac151e3a5036..ff56e526b8a9 100644
--- a/lib/libc/stdlib/llabs.c
+++ b/lib/libc/stdlib/llabs.c
@@ -29,7 +29,7 @@
 #include <stdlib.h>
 
 long long
-llabs(long long j)
+llabs(long long i)
 {
-       return (j < 0 ? -j : j);
+       return (i < 0 ? -i : i);
 }

Reply via email to