From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yb1-xb29.google.com (mail-yb1-xb29.google.com [IPv6:2607:f8b0:4864:20::b29]) by sourceware.org (Postfix) with ESMTPS id A4D243858D37 for ; Thu, 20 Apr 2023 16:20:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A4D243858D37 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-yb1-xb29.google.com with SMTP id n17so2603284ybq.2 for ; Thu, 20 Apr 2023 09:20:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682007623; x=1684599623; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=r44EJcCLFpFxJpEqkYskopdgNaqsC8Lfw1M2d7JdxNg=; b=nbDdA6udjvORW0LuV6niSZo2Poxqpim8B2KBZD6+yb/SAlBxrUoNmFCZcKF77sNo54 IX7CEJsfXgPc5tDBmjQOaFjbnwBAXHIKrRXipbTGU3xqwBV3bo3Z1q/t/sIxtVzDuBoB Y3M0CSDVBbUQ9p1vZL/g0WIKdsYCu8DlCQJIbPaAEXSM78pJ/7x+k+8S4Tgi6BLDk+cT QidHW8G2YRTZke+6/zznWcApWkCrmBzs8lnBTn2VD2IP+YEksYLlhlPCqc6vMIVS7Rkl HW41NJM/FwjDnidfpRMzQo38HMmqvtiggv0QmNtEdzkfN/HU3MtuPYcdtdhScaZFUm9W mTmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682007623; x=1684599623; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=r44EJcCLFpFxJpEqkYskopdgNaqsC8Lfw1M2d7JdxNg=; b=fzhvyCpSAqz4YQklOplzB32jLSEET+G2+jBBfvWp8zoMf6gG114bePjwo0kJY0W/cm K0nN4pKcvpFydCajOTcQQz3eGFBgRZff4ECjiqWwTH8PTL0UhA0vlmV/aRVYK7gqUxVy qHFBGvg2shHl6WizW/5xP3F83Dr4UGkc35zQe2fSgp3oMCUkgQ1WDOY7WfaN3u1dfKlt 0zxtGL50R9KX6445rWJNxmk2BBAXgNMT5P5GC0zISA2KoqYoQedkurVsXHjht7dv+6Ze nXb+ljB8Un/4GrZcQ+MdHaxhW0+vT0LDGWkPpAXGFeF6GO+LYdWGvp5YTP9Wr1IQO1qN YmXQ== X-Gm-Message-State: AAQBX9fu6ktSDGKbVQm/QKL7DR0ecXJVqkwXQIVerfpR6wDvD0HLFY79 9RhjsfDtuC2A/e2wVbMRkrn2lSIYkdEUJCU37/k= X-Google-Smtp-Source: AKy350bEdFshqVLQMFQZidDWnKVdioPLOmPghIs2HK4YW4OLxuEQ1Qp5CZZJA+oucoQydjGDBo/IuehHZVJFaB/uXKU= X-Received: by 2002:a25:cb83:0:b0:b8b:fe5f:2eaa with SMTP id b125-20020a25cb83000000b00b8bfe5f2eaamr1036031ybg.2.1682007622954; Thu, 20 Apr 2023 09:20:22 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: "H.J. Lu" Date: Thu, 20 Apr 2023 09:19:47 -0700 Message-ID: Subject: Re: [PATCH v2 0/3] strlcpy and related functions To: Florian Weimer Cc: libc-alpha@sourceware.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-3016.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Thu, Apr 20, 2023 at 5:28=E2=80=AFAM Florian Weimer via Libc-alpha wrote: > > I split this repost somewhat differently, with the manual updates in a > separate commit, so that I can give proper attribution to Paul's work. > > I went through the discussion again and wasn't sure if there was > anything regarding the actual implementation, beyond the fortify macro > usage (discussed with Siddhesh) and Paul's suggestion to open-code the > copying and counting (which I declined). > > Thanks, > Florian > > Florian Weimer (2): > Implement strlcpy and strlcat [BZ #178] > Add the wcslcpy, wcslcat functions > > Paul Eggert (1): > manual: Manual update for strlcat, strlcpy, wcslcat, wclscpy > > NEWS | 3 + > debug/Makefile | 4 + > debug/Versions | 6 ++ > debug/strlcat_chk.c | 31 ++++++ > debug/strlcpy_chk.c | 31 ++++++ > debug/tst-fortify.c | 48 ++++++++++ > debug/wcslcat_chk.c | 31 ++++++ > debug/wcslcpy_chk.c | 31 ++++++ > include/string.h | 4 + > include/wchar.h | 5 + > manual/maint.texi | 8 ++ > manual/string.texi | 96 ++++++++++++++++++- > string/Makefile | 4 + > string/Versions | 4 + > string/bits/string_fortified.h | 36 +++++++ > string/string.h | 13 +++ > string/strlcat.c | 59 ++++++++++++ > string/strlcpy.c | 46 +++++++++ > string/tst-strlcat.c | 84 ++++++++++++++++ > string/tst-strlcpy.c | 68 +++++++++++++ > sysdeps/mach/hurd/i386/libc.abilist | 8 ++ > sysdeps/unix/sysv/linux/aarch64/libc.abilist | 8 ++ > sysdeps/unix/sysv/linux/alpha/libc.abilist | 8 ++ > sysdeps/unix/sysv/linux/arc/libc.abilist | 8 ++ > sysdeps/unix/sysv/linux/arm/be/libc.abilist | 8 ++ > sysdeps/unix/sysv/linux/arm/le/libc.abilist | 8 ++ > sysdeps/unix/sysv/linux/csky/libc.abilist | 8 ++ > sysdeps/unix/sysv/linux/hppa/libc.abilist | 8 ++ > sysdeps/unix/sysv/linux/i386/libc.abilist | 8 ++ > sysdeps/unix/sysv/linux/ia64/libc.abilist | 8 ++ > .../sysv/linux/loongarch/lp64/libc.abilist | 8 ++ > .../sysv/linux/m68k/coldfire/libc.abilist | 8 ++ > .../unix/sysv/linux/m68k/m680x0/libc.abilist | 8 ++ > .../sysv/linux/microblaze/be/libc.abilist | 8 ++ > .../sysv/linux/microblaze/le/libc.abilist | 8 ++ > .../sysv/linux/mips/mips32/fpu/libc.abilist | 8 ++ > .../sysv/linux/mips/mips32/nofpu/libc.abilist | 8 ++ > .../sysv/linux/mips/mips64/n32/libc.abilist | 8 ++ > .../sysv/linux/mips/mips64/n64/libc.abilist | 8 ++ > sysdeps/unix/sysv/linux/nios2/libc.abilist | 8 ++ > sysdeps/unix/sysv/linux/or1k/libc.abilist | 8 ++ > .../linux/powerpc/powerpc32/fpu/libc.abilist | 8 ++ > .../powerpc/powerpc32/nofpu/libc.abilist | 8 ++ > .../linux/powerpc/powerpc64/be/libc.abilist | 8 ++ > .../linux/powerpc/powerpc64/le/libc.abilist | 8 ++ > .../unix/sysv/linux/riscv/rv32/libc.abilist | 8 ++ > .../unix/sysv/linux/riscv/rv64/libc.abilist | 8 ++ > .../unix/sysv/linux/s390/s390-32/libc.abilist | 8 ++ > .../unix/sysv/linux/s390/s390-64/libc.abilist | 8 ++ > sysdeps/unix/sysv/linux/sh/be/libc.abilist | 8 ++ > sysdeps/unix/sysv/linux/sh/le/libc.abilist | 8 ++ > .../sysv/linux/sparc/sparc32/libc.abilist | 8 ++ > .../sysv/linux/sparc/sparc64/libc.abilist | 8 ++ > .../unix/sysv/linux/x86_64/64/libc.abilist | 8 ++ > .../unix/sysv/linux/x86_64/x32/libc.abilist | 8 ++ > wcsmbs/Makefile | 4 + > wcsmbs/Versions | 2 + > wcsmbs/bits/wchar2.h | 37 +++++++ > wcsmbs/tst-wcslcat.c | 93 ++++++++++++++++++ > wcsmbs/tst-wcslcpy.c | 78 +++++++++++++++ > wcsmbs/wchar.h | 13 +++ > wcsmbs/wcslcat.c | 60 ++++++++++++ > wcsmbs/wcslcpy.c | 46 +++++++++ > 63 files changed, 1222 insertions(+), 3 deletions(-) > create mode 100644 debug/strlcat_chk.c > create mode 100644 debug/strlcpy_chk.c > create mode 100644 debug/wcslcat_chk.c > create mode 100644 debug/wcslcpy_chk.c > create mode 100644 string/strlcat.c > create mode 100644 string/strlcpy.c > create mode 100644 string/tst-strlcat.c > create mode 100644 string/tst-strlcpy.c > create mode 100644 wcsmbs/tst-wcslcat.c > create mode 100644 wcsmbs/tst-wcslcpy.c > create mode 100644 wcsmbs/wcslcat.c > create mode 100644 wcsmbs/wcslcpy.c > > > base-commit: 65cbd52174f5bc211dd655727c2239e25e55bfce > -- > 2.40.0 > Should we add benchtests for them? --=20 H.J.