Skip to content

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

Open
@kraj

Description

@kraj

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions