Skip to content

freestanding_module_import_2 assembly failure on ARM64 #23397

Description

@davidebeatrici

Describe the bug

DEBUG:  FAIL  [2210/2214] C:  3191.9 ms, R: 58072.836 ms vlib/v/gen/c/coutput_test.v
DEBUG: > testing whether .out files match:
DEBUG: OK   C:  2812ms, R:35ms v run vlib/v/gen/c/testdata/volatile.vv == vlib/v/gen/c/testdata/volatile.out 
DEBUG: OK   C:  4176ms, R:29ms v -d ddd1=true -d ddd2=false run vlib/v/gen/c/testdata/use_flag_comptime_with_if.vv == vlib/v/gen/c/testdata/use_flag_comptime_with_if.out 
DEBUG: OK   C:  4834ms, R:19ms v -d my_f64=2.0 -d my_i64=3 -d my_string="a four" -d my_bool -d my_char=g -d my_size=8 -d field_fsa_size=16 run vlib/v/gen/c/testdata/use_flag_comptime_values.vv == vlib/v/gen/c/testdata/use_flag_comptime_values.out 
DEBUG: OK   C:  4229ms, R:35ms v run vlib/v/gen/c/testdata/translated_module.vv == vlib/v/gen/c/testdata/translated_module.out 
DEBUG: OK   C:  2464ms, R:19ms v -translated run vlib/v/gen/c/testdata/translated_const_fixed_array.vv == vlib/v/gen/c/testdata/translated_const_fixed_array.out 
DEBUG: OK   C:  1980ms, R:38ms v run vlib/v/gen/c/testdata/sumtype_struct_depend_order.vv == vlib/v/gen/c/testdata/sumtype_struct_depend_order.out 
DEBUG: OK   C:  3118ms, R:12ms v run vlib/v/gen/c/testdata/sumtype_pass_by_reference.vv == vlib/v/gen/c/testdata/sumtype_pass_by_reference.out 
DEBUG: OK   C:  2375ms, R:21ms v run vlib/v/gen/c/testdata/struct_fn_member_print.vv == vlib/v/gen/c/testdata/struct_fn_member_print.out 
DEBUG: OK   C:  2850ms, R:12ms v run vlib/v/gen/c/testdata/struct_field_free.vv == vlib/v/gen/c/testdata/struct_field_free.out 
DEBUG: OK   C:  1963ms, R:16ms v run vlib/v/gen/c/testdata/strlit_len_optimization.vv == vlib/v/gen/c/testdata/strlit_len_optimization.out 
DEBUG: > skipping vlib/v/gen/c/testdata/spawn_stack_windows.vv on !windows
DEBUG: OK   C:  2112ms, R:32ms v run vlib/v/gen/c/testdata/spawn_stack_nix.vv == vlib/v/gen/c/testdata/spawn_stack_nix.out 
DEBUG: OK   C:  1832ms, R:59ms v run vlib/v/gen/c/testdata/spawn_call_fn_struct_field.vv == vlib/v/gen/c/testdata/spawn_call_fn_struct_field.out 
DEBUG: OK   C: 11312ms, R: 8ms v -prod -skip-unused run vlib/v/gen/c/testdata/self_printer_with_prod.vv == vlib/v/gen/c/testdata/self_printer_with_prod.out 
DEBUG: OK   C:   982ms, R: 7ms v run vlib/v/gen/c/testdata/ref_sumtype_map_as_struct_field.vv == vlib/v/gen/c/testdata/ref_sumtype_map_as_struct_field.out 
DEBUG: OK   C:   871ms, R: 6ms v run vlib/v/gen/c/testdata/preinclude_example_changed_order.vv == vlib/v/gen/c/testdata/preinclude_example_changed_order.out 
DEBUG: OK   C:  1306ms, R: 7ms v run vlib/v/gen/c/testdata/preinclude_example.vv == vlib/v/gen/c/testdata/preinclude_example.out 
DEBUG: OK   C:  1403ms, R: 7ms v run vlib/v/gen/c/testdata/platform_wrapper_non_emscripten.vv == vlib/v/gen/c/testdata/platform_wrapper_non_emscripten.out 
DEBUG: OK   C:   710ms, R: 6ms v run vlib/v/gen/c/testdata/none_literal_str.vv == vlib/v/gen/c/testdata/none_literal_str.out 
DEBUG: OK   C:   751ms, R: 7ms v run vlib/v/gen/c/testdata/mutable_receiver_type_mapping.vv == vlib/v/gen/c/testdata/mutable_receiver_type_mapping.out 
DEBUG: OK   C:   740ms, R: 6ms v run vlib/v/gen/c/testdata/multi_return_ignored_if_guard.vv == vlib/v/gen/c/testdata/multi_return_ignored_if_guard.out 
DEBUG: OK   C:   648ms, R: 6ms v -d not_defined run vlib/v/gen/c/testdata/init_fn_with_if_attr_not_defined.vv == vlib/v/gen/c/testdata/init_fn_with_if_attr_not_defined.out 
DEBUG: OK   C:   658ms, R: 6ms v -d init_on run vlib/v/gen/c/testdata/init_fn_with_if_attr_defined.vv == vlib/v/gen/c/testdata/init_fn_with_if_attr_defined.out 
DEBUG: OK   C:   710ms, R: 6ms v run vlib/v/gen/c/testdata/if_else_return.vv == vlib/v/gen/c/testdata/if_else_return.out 
DEBUG: OK   C:   668ms, R: 6ms v -d some_define run vlib/v/gen/c/testdata/if_define_check_set.vv == vlib/v/gen/c/testdata/if_define_check_set.out 
DEBUG: OK   C:   658ms, R: 6ms v -d some_define= run vlib/v/gen/c/testdata/if_define_check_not_set.vv == vlib/v/gen/c/testdata/if_define_check_not_set.out 
DEBUG: OK   C:   706ms, R: 6ms v run vlib/v/gen/c/testdata/gen_expr_to_string_with_call_and_return_ref.vv == vlib/v/gen/c/testdata/gen_expr_to_string_with_call_and_return_ref.out 
DEBUG: V panic: compilation failed: ================== C compilation error (from gcc): ==============
DEBUG: cc: /tmp/v_192/tsession_ffff89a50020_01JGQMDK9D7GBF09KXZVM9C32W/freestanding_module_import_2.exe.01JGQMFTHXFKW4ZQ759Z70Y9NV.tmp.c: In function ‘sys_call1’:
DEBUG: cc: /tmp/v_192/tsession_ffff89a50020_01JGQMDK9D7GBF09KXZVM9C32W/freestanding_module_import_2.exe.01JGQMFTHXFKW4ZQ759Z70Y9NV.tmp.c:6826:9: error: impossible constraint in ‘asm’
DEBUG: cc:  6826 |         __asm__ (
DEBUG: cc:       |         ^~~~~~~
DEBUG: cc: /tmp/v_192/tsession_ffff89a50020_01JGQMDK9D7GBF09KXZVM9C32W/freestanding_module_import_2.exe.01JGQMFTHXFKW4ZQ759Z70Y9NV.tmp.c: In function ‘sys_call2’:
DEBUG: cc: /tmp/v_192/tsession_ffff89a50020_01JGQMDK9D7GBF09KXZVM9C32W/freestanding_module_import_2.exe.01JGQMFTHXFKW4ZQ759Z70Y9NV.tmp.c:6836:9: warning: ‘asm’ operand 3 probably does not match constraints
DEBUG: cc:  6836 |         __asm__ (
DEBUG: cc:       |         ^~~~~~~
DEBUG: cc: /tmp/v_192/tsession_ffff89a50020_01JGQMDK9D7GBF09KXZVM9C32W/freestanding_module_import_2.exe.01JGQMFTHXFKW4ZQ759Z70Y9NV.tmp.c: In function ‘sys_call3’:
DEBUG: cc: /tmp/v_192/tsession_ffff89a50020_01JGQMDK9D7GBF09KXZVM9C32W/freestanding_module_import_2.exe.01JGQMFTHXFKW4ZQ759Z70Y9NV.tmp.c:6847:9: warning: ‘asm’ operand 3 probably does not match constraints
DEBUG: cc:  6847 |         __asm__ (
DEBUG: cc:       |         ^~~~~~~
DEBUG: ... (the original output was 24 lines long, and was truncated to 12 lines)
DEBUG: =================================================================
DEBUG: (You can pass `-cg`, or `-show-c-output` as well, to print all the C error messages).
DEBUG: builder error: 
DEBUG: ==================
DEBUG: C error found. It should never happen, when compiling pure V code.
DEBUG: This is a V compiler bug, please report it using `v bug file.v`,
DEBUG: or goto https://github.com/vlang/v/issues/new/choose .
DEBUG: You can also use #help on Discord: https://discord.gg/vlang .
DEBUG: v hash: 3953445
DEBUG:                                                         | 0xaaaad4b7a5c4 | /tmp/v_192/tsession_ffff89a50020_01JGQMDK9D7GBF09KXZVM9C32W/511_11/coutput_test(+0x3a5c4) 
DEBUG:                                                         | 0xaaaad4b790c0 | /tmp/v_192/tsession_ffff89a50020_01JGQMDK9D7GBF09KXZVM9C32W/511_11/coutput_test(+0x390c0) 
DEBUG:                                                         | 0xaaaad4b7c2dc | /tmp/v_192/tsession_ffff89a50020_01JGQMDK9D7GBF09KXZVM9C32W/511_11/coutput_test(+0x3c2dc) 
DEBUG:                                                         | 0xffff8dcd0a94 | /lib64/libc.so.6(+0x30a94) 
DEBUG:                                                         | 0xffff8dcd0b78 | /lib64/libc.so.6(__libc_start_main+0x98) 
DEBUG:                                                         | 0xaaaad4b59030 | /tmp/v_192/tsession_ffff89a50020_01JGQMDK9D7GBF09KXZVM9C32W/511_11/coutput_test(+0x19030)

Reproduction Steps

v vlib/v/gen/c/coutput_test.v

Expected Behavior

The test to succeed.

Current Behavior

The test fails to build.

Possible Solution

No response

Additional Information/Context

Full log: https://file-store.openmandriva.org/api/v1/file_stores/32f80acbbdb28ac8e2d5eea7943d7efb4fcce010.log?show=true

V version

0.4.9

Environment details (OS name and version, etc.)

OpenMandriva on ARM64.

Note

You can use the 👍 reaction to increase the issue's priority for developers.

Please note that only the 👍 reaction to the issue itself counts as a vote.
Other reactions and those to comments will not be taken into account.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugThis tag is applied to issues which reports bugs.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions