Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

clang ias: failure to build arch/arm/mach-ep93xx/crunch-bits.S #1272

Closed
arndb opened this issue Jan 27, 2021 · 5 comments
Closed

clang ias: failure to build arch/arm/mach-ep93xx/crunch-bits.S #1272

arndb opened this issue Jan 27, 2021 · 5 comments
Assignees
Labels
[ARCH] arm32 This bug impacts ARCH=arm [BUG] linux A bug that should be fixed in the mainline kernel. [FIXED][LINUX] 5.15 This bug was fixed in Linux 5.15 low priority This bug is not critical and not a priority [TOOL] integrated-as The issue is relevant to LLVM integrated assembler

Comments

@arndb
Copy link

arndb commented Jan 27, 2021

This is yet another old FPU format, enabled with CONFIG_CRUNCH:

/git/arm-soc/arch/arm/mach-ep93xx/crunch-bits.S:94:2: error: invalid instruction
cfstr64 mvdx0, [r1, #0] @ save 64b registers
^
/git/arm-soc/arch/arm/mach-ep93xx/crunch-bits.S:95:2: error: invalid instruction
cfstr64 mvdx1, [r1, #8]
^
/git/arm-soc/arch/arm/mach-ep93xx/crunch-bits.S:96:2: error: invalid instruction
cfstr64 mvdx2, [r1, #16]
^
/git/arm-soc/arch/arm/mach-ep93xx/crunch-bits.S:97:2: error: invalid instruction
cfstr64 mvdx3, [r1, #24]
^
/git/arm-soc/arch/arm/mach-ep93xx/crunch-bits.S:98:2: error: invalid instruction
...

This is way more obscure than iWMMXt, we can probably just turn this off for clang, or for clang-ias

@nickdesaulniers nickdesaulniers added [ARCH] arm32 This bug impacts ARCH=arm [TOOL] integrated-as The issue is relevant to LLVM integrated assembler labels Jan 27, 2021
@nickdesaulniers
Copy link
Member

nickdesaulniers commented Feb 22, 2021

or force -no-integrated-as when using clang, or do similar macro tricks with open coding the instruction.

@nickdesaulniers nickdesaulniers added the low priority This bug is not critical and not a priority label Feb 22, 2021
@nickdesaulniers nickdesaulniers added the [PATCH] Submitted A patch has been submitted for review label Feb 26, 2021
@nickdesaulniers
Copy link
Member

I've pinged on the list.

@nickdesaulniers
Copy link
Member

@arndb what's the status here?

fengguang pushed a commit to 0day-ci/linux that referenced this issue Aug 5, 2021
The MaverickCrunch support for ep93xx never made it into glibc and
was removed from gcc in its 4.8 release in 2012. It is now one of
the last parts of arch/arm/ that fails to build with the clang
integrated assembler, which is unlikely to ever want to support it.

The two alternatives are to force the use of binutils/gas when
building the crunch support, or to remove it entirely.

According to Hartley Sweeten:

 "Martin Guy did a lot of work trying to get the maverick crunch working
  but I was never able to successfully use it for anything. It "kind"
  of works but depending on the EP93xx silicon revision there are still
  a number of hardware bugs that either give imprecise or garbage results.

  I have no problem with removing the kernel support for the maverick
  crunch."

Unless someone else comes up with a good reason to keep it around,
remove it now. This touches mostly the ep93xx platform, but removes
a bit of code from ARM common ptrace and signal frame handling as well.

If there are remaining users of MaverickCrunch, they can use LTS
kernels for at least another five years before kernel support ends.

Link: https://lore.kernel.org/linux-arm-kernel/20210802141245.1146772-1-arnd@kernel.org/
Link: https://lore.kernel.org/linux-arm-kernel/20210226164345.3889993-1-arnd@kernel.org/
Link: ClangBuiltLinux#1272
Link: https://gcc.gnu.org/legacy-ml/gcc/2008-03/msg01063.html
Cc: "Martin Guy" <martinwguy@martinwguy@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
@arndb
Copy link
Author

arndb commented Sep 8, 2021

Fixed now by removing crunch support.

@arndb arndb closed this as completed Sep 8, 2021
@nickdesaulniers nickdesaulniers added [BUG] linux A bug that should be fixed in the mainline kernel. [FIXED][LINUX] 5.15 This bug was fixed in Linux 5.15 and removed [PATCH] Submitted A patch has been submitted for review labels Sep 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[ARCH] arm32 This bug impacts ARCH=arm [BUG] linux A bug that should be fixed in the mainline kernel. [FIXED][LINUX] 5.15 This bug was fixed in Linux 5.15 low priority This bug is not critical and not a priority [TOOL] integrated-as The issue is relevant to LLVM integrated assembler
Projects
None yet
Development

No branches or pull requests

2 participants