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

Compilation failure in Webkit 2.48.0 with Clang-20 on ARM #132322

Open
kraj opened this issue Mar 21, 2025 · 1 comment
Open

Compilation failure in Webkit 2.48.0 with Clang-20 on ARM #132322

kraj opened this issue Mar 21, 2025 · 1 comment

Comments

@kraj
Copy link
Contributor

kraj commented Mar 21, 2025

While compiling webkit 2.48.0 with Clang-20 using internal assembler it ends up with following errors

<inline asm>:320:1: error: Relocation Not In Range
  320 | movw r4, #:lower16:.Lllint_op_tail_call_varargs - .Lllint_relativePCBase
      | ^
<inline asm>:321:1: error: Relocation Not In Range
  321 | movt r4, #:upper16:.Lllint_op_tail_call_varargs - .Lllint_relativePCBase
      | ^
<inline asm>:325:1: error: Relocation Not In Range
  325 | movw r4, #:lower16:.Lllint_op_call_varargs - .Lllint_relativePCBase
      | ^
<inline asm>:326:1: error: Relocation Not In Range
  326 | movt r4, #:upper16:.Lllint_op_call_varargs - .Lllint_relativePCBase
      | ^
<inline asm>:330:1: error: Relocation Not In Range
  330 | movw r4, #:lower16:.Lllint_op_iterator_next - .Lllint_relativePCBase
      | ^
<inline asm>:331:1: error: Relocation Not In Range
  331 | movt r4, #:upper16:.Lllint_op_iterator_next - .Lllint_relativePCBase
      | ^
<inline asm>:335:1: error: Relocation Not In Range
  335 | movw r4, #:lower16:.Lllint_op_construct_varargs - .Lllint_relativePCBase
      | ^
<inline asm>:336:1: error: Relocation Not In Range
  336 | movt r4, #:upper16:.Lllint_op_construct_varargs - .Lllint_relativePCBase
      | ^
<inline asm>:345:1: error: Relocation Not In Range
  345 | movw r4, #:lower16:.Lllint_op_iterator_open - .Lllint_relativePCBase
      | ^
<inline asm>:346:1: error: Relocation Not In Range
  346 | movt r4, #:upper16:.Lllint_op_iterator_open - .Lllint_relativePCBase
      | ^
<inline asm>:350:1: error: Relocation Not In Range
  350 | movw r4, #:lower16:.Lllint_op_instanceof - .Lllint_relativePCBase
      | ^
<inline asm>:351:1: error: Relocation Not In Range
  351 | movt r4, #:upper16:.Lllint_op_instanceof - .Lllint_relativePCBase
      | ^
<inline asm>:355:1: error: Relocation Not In Range
  355 | movw r4, #:lower16:.Lllint_op_set_private_brand - .Lllint_relativePCBase
      | ^
<inline asm>:356:1: error: Relocation Not In Range
  356 | movt r4, #:upper16:.Lllint_op_set_private_brand - .Lllint_relativePCBase
      | ^
<inline asm>:360:1: error: Relocation Not In Range
  360 | movw r4, #:lower16:.Lllint_op_check_private_brand - .Lllint_relativePCBase
      | ^
<inline asm>:361:1: error: Relocation Not In Range
  361 | movt r4, #:upper16:.Lllint_op_check_private_brand - .Lllint_relativePCBase
      | ^
<inline asm>:365:1: error: Relocation Not In Range
  365 | movw r4, #:lower16:.Lllint_op_put_by_id - .Lllint_relativePCBase
      | ^
<inline asm>:366:1: error: Relocation Not In Range
  366 | movt r4, #:upper16:.Lllint_op_put_by_id - .Lllint_relativePCBase
      | ^
<inline asm>:370:1: error: Relocation Not In Range
  370 | movw r4, #:lower16:.Lllint_op_construct - .Lllint_relativePCBase
      | ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

Here is cmdline options used

arm-yoe-linux-gnueabi-clang++ -target arm-yoe-linux-gnueabi -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a15 -mlittle-endian -c a.cpp -std=c++23

If I use -fno-integrated-as then compile succeeds, so thats my workaround for now but I think it is something to be root caused.

a.cpp.zip

@llvmbot
Copy link
Member

llvmbot commented Mar 24, 2025

@llvm/issue-subscribers-backend-arm

Author: Khem Raj (kraj)

While compiling webkit 2.48.0 with Clang-20 using internal assembler it ends up with following errors
&lt;inline asm&gt;:320:1: error: Relocation Not In Range
  320 | movw r4, #:lower16:.Lllint_op_tail_call_varargs - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:321:1: error: Relocation Not In Range
  321 | movt r4, #:upper16:.Lllint_op_tail_call_varargs - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:325:1: error: Relocation Not In Range
  325 | movw r4, #:lower16:.Lllint_op_call_varargs - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:326:1: error: Relocation Not In Range
  326 | movt r4, #:upper16:.Lllint_op_call_varargs - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:330:1: error: Relocation Not In Range
  330 | movw r4, #:lower16:.Lllint_op_iterator_next - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:331:1: error: Relocation Not In Range
  331 | movt r4, #:upper16:.Lllint_op_iterator_next - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:335:1: error: Relocation Not In Range
  335 | movw r4, #:lower16:.Lllint_op_construct_varargs - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:336:1: error: Relocation Not In Range
  336 | movt r4, #:upper16:.Lllint_op_construct_varargs - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:345:1: error: Relocation Not In Range
  345 | movw r4, #:lower16:.Lllint_op_iterator_open - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:346:1: error: Relocation Not In Range
  346 | movt r4, #:upper16:.Lllint_op_iterator_open - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:350:1: error: Relocation Not In Range
  350 | movw r4, #:lower16:.Lllint_op_instanceof - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:351:1: error: Relocation Not In Range
  351 | movt r4, #:upper16:.Lllint_op_instanceof - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:355:1: error: Relocation Not In Range
  355 | movw r4, #:lower16:.Lllint_op_set_private_brand - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:356:1: error: Relocation Not In Range
  356 | movt r4, #:upper16:.Lllint_op_set_private_brand - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:360:1: error: Relocation Not In Range
  360 | movw r4, #:lower16:.Lllint_op_check_private_brand - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:361:1: error: Relocation Not In Range
  361 | movt r4, #:upper16:.Lllint_op_check_private_brand - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:365:1: error: Relocation Not In Range
  365 | movw r4, #:lower16:.Lllint_op_put_by_id - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:366:1: error: Relocation Not In Range
  366 | movt r4, #:upper16:.Lllint_op_put_by_id - .Lllint_relativePCBase
      | ^
&lt;inline asm&gt;:370:1: error: Relocation Not In Range
  370 | movw r4, #:lower16:.Lllint_op_construct - .Lllint_relativePCBase
      | ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

Here is cmdline options used

arm-yoe-linux-gnueabi-clang++ -target arm-yoe-linux-gnueabi -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a15 -mlittle-endian -c a.cpp -std=c++23

If I use -fno-integrated-as then compile succeeds, so thats my workaround for now but I think it is something to be root caused.

a.cpp.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants