From nobody Mon Feb 20 22:18:16 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PLGyg32wZz3sHKH; Mon, 20 Feb 2023 22:18:19 +0000 (UTC) (envelope-from se@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PLGyg2STBz3rrh; Mon, 20 Feb 2023 22:18:19 +0000 (UTC) (envelope-from se@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676931499; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BEwJJe+7KmysjwbXkXiOgaZsw1V0S8WiOV3mbBuvNcg=; b=W62YZgyGqkEx6iMsvGUILnMcX636sbPHSJK1tnLfbH2/Tjpevw+/os/mSJ18/tScJTs5Uz DpMY++4qCcQF5EvEXWGzaQ7NeI+UlmKIV5NBtizc7HlveTEZQyPM0ZZwhvpiQxIWz/ISwP VgptKG1rEkKaYm1flKIPGcSFEIX6nb5tsyFOswPG2kLedO4Sksxa28mUfieh5lOinxXQpH MPFBwQn5JTMRhru8hJDou5j1fPa/t6eYXVJJqJrU0+Iee9veNkYf+D2RlKUWNwM4mdgK9j Ip17EVHkTkzH3/K8jAsgP5wznTrflTLAOWJkzn9TPO8NjDwOnwwK4LuwmTk6GQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676931499; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BEwJJe+7KmysjwbXkXiOgaZsw1V0S8WiOV3mbBuvNcg=; b=LAfMjwnDIw4wkF1tRGFzh/4Tpz19NX5Uw3Wrvi6S9N1hk35a5yvyIsR99MXySo+uyogm4L nGyoBtb+qd8QxQdge9eAqjfjyzuv36+Q+skfSomU41O3Jj1ipmwyvAZ4Q/26w9bAh9zdKY HBhsONYzjnE1kjmx7LkzL6mRCjj4CawcuTg5vxPkdKwFuT55I2frRkaIZalQXnhkdf3o45 DEagQuDIzVIHCeQ4r1kUALJm6TCp7FyJPasdXrOdqp3uESbtuJSyC9h4QLfBuKkuUTxhMQ fGqi1DRxtW6b/y9xYpqbtWEHuSS1rJs5l0EGjLQmY+zNfnJ5Ivm3jbKU6BGgFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676931499; a=rsa-sha256; cv=none; b=QzgdIHdYVeTeynY88DdQexCZy4xxE48zGFR4VaRhLXvTsBJWI2tOaLTmSv86mV7ApfmQxg gGS09WdZMPKl9gkMK6cmBJRqK5kAOggrm4O2lwTFhKVIOVFzQ0yo02cm+VGQLac4Gr++gM GBSMTRFU9JCtEY4suY2hz5olJDUKyWd/2j0zzfefkUaLz5AWEARujXDV5f7roSEOhT6Hqd 2aqwcAMqWqQLuKVssA5PunWVL8vPlZoIGKaX1R0ox0wh2sMAs+9mQBGXAPGc6vd+IHS7a8 ZOeSUI5jDCy/hsvhNtD3k/UioXo6ynVby64rvDUx0s+//8EMK/x4ocJkKKwqvA== Received: from [IPV6:2003:cd:5f2a:1000:b45f:cfbc:6b74:10b6] (p200300cd5f2a1000b45fcfbc6b7410b6.dip0.t-ipconnect.de [IPv6:2003:cd:5f2a:1000:b45f:cfbc:6b74:10b6]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: se/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PLGyf3XC4zFdZ; Mon, 20 Feb 2023 22:18:18 +0000 (UTC) (envelope-from se@FreeBSD.org) Message-ID: Date: Mon, 20 Feb 2023 23:18:16 +0100 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.7.2 From: =?UTF-8?Q?Stefan_E=c3=9fer?= Subject: Re: git: c2bb66023fe3 - main - kbdcontrol: enable pre-Unicode dead key table compatibility Content-Language: de-DE, en-US To: Jessica Clarke Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" References: <202302141315.31EDFu9Q044384@gitrepo.freebsd.org> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ThisMailContainsUnwantedMimeParts: N Am 14.02.23 um 15:05 schrieb Jessica Clarke: > On 14 Feb 2023, at 13:15, Stefan Eßer wrote: >> >> The branch main has been updated by se: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=c2bb66023fe3e3617f56302b6960f59545a5535c >> >> commit c2bb66023fe3e3617f56302b6960f59545a5535c >> Author: Stefan Eßer >> AuthorDate: 2023-02-14 12:49:06 +0000 >> Commit: Stefan Eßer >> CommitDate: 2023-02-14 12:49:06 +0000 >> >> kbdcontrol: enable pre-Unicode dead key table compatibility >> >> The definition of pre-Unicode keymap ioctls will be made optional and >> dependent on COMPAT_FREEBSD13 in a follow-up commit to 14-CURRENT. >> >> While we generally provide ABI compatibility for older binaries on >> a new kernel, but not functionally extended userland programs on an >> old kernel, it has been specifically requested to preserve ABI >> compatibility for the kbdcontrol program for both these cases. >> >> Passing the kernel configuration option COMPAT_FREEBSD13 to the build >> of kbdcontrol will make ioctls visible to the build that are normally >> hidden, but required to implement compatibility with kernels that only >> support 8 bit characters in dead key maps. >> >> This commit is not to be merged to any previous FreeBSD version and >> it shall be reverted as soon as this type of ABI compatibility is no >> longer deemed necessary (probably before 14-STABLE is branched). >> >> This commit is a part of review D38465 and split off to allow it to be >> reverted using the commit ID. >> --- >> usr.sbin/kbdcontrol/Makefile | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/usr.sbin/kbdcontrol/Makefile b/usr.sbin/kbdcontrol/Makefile >> index 960671a40fe7..d2107fb86290 100644 >> --- a/usr.sbin/kbdcontrol/Makefile >> +++ b/usr.sbin/kbdcontrol/Makefile >> @@ -9,4 +9,7 @@ SRCS= kbdcontrol.c lex.l >> WARNS?= 4 >> CFLAGS+= -I${.CURDIR} >> >> +# temporarily added for pre-Unicode accent key API/ABI compatibility >> +CFLAGS+= -DCOMPAT_FREEBSD13 > > This doesn’t seem right... COMPAT_FREEBSD* is for kernel not userspace. > Normally this would be a _WANT_FOO. Yes, I know and have explained the reasoning in the commit message: There has been a request for API compatibility of the new kbdcontrol command on an old kernel, even though we do not provide that kind of compatibility in general. Defining COMPAT_FREEBSD13 has the side-effect of making definitions for the API compatibility in the kernel (typically protected with #ifdef _KERNEL) visible in the user-land. A _WANT_FOO definition would have needed to be mapped to COMPAT_FREEBSD13 (and possibly _KERNEL) anyway to have the desired effect. The way this compatibility has been implemented and made conditional on the compatibility ioctls being defined in kbio.h makes it possible to commit the kbdcontrol sources from -CURRENT to -12 and -13 (but *without* this commit to the Makefile!). This would allow to merge later commits applied to this command in -CURRENT to merged back, without causing conflicts. Since this commit (to he Makefile) is meant to be reverted as soon as possible and since it is minimal code bloat when not needed (the binary size on amd64 is unchanged when rounded to 512 byte "sectors", for example), I do not see any use in adding the complexity of a _WANT_FOO option. I plan to revert this commit as soon as I get the information that this kind of compatibility is no longer required (after EoL of 13.1 and release of 14.0, if I understand the reasons for the request for this compatibility correctly).