From patchwork Tue Mar 11 04:16:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip Prindeville X-Patchwork-Id: 107619 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2E4593858CD1 for ; Tue, 11 Mar 2025 04:17:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2E4593858CD1 X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail.redfish-solutions.com (mail.redfish-solutions.com [24.116.100.90]) by sourceware.org (Postfix) with ESMTPS id C55BB3858404 for ; Tue, 11 Mar 2025 04:16:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C55BB3858404 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=redfish-solutions.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redfish-solutions.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C55BB3858404 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=24.116.100.90 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1741666603; cv=none; b=ICwoeBNmKOUt/d8TsZoCydExAXjDnYSEJrt7knqFMG2WyghIDTvCF9GlhOsJtdr06aYxrJlgGWMJ9JrVluiKxairrmj5inBQOPlRTsRt+g6R6msbleYix+NBzEw/x56oVlsdURrMsRjqim/nWJD2hR/NSTlIxKe/qp74Trz7lR8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1741666603; c=relaxed/simple; bh=rw75YYzErKP07dclMtdWA/cl0Ortmtf//VTi9f0kKoI=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=ozpH1yHfjGDHWJ3pmFgP4smw3iNvDIM4TR2hNvbQpwuWN9eaBwoS3I9JQs3uAt+YiBLlP1N+wewiSnZgdK/z1yGMaXEgz/v9K7jYuLtOs1YtnUwmJi+nqIWMoqxpEE4b7peyU2n67Y8KIWDxZ5sWZ1xhuVhX7tobMY9FoLtEmcA= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C55BB3858404 Received: from ubuntu24.redfish-solutions.com (ubuntu24.redfish-solutions.com [192.168.8.33]) (authenticated bits=0) by mail.redfish-solutions.com (8.17.2/8.17.2) with ESMTPSA id 52B4GfwH1512825 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 10 Mar 2025 22:16:41 -0600 From: "Philip Prindeville" To: libc-alpha@sourceware.org Cc: Philip Prindeville Subject: [PATCH v2 1/1] inet: add support for 64-bit network byte order Date: Mon, 10 Mar 2025 22:16:40 -0600 Message-ID: <20250311041641.785048-1-philipp@redfish-solutions.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 192.168.8.3 X-Spam-Status: No, score=-13.6 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, KAM_LOTSOFHASH, KAM_SHORT, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org From: Philip Prindeville As 32-bit machines become increasingly supplanted by 64-bit architectures, network protocols likewise leverage those larger word capabilities. A good example is POSIX supporting 64-bit time_t's to avoid the 2038 problem, or timestamps that include micro- or nanosecond precision. Signed-off-by: Philip Prindeville --- NEWS | 6 ++++ inet/Makefile | 1 + inet/htonll.c | 35 +++++++++++++++++++ inet/htontest.c | 11 ++++++ inet/netinet/in.h | 18 ++++++++++ inet/test-hnto-types.c | 4 +++ manual/socket.texi | 13 +++++++ sysdeps/mach/hurd/i386/libc.abilist | 2 ++ sysdeps/mach/hurd/x86_64/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/arc/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/csky/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/i386/libc.abilist | 2 ++ .../sysv/linux/loongarch/lp64/libc.abilist | 2 ++ .../sysv/linux/m68k/coldfire/libc.abilist | 2 ++ .../unix/sysv/linux/m68k/m680x0/libc.abilist | 2 ++ .../sysv/linux/microblaze/be/libc.abilist | 2 ++ .../sysv/linux/microblaze/le/libc.abilist | 2 ++ .../sysv/linux/mips/mips32/fpu/libc.abilist | 2 ++ .../sysv/linux/mips/mips32/nofpu/libc.abilist | 2 ++ .../sysv/linux/mips/mips64/n32/libc.abilist | 2 ++ .../sysv/linux/mips/mips64/n64/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/or1k/libc.abilist | 2 ++ .../linux/powerpc/powerpc32/fpu/libc.abilist | 2 ++ .../powerpc/powerpc32/nofpu/libc.abilist | 2 ++ .../linux/powerpc/powerpc64/be/libc.abilist | 2 ++ .../linux/powerpc/powerpc64/le/libc.abilist | 2 ++ .../unix/sysv/linux/riscv/rv32/libc.abilist | 2 ++ .../unix/sysv/linux/riscv/rv64/libc.abilist | 2 ++ .../unix/sysv/linux/s390/s390-32/libc.abilist | 2 ++ .../unix/sysv/linux/s390/s390-64/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 ++ .../sysv/linux/sparc/sparc32/libc.abilist | 2 ++ .../sysv/linux/sparc/sparc64/libc.abilist | 2 ++ .../unix/sysv/linux/x86_64/64/libc.abilist | 2 ++ .../unix/sysv/linux/x86_64/x32/libc.abilist | 2 ++ 41 files changed, 156 insertions(+) diff --git a/NEWS b/NEWS index 29d3d47b6454c37907313436bd0f7e26ee6fce9e..19e27ce4656cad571d6e413535133d4054341749 100644 --- a/NEWS +++ b/NEWS @@ -36,6 +36,12 @@ The following bugs were resolved with this release: [The release manager will add the list generated by scripts/list-fixed-bugs.py just before the release.] + +GNU extensions added: + + Introduced htonll() and ntohll() functions for marshalling 64-bit + quantities into big-endian order for network transmission. + Version 2.41 diff --git a/inet/Makefile b/inet/Makefile index 79bacddfd5fd7e161be7e6ea0d89d74667ab604a..3a835512fcb2e1a8e8596c960e815190842e03e5 100644 --- a/inet/Makefile +++ b/inet/Makefile @@ -51,6 +51,7 @@ routines := \ herrno \ herrno-loc \ htonl \ + htonll \ htons \ idna \ idna_name_classify \ diff --git a/inet/htonll.c b/inet/htonll.c new file mode 100644 index 0000000000000000000000000000000000000000..7f6656c60587daecccaca9fa38a9cdffd079ba9a --- /dev/null +++ b/inet/htonll.c @@ -0,0 +1,35 @@ +/* Copyright (C) 2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include + +#undef htonll +#undef ntohll + +uint64_t +htonll (uint64_t x) +{ +#if BYTE_ORDER == BIG_ENDIAN + return x; +#elif BYTE_ORDER == LITTLE_ENDIAN + return __bswap_64 (x); +#else +# error "What kind of system is this?" +#endif +} +weak_alias (htonll, ntohll) diff --git a/inet/htontest.c b/inet/htontest.c index 3e04967a07835cf1f6b26a80ad44c48cb8b6a8f7..4939616d967894243a66844325754003af04faf1 100644 --- a/inet/htontest.c +++ b/inet/htontest.c @@ -37,6 +37,7 @@ # error "Bah, what kind of system do you use?" #endif +uint64_t lots = 0xefcdab8967452301; uint32_t lo = 0x67452301; uint16_t foo = 0x1234; @@ -45,6 +46,16 @@ main (void) { int result = 0; + TEST (0xefcdab8967452301, 0x0123456789abcdef, htonll); + TEST (0xefcdab8967452301, 0x0123456789abcdef, (htonll)); + TEST (0xefcdab8967452301, 0x0123456789abcdef, ntohll); + TEST (0xefcdab8967452301, 0x0123456789abcdef, (ntohll)); + + TEST (lots, 0x0123456789abcdef, htonl); + TEST (lots, 0x0123456789abcdef, (htonl)); + TEST (lots, 0x0123456789abcdef, ntohl); + TEST (lots, 0x0123456789abcdef, (ntohl)); + TEST (0x67452301, 0x01234567, htonl); TEST (0x67452301, 0x01234567, (htonl)); TEST (0x67452301, 0x01234567, ntohl); diff --git a/inet/netinet/in.h b/inet/netinet/in.h index fa796be406a7120fd6b85d7851b94fe5938bebc0..4ff3ce32c5bb6b71a34a451d4d300e57024e5790 100644 --- a/inet/netinet/in.h +++ b/inet/netinet/in.h @@ -406,6 +406,12 @@ extern uint32_t htonl (uint32_t __hostlong) extern uint16_t htons (uint16_t __hostshort) __THROW __attribute__ ((__const__)); +#ifdef __USE_GNU +extern uint64_t ntohll (uint64_t __netlonglong) __THROW __attribute__ ((__const__)); +extern uint64_t htonll (uint64_t __hostlonglong) + __THROW __attribute__ ((__const__)); +#endif + #include /* Get machine dependent optimized versions of byte swapping functions. */ @@ -419,14 +425,26 @@ extern uint16_t htons (uint16_t __hostshort) # if __BYTE_ORDER == __BIG_ENDIAN /* The host byte order is the same as network byte order, so these functions are all just identity. */ +# ifdef __USE_GNU +# define ntohll(x) __uint64_identity (x) +# endif # define ntohl(x) __uint32_identity (x) # define ntohs(x) __uint16_identity (x) +# ifdef __USE_GNU +# define htonll(x) __uint64_identity (x) +# endif # define htonl(x) __uint32_identity (x) # define htons(x) __uint16_identity (x) # else # if __BYTE_ORDER == __LITTLE_ENDIAN +# ifdef __USE_GNU +# define ntohll(x) __bswap_64 (x) +# endif # define ntohl(x) __bswap_32 (x) # define ntohs(x) __bswap_16 (x) +# ifdef __USE_GNU +# define htonll(x) __bswap_64 (x) +# endif # define htonl(x) __bswap_32 (x) # define htons(x) __bswap_16 (x) # endif diff --git a/inet/test-hnto-types.c b/inet/test-hnto-types.c index c396f4f27aca6fe3a87be5cb0f9c8e3a5b2e7371..8165d16c28febda69999238c0f25ca9034009d31 100644 --- a/inet/test-hnto-types.c +++ b/inet/test-hnto-types.c @@ -22,6 +22,7 @@ int i; uint16_t u16; uint32_t u32; +uint64_t u64; int do_test (void) @@ -31,8 +32,11 @@ do_test (void) extern __typeof (ntohs (i)) u16; extern __typeof (htonl (i)) u32; extern __typeof (ntohl (i)) u32; + extern __typeof (htonll (i)) u64; + extern __typeof (ntohll (i)) u64; (void) u16; (void) u32; + (void) u64; return 0; } diff --git a/manual/socket.texi b/manual/socket.texi index 8708cbb07ca02b5c6b38f1bc68c714f13471e3f3..0935259389865ea61358db07e998b8300b6596d7 100644 --- a/manual/socket.texi +++ b/manual/socket.texi @@ -1957,6 +1957,13 @@ host byte order to network byte order. This is used for IPv4 Internet addresses. @end deftypefun +@deftypefun {uint64_t} htonll (uint64_t @var{hostlonglong}) +@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}} +@c htonll ok +@c bswap_64 dup ok +This function converts the @code{uint64_t} integer @var{hostlonglong} from +host byte order to network byte order. + @deftypefun {uint32_t} ntohl (uint32_t @var{netlong}) @standards{BSD, netinet/in.h} @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}} @@ -1967,6 +1974,12 @@ network byte order to host byte order. This is used for IPv4 Internet addresses. @end deftypefun +@deftypefun {uint64_t} ntohll (uint64_t @var{netlonglong}) +@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}} +@c Alias to htonll. +This function converts the @code{uint64_t} integer @var{netlonglong} from +network byte order to host byte order. + @node Protocols Database @subsection Protocols Database @cindex protocols database diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 461df01ffb8b6b4f8e673e27e3eccf13ad51a839..66bf16d6d581f428a68a3c28ce1684905ef5c22e 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -2668,6 +2668,8 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F HURD_CTHREADS_0.3 __cthread_getspecific F HURD_CTHREADS_0.3 __cthread_keycreate F HURD_CTHREADS_0.3 __cthread_setspecific F diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist index 6f235d20ba008f2b6a9e4bce20a959c51b0353b8..1e54400c11f4a7ccc4925acb5d0217fe5b54ead2 100644 --- a/sysdeps/mach/hurd/x86_64/libc.abilist +++ b/sysdeps/mach/hurd/x86_64/libc.abilist @@ -2295,6 +2295,8 @@ GLIBC_2.42 pthread_rwlockattr_destroy F GLIBC_2.42 pthread_rwlockattr_getpshared F GLIBC_2.42 pthread_rwlockattr_init F GLIBC_2.42 pthread_rwlockattr_setpshared F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F HURD_CTHREADS_0.3 __cthread_getspecific F HURD_CTHREADS_0.3 __cthread_keycreate F HURD_CTHREADS_0.3 __cthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index 38db77e4f7808c2070e0053b5c5bdabe2cd7a3ff..b205d8d595e0ccc57bfbff61a058fdf7ec83653d 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -2750,3 +2750,5 @@ GLIBC_2.39 stdc_trailing_zeros_ull F GLIBC_2.39 stdc_trailing_zeros_us F GLIBC_2.41 sched_getattr F GLIBC_2.41 sched_setattr F +GLIBC_2.43 htonll F +GLIBC_2.43 ntohll F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 637bfce9fbf4c3e18c5a925c48096d6aa2112720..b2019eedea8bffb7d88b92091f0fc6efbb96ee5e 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -3187,3 +3187,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.43 htonll F +GLIBC_2.43 ntohll F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 4a305cf7303f18113e94e2c8e5a77710227302a5..9ae26f1c1aca5c7470e62b8124b742ef1904f825 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -2511,3 +2511,5 @@ GLIBC_2.39 stdc_trailing_zeros_ull F GLIBC_2.39 stdc_trailing_zeros_us F GLIBC_2.41 sched_getattr F GLIBC_2.41 sched_setattr F +GLIBC_2.43 htonll F +GLIBC_2.43 ntohll F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 1d54f71b146d00a004926af01e12158a5b8e728b..aeb3406f1a51b763815914775577fb3ac8febf8d 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -2876,3 +2876,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index ff7e8bc40beb21de35f1706f0452b0cd329896a5..88e2ee34968bc57b7cff793b4e5d4337bcd911c0 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -2873,3 +2873,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index c3ed65467d14e729d693a503be84e6aba6cb9e3e..8e0bf4ff3e8ff2691f8189729b9c620bdfacbb14 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -2787,3 +2787,5 @@ GLIBC_2.39 stdc_trailing_zeros_ull F GLIBC_2.39 stdc_trailing_zeros_us F GLIBC_2.41 sched_getattr F GLIBC_2.41 sched_setattr F +GLIBC_2.43 htonll F +GLIBC_2.43 ntohll F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 991475380ca51a11821247f0bacde69cf5acd4bb..2789feec55a53f605cd849de442f521a9f38bee0 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -2896,3 +2896,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.43 htonll F +GLIBC_2.43 ntohll F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index 4fedf775d485f1a74d50d76c0fa83c32ab7ff6f4..962f9c60a149b60ca949c36f818ce1d0e95bdb7f 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -3079,3 +3079,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.43 htonll F +GLIBC_2.43 ntohll F diff --git a/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist b/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist index 0024282289ffbee67ae570d5ef6d7ca55a2ca1ca..e25c704a124313eed280d0ed1ec136b3b6f3e7c1 100644 --- a/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist +++ b/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist @@ -2271,3 +2271,5 @@ GLIBC_2.39 stdc_trailing_zeros_ull F GLIBC_2.39 stdc_trailing_zeros_us F GLIBC_2.41 sched_getattr F GLIBC_2.41 sched_setattr F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index 142595eb3ed52656a159f38428972a57fe23ab75..4629f21fc433f1e24ba9fdb5298a1077c003b8e6 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -2855,3 +2855,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index 85e7746c10a125b398c62e1e6136581418e909a4..f5199a56a1a05def380331eee7473a6beb9932a5 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -3022,3 +3022,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index 91dc1b83785655a57ed05e74829a116de278c2b5..1bdd27c4411dfe6571322a63c5934c6daf25b861 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -2836,3 +2836,5 @@ GLIBC_2.39 stdc_trailing_zeros_ull F GLIBC_2.39 stdc_trailing_zeros_us F GLIBC_2.41 sched_getattr F GLIBC_2.41 sched_setattr F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 3440e90f6fda9abbe969df7bbc7b1c04fd6c8acd..cfb46ee43b07cfe912717c3c73aec5f772844253 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -2833,3 +2833,5 @@ GLIBC_2.39 stdc_trailing_zeros_ull F GLIBC_2.39 stdc_trailing_zeros_us F GLIBC_2.41 sched_getattr F GLIBC_2.41 sched_setattr F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index 5ee7b8c52fac1c935793fb37a46f3f6f0305e71f..98a1179658472dfcbfe58f83b810148c9c7579a9 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -2983,3 +2983,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.43 htonll F +GLIBC_2.43 ntohll F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 6cb6328e7cabc321240ec3c21dc69b218021329a..e6c5bbae9ad9d34d848589d85cbf460431d45a2e 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -2981,3 +2981,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.43 htonll F +GLIBC_2.43 ntohll F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index ae7474c0f03e880b6e7faad3fa47a5efb3311ff1..7cf186fcd4b61006f599d520f9b9b85808fd6922 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -2989,3 +2989,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.43 htonll F +GLIBC_2.43 ntohll F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index cdf040dec27b87736c025bc3388bc05e8a02189e..ddb282e75cd44e09fbd0d9661cf019ae532dbad4 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -2891,3 +2891,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.43 htonll F +GLIBC_2.43 ntohll F diff --git a/sysdeps/unix/sysv/linux/or1k/libc.abilist b/sysdeps/unix/sysv/linux/or1k/libc.abilist index c356a11b1ceafbc69a5f972ee01f75ac544d1861..488105d115104c0733fbda5625581f651ca8160e 100644 --- a/sysdeps/unix/sysv/linux/or1k/libc.abilist +++ b/sysdeps/unix/sysv/linux/or1k/libc.abilist @@ -2261,3 +2261,5 @@ GLIBC_2.40 setcontext F GLIBC_2.40 swapcontext F GLIBC_2.41 sched_getattr F GLIBC_2.41 sched_setattr F +GLIBC_2.43 htonll F +GLIBC_2.43 ntohll F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index 7937f94cf092f6143f4cdb181641ac934ec7f25a..24243633ee39680b16c95027a73edec283c14be0 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -3232,3 +3232,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.43 htonll F +GLIBC_2.43 ntohll F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index d6e35f31d248749053a7e845279c80407bec6b0e..0861a9aac126b9f5a83b0f1f741cdca70bd41a04 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -3277,3 +3277,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.43 htonll F +GLIBC_2.43 ntohll F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 2268d6890d73a5cce9949d46f7fee58bcf6df05c..181a64e4e77f921dff7c784e9b531ebcc860ca0b 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -2986,3 +2986,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.43 htonll F +GLIBC_2.43 ntohll F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index 7f61b14bc8df2a165a3ff14fa34d1d7c095de9a4..1adcfdad66489d611a27c77fb1a7c575a5630a22 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -2970,3 +2970,5 @@ GLIBC_2.39 stdc_trailing_zeros_ull F GLIBC_2.39 stdc_trailing_zeros_us F GLIBC_2.41 sched_getattr F GLIBC_2.41 sched_setattr F +GLIBC_2.43 htonll F +GLIBC_2.43 ntohll F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index 4187241f5030d411d225a5cfce94db53b98ff01c..cc76d2c38611b0c1dbe0599b0440c57f4fc643aa 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -2514,3 +2514,5 @@ GLIBC_2.39 stdc_trailing_zeros_us F GLIBC_2.40 __riscv_hwprobe F GLIBC_2.41 sched_getattr F GLIBC_2.41 sched_setattr F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index 8935beccac1a2c693e664f634aa27cd671dc852b..057d8af9ed273238fd687811fc4cb1386a54cde4 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -2714,3 +2714,5 @@ GLIBC_2.39 stdc_trailing_zeros_us F GLIBC_2.40 __riscv_hwprobe F GLIBC_2.41 sched_getattr F GLIBC_2.41 sched_setattr F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index e69dc7ccf6952f895e04aedd80f19f5af28e14e6..729c5c4b078b5393db204627b0b660789e44294b 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -3244,3 +3244,5 @@ GLIBC_2.9 pututline F GLIBC_2.9 pututxline F GLIBC_2.9 updwtmp F GLIBC_2.9 updwtmpx F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index 7d860001d8a57160e8fe33ada27abb8875bea8c2..4137ce6862cbca97da5990a04b4ce2a101196212 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -3021,3 +3021,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index fcb8161841078f2bc6dcef904dd85a2d4b8a4a40..810317887daa47a195937068f5df260e85b05eab 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -2902,3 +2902,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 3fd078d1257bf8d93b990cf2c10bfe4091ac8d56..f64c3942b990c6bd7bb81157622c6470f20c091d 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2899,3 +2899,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 1ce1fe9da7180b4fa65ceab1983b66e7876e70d9..b3144bee4f4a5ce548476d5a53dde2ae55981bd9 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -3249,3 +3249,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index 07507b86f6bd506c7549cd2e47eee2c6df815b4f..2b8a9aa8632ed8df9bed772b73272c54632c41e0 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -2867,3 +2867,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index 5acf49dbe82a1a41c62df4fb8bfd178904225908..4d20d64b0ff310bf4f6c165ce0ea1ca7a007b397 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -2818,3 +2818,5 @@ GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F GLIBC_2.9 ns_name_unpack F GLIBC_2.9 pipe2 F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index 02d1bb97dca5f0a5d576d2dbaac9f844b4b5b6c2..29d40ab353633969d5fba7e4085747a9704f3d75 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -2765,3 +2765,5 @@ GLIBC_2.39 stdc_trailing_zeros_ull F GLIBC_2.39 stdc_trailing_zeros_us F GLIBC_2.41 sched_getattr F GLIBC_2.41 sched_setattr F +GLIBC_2.42 htonll F +GLIBC_2.42 ntohll F