From: Nathan Chancellor <nathan@kernel.org>
To: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Arnd Bergmann <arnd@arndb.de>,
linux-arm-kernel@lists.infradead.org,
linux-riscv@lists.infradead.org, loongarch@lists.linux.dev,
linux-arch@vger.kernel.org, bpf@vger.kernel.org,
linux-perf-users@vger.kernel.org,
linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org,
loongson-kernel@lists.loongnix.cn
Subject: Re: [PATCH v3 1/2] asm-generic: Unify uapi bitsperlong.h for arm64, riscv and loongarch
Date: Thu, 27 Jul 2023 14:36:48 -0700 [thread overview]
Message-ID: <20230727213648.GA354736@dev-arch.thelio-3990X> (raw)
In-Reply-To: <1687443219-11946-2-git-send-email-yangtiezhu@loongson.cn>
Hi Tiezhu and Arnd,
On Thu, Jun 22, 2023 at 10:13:38PM +0800, Tiezhu Yang wrote:
> Now we specify the minimal version of GCC as 5.1 and Clang/LLVM as 11.0.0
> in Documentation/process/changes.rst, __CHAR_BIT__ and __SIZEOF_LONG__ are
> usable, it is probably fine to unify the definition of __BITS_PER_LONG as
> (__CHAR_BIT__ * __SIZEOF_LONG__) in asm-generic uapi bitsperlong.h.
>
> In order to keep safe and avoid regression, only unify uapi bitsperlong.h
> for some archs such as arm64, riscv and loongarch which are using newer
> toolchains that have the definitions of __CHAR_BIT__ and __SIZEOF_LONG__.
>
> Suggested-by: Xi Ruoyao <xry111@xry111.site>
> Link: https://lore.kernel.org/all/d3e255e4746de44c9903c4433616d44ffcf18d1b.camel@xry111.site/
> Suggested-by: Arnd Bergmann <arnd@arndb.de>
> Link: https://lore.kernel.org/linux-arch/a3a4f48a-07d4-4ed9-bc53-5d383428bdd2@app.fastmail.com/
> Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
> ---
> arch/arm64/include/uapi/asm/bitsperlong.h | 24 ----------------------
> arch/loongarch/include/uapi/asm/bitsperlong.h | 9 --------
> arch/riscv/include/uapi/asm/bitsperlong.h | 14 -------------
> include/uapi/asm-generic/bitsperlong.h | 13 +++++++++++-
> tools/arch/arm64/include/uapi/asm/bitsperlong.h | 24 ----------------------
> .../arch/loongarch/include/uapi/asm/bitsperlong.h | 9 --------
> tools/arch/riscv/include/uapi/asm/bitsperlong.h | 14 -------------
> tools/include/uapi/asm-generic/bitsperlong.h | 14 ++++++++++++-
> tools/include/uapi/asm/bitsperlong.h | 6 ------
> 9 files changed, 25 insertions(+), 102 deletions(-)
> delete mode 100644 arch/arm64/include/uapi/asm/bitsperlong.h
> delete mode 100644 arch/loongarch/include/uapi/asm/bitsperlong.h
> delete mode 100644 arch/riscv/include/uapi/asm/bitsperlong.h
> delete mode 100644 tools/arch/arm64/include/uapi/asm/bitsperlong.h
> delete mode 100644 tools/arch/loongarch/include/uapi/asm/bitsperlong.h
> delete mode 100644 tools/arch/riscv/include/uapi/asm/bitsperlong.h
I think this change has backwards compatibility concerns, as it breaks
building certain host tools on the stable releases (at least 6.4 and
6.1, as that is where I noticed this). I see the following error on my
aarch64 system:
$ make -skj"$(nproc)" ARCH=x86_64 CROSS_COMPILE=x86_64-linux- mrproper defconfig prepare
In file included from /usr/include/asm/bitsperlong.h:1,
from /usr/include/asm-generic/int-ll64.h:12,
from /usr/include/asm-generic/types.h:7,
from /usr/include/asm/types.h:1,
from tools/include/linux/types.h:13,
from tools/arch/x86/include/asm/orc_types.h:9,
from scripts/sorttable.h:96,
from scripts/sorttable.c:201:
tools/include/asm-generic/bitsperlong.h:14:2: error: #error Inconsistent word size. Check asm/bitsperlong.h
14 | #error Inconsistent word size. Check asm/bitsperlong.h
| ^~~~~
A reverse bisect of 6.4 to 6.5-rc1 points to this patch. This Fedora
rawhide container has kernel-headers 6.5.0-0.rc2.git0.1.fc39 and the
error disappears when I downgrade to 6.4.0-0.rc7.git0.1.fc39. I have not
done a ton of triage/debugging so far, as I am currently hunting down
other regressions, but I figured I would get an initial report out,
since I noticed it when validating LLVM from the new release/17.x
branch. If there is any additional information I can provide or patches
I can test, I am more than happy to do so.
Cheers,
Nathan
WARNING: multiple messages have this Message-ID (diff)
From: Nathan Chancellor <nathan@kernel.org>
To: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Arnd Bergmann <arnd@arndb.de>,
linux-arm-kernel@lists.infradead.org,
linux-riscv@lists.infradead.org, loongarch@lists.linux.dev,
linux-arch@vger.kernel.org, bpf@vger.kernel.org,
linux-perf-users@vger.kernel.org,
linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org,
loongson-kernel@lists.loongnix.cn
Subject: Re: [PATCH v3 1/2] asm-generic: Unify uapi bitsperlong.h for arm64, riscv and loongarch
Date: Thu, 27 Jul 2023 14:36:48 -0700 [thread overview]
Message-ID: <20230727213648.GA354736@dev-arch.thelio-3990X> (raw)
In-Reply-To: <1687443219-11946-2-git-send-email-yangtiezhu@loongson.cn>
Hi Tiezhu and Arnd,
On Thu, Jun 22, 2023 at 10:13:38PM +0800, Tiezhu Yang wrote:
> Now we specify the minimal version of GCC as 5.1 and Clang/LLVM as 11.0.0
> in Documentation/process/changes.rst, __CHAR_BIT__ and __SIZEOF_LONG__ are
> usable, it is probably fine to unify the definition of __BITS_PER_LONG as
> (__CHAR_BIT__ * __SIZEOF_LONG__) in asm-generic uapi bitsperlong.h.
>
> In order to keep safe and avoid regression, only unify uapi bitsperlong.h
> for some archs such as arm64, riscv and loongarch which are using newer
> toolchains that have the definitions of __CHAR_BIT__ and __SIZEOF_LONG__.
>
> Suggested-by: Xi Ruoyao <xry111@xry111.site>
> Link: https://lore.kernel.org/all/d3e255e4746de44c9903c4433616d44ffcf18d1b.camel@xry111.site/
> Suggested-by: Arnd Bergmann <arnd@arndb.de>
> Link: https://lore.kernel.org/linux-arch/a3a4f48a-07d4-4ed9-bc53-5d383428bdd2@app.fastmail.com/
> Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
> ---
> arch/arm64/include/uapi/asm/bitsperlong.h | 24 ----------------------
> arch/loongarch/include/uapi/asm/bitsperlong.h | 9 --------
> arch/riscv/include/uapi/asm/bitsperlong.h | 14 -------------
> include/uapi/asm-generic/bitsperlong.h | 13 +++++++++++-
> tools/arch/arm64/include/uapi/asm/bitsperlong.h | 24 ----------------------
> .../arch/loongarch/include/uapi/asm/bitsperlong.h | 9 --------
> tools/arch/riscv/include/uapi/asm/bitsperlong.h | 14 -------------
> tools/include/uapi/asm-generic/bitsperlong.h | 14 ++++++++++++-
> tools/include/uapi/asm/bitsperlong.h | 6 ------
> 9 files changed, 25 insertions(+), 102 deletions(-)
> delete mode 100644 arch/arm64/include/uapi/asm/bitsperlong.h
> delete mode 100644 arch/loongarch/include/uapi/asm/bitsperlong.h
> delete mode 100644 arch/riscv/include/uapi/asm/bitsperlong.h
> delete mode 100644 tools/arch/arm64/include/uapi/asm/bitsperlong.h
> delete mode 100644 tools/arch/loongarch/include/uapi/asm/bitsperlong.h
> delete mode 100644 tools/arch/riscv/include/uapi/asm/bitsperlong.h
I think this change has backwards compatibility concerns, as it breaks
building certain host tools on the stable releases (at least 6.4 and
6.1, as that is where I noticed this). I see the following error on my
aarch64 system:
$ make -skj"$(nproc)" ARCH=x86_64 CROSS_COMPILE=x86_64-linux- mrproper defconfig prepare
In file included from /usr/include/asm/bitsperlong.h:1,
from /usr/include/asm-generic/int-ll64.h:12,
from /usr/include/asm-generic/types.h:7,
from /usr/include/asm/types.h:1,
from tools/include/linux/types.h:13,
from tools/arch/x86/include/asm/orc_types.h:9,
from scripts/sorttable.h:96,
from scripts/sorttable.c:201:
tools/include/asm-generic/bitsperlong.h:14:2: error: #error Inconsistent word size. Check asm/bitsperlong.h
14 | #error Inconsistent word size. Check asm/bitsperlong.h
| ^~~~~
A reverse bisect of 6.4 to 6.5-rc1 points to this patch. This Fedora
rawhide container has kernel-headers 6.5.0-0.rc2.git0.1.fc39 and the
error disappears when I downgrade to 6.4.0-0.rc7.git0.1.fc39. I have not
done a ton of triage/debugging so far, as I am currently hunting down
other regressions, but I figured I would get an initial report out,
since I noticed it when validating LLVM from the new release/17.x
branch. If there is any additional information I can provide or patches
I can test, I am more than happy to do so.
Cheers,
Nathan
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Nathan Chancellor <nathan@kernel.org>
To: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Arnd Bergmann <arnd@arndb.de>,
linux-arm-kernel@lists.infradead.org,
linux-riscv@lists.infradead.org, loongarch@lists.linux.dev,
linux-arch@vger.kernel.org, bpf@vger.kernel.org,
linux-perf-users@vger.kernel.org,
linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org,
loongson-kernel@lists.loongnix.cn
Subject: Re: [PATCH v3 1/2] asm-generic: Unify uapi bitsperlong.h for arm64, riscv and loongarch
Date: Thu, 27 Jul 2023 14:36:48 -0700 [thread overview]
Message-ID: <20230727213648.GA354736@dev-arch.thelio-3990X> (raw)
In-Reply-To: <1687443219-11946-2-git-send-email-yangtiezhu@loongson.cn>
Hi Tiezhu and Arnd,
On Thu, Jun 22, 2023 at 10:13:38PM +0800, Tiezhu Yang wrote:
> Now we specify the minimal version of GCC as 5.1 and Clang/LLVM as 11.0.0
> in Documentation/process/changes.rst, __CHAR_BIT__ and __SIZEOF_LONG__ are
> usable, it is probably fine to unify the definition of __BITS_PER_LONG as
> (__CHAR_BIT__ * __SIZEOF_LONG__) in asm-generic uapi bitsperlong.h.
>
> In order to keep safe and avoid regression, only unify uapi bitsperlong.h
> for some archs such as arm64, riscv and loongarch which are using newer
> toolchains that have the definitions of __CHAR_BIT__ and __SIZEOF_LONG__.
>
> Suggested-by: Xi Ruoyao <xry111@xry111.site>
> Link: https://lore.kernel.org/all/d3e255e4746de44c9903c4433616d44ffcf18d1b.camel@xry111.site/
> Suggested-by: Arnd Bergmann <arnd@arndb.de>
> Link: https://lore.kernel.org/linux-arch/a3a4f48a-07d4-4ed9-bc53-5d383428bdd2@app.fastmail.com/
> Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
> ---
> arch/arm64/include/uapi/asm/bitsperlong.h | 24 ----------------------
> arch/loongarch/include/uapi/asm/bitsperlong.h | 9 --------
> arch/riscv/include/uapi/asm/bitsperlong.h | 14 -------------
> include/uapi/asm-generic/bitsperlong.h | 13 +++++++++++-
> tools/arch/arm64/include/uapi/asm/bitsperlong.h | 24 ----------------------
> .../arch/loongarch/include/uapi/asm/bitsperlong.h | 9 --------
> tools/arch/riscv/include/uapi/asm/bitsperlong.h | 14 -------------
> tools/include/uapi/asm-generic/bitsperlong.h | 14 ++++++++++++-
> tools/include/uapi/asm/bitsperlong.h | 6 ------
> 9 files changed, 25 insertions(+), 102 deletions(-)
> delete mode 100644 arch/arm64/include/uapi/asm/bitsperlong.h
> delete mode 100644 arch/loongarch/include/uapi/asm/bitsperlong.h
> delete mode 100644 arch/riscv/include/uapi/asm/bitsperlong.h
> delete mode 100644 tools/arch/arm64/include/uapi/asm/bitsperlong.h
> delete mode 100644 tools/arch/loongarch/include/uapi/asm/bitsperlong.h
> delete mode 100644 tools/arch/riscv/include/uapi/asm/bitsperlong.h
I think this change has backwards compatibility concerns, as it breaks
building certain host tools on the stable releases (at least 6.4 and
6.1, as that is where I noticed this). I see the following error on my
aarch64 system:
$ make -skj"$(nproc)" ARCH=x86_64 CROSS_COMPILE=x86_64-linux- mrproper defconfig prepare
In file included from /usr/include/asm/bitsperlong.h:1,
from /usr/include/asm-generic/int-ll64.h:12,
from /usr/include/asm-generic/types.h:7,
from /usr/include/asm/types.h:1,
from tools/include/linux/types.h:13,
from tools/arch/x86/include/asm/orc_types.h:9,
from scripts/sorttable.h:96,
from scripts/sorttable.c:201:
tools/include/asm-generic/bitsperlong.h:14:2: error: #error Inconsistent word size. Check asm/bitsperlong.h
14 | #error Inconsistent word size. Check asm/bitsperlong.h
| ^~~~~
A reverse bisect of 6.4 to 6.5-rc1 points to this patch. This Fedora
rawhide container has kernel-headers 6.5.0-0.rc2.git0.1.fc39 and the
error disappears when I downgrade to 6.4.0-0.rc7.git0.1.fc39. I have not
done a ton of triage/debugging so far, as I am currently hunting down
other regressions, but I figured I would get an initial report out,
since I noticed it when validating LLVM from the new release/17.x
branch. If there is any additional information I can provide or patches
I can test, I am more than happy to do so.
Cheers,
Nathan
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-07-27 21:36 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-22 14:13 [PATCH v3 0/2] Unify uapi bitsperlong.h Tiezhu Yang
2023-06-22 14:13 ` Tiezhu Yang
2023-06-22 14:13 ` Tiezhu Yang
2023-06-22 14:13 ` [PATCH v3 1/2] asm-generic: Unify uapi bitsperlong.h for arm64, riscv and loongarch Tiezhu Yang
2023-06-22 14:13 ` Tiezhu Yang
2023-06-22 14:13 ` Tiezhu Yang
2023-07-27 21:36 ` Nathan Chancellor [this message]
2023-07-27 21:36 ` Nathan Chancellor
2023-07-27 21:36 ` Nathan Chancellor
2023-07-28 11:00 ` Arnd Bergmann
2023-07-28 11:00 ` Arnd Bergmann
2023-07-28 11:00 ` Arnd Bergmann
2023-07-28 17:31 ` Nathan Chancellor
2023-07-28 17:31 ` Nathan Chancellor
2023-07-28 17:31 ` Nathan Chancellor
2023-07-28 20:56 ` Arnd Bergmann
2023-07-28 20:56 ` Arnd Bergmann
2023-07-28 20:56 ` Arnd Bergmann
2023-07-28 23:44 ` Nathan Chancellor
2023-07-28 23:44 ` Nathan Chancellor
2023-07-28 23:44 ` Nathan Chancellor
2023-07-29 7:59 ` Arnd Bergmann
2023-07-29 7:59 ` Arnd Bergmann
2023-07-29 7:59 ` Arnd Bergmann
2023-07-29 17:46 ` Nathan Chancellor
2023-07-29 17:46 ` Nathan Chancellor
2023-07-29 17:46 ` Nathan Chancellor
2023-07-29 21:12 ` Arnd Bergmann
2023-07-29 21:12 ` Arnd Bergmann
2023-07-29 21:12 ` Arnd Bergmann
2023-07-31 16:04 ` Nathan Chancellor
2023-07-31 16:04 ` Nathan Chancellor
2023-07-31 16:04 ` Nathan Chancellor
2023-06-22 14:13 ` [PATCH v3 2/2] tools arch: Remove uapi bitsperlong.h of hexagon and microblaze Tiezhu Yang
2023-06-22 14:13 ` Tiezhu Yang
2023-06-22 14:13 ` Tiezhu Yang
2023-06-22 15:09 ` [PATCH v3 0/2] Unify uapi bitsperlong.h Arnd Bergmann
2023-06-22 15:09 ` Arnd Bergmann
2023-06-22 15:09 ` Arnd Bergmann
2023-07-14 18:34 ` Ian Rogers
2023-07-14 18:34 ` Ian Rogers
2023-07-14 18:34 ` Ian Rogers
2023-07-14 19:56 ` Arnd Bergmann
2023-07-14 19:56 ` Arnd Bergmann
2023-07-14 19:56 ` Arnd Bergmann
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=20230727213648.GA354736@dev-arch.thelio-3990X \
--to=nathan@kernel.org \
--cc=arnd@arndb.de \
--cc=bpf@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=loongarch@lists.linux.dev \
--cc=loongson-kernel@lists.loongnix.cn \
--cc=yangtiezhu@loongson.cn \
/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.