From: Sunil Dora <[email protected]>

The generated CompletionModel.cpp overflows 16-bit branch displacements
on ppc32 and the assembler rejects it with thousands of

  {standard input}:177591: Error: operand out of range (0x81f8 is not
  between 0xffffffffffff8000 and 0x7fff)

Build clangd with -DCLANGD_DECISION_FOREST=OFF on powerpc, which falls
back to the heuristic completion ranking.

Signed-off-by: Sunil Dora <[email protected]>
---
 meta/recipes-devtools/clang/clang_git.bb | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta/recipes-devtools/clang/clang_git.bb 
b/meta/recipes-devtools/clang/clang_git.bb
index a8c5e8cb2d..c54a49b618 100644
--- a/meta/recipes-devtools/clang/clang_git.bb
+++ b/meta/recipes-devtools/clang/clang_git.bb
@@ -75,6 +75,10 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \
                   -DCMAKE_STRIP=${STAGING_BINDIR_NATIVE}/llvm-strip \
 "
 
+# The generated completion model overflows ppc32's 16-bit branch range
+# ("operand out of range" from gas); use the heuristic ranking instead.
+EXTRA_OECMAKE:append:powerpc = " -DCLANGD_DECISION_FOREST=OFF"
+
 CLANG_ENABLE_TESTSUITE ??= "0"
 CLANG_TESTSUITE_FLAGS = "\
                   -DCLANG_INCLUDE_TESTS=ON \
-- 
2.43.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#244648): 
https://lists.openembedded.org/g/openembedded-core/message/244648
Mute This Topic: https://lists.openembedded.org/mt/120998128/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to