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

llvm-16.0.2 some riscv packages reporting "LLVM ERROR: Relocation type not implemented yet!" #62940

Open
apcameron opened this issue May 25, 2023 · 8 comments

Comments

@apcameron
Copy link

apcameron commented May 25, 2023

See https://bugs.gentoo.org/905662 for full details

andrew@StarFive ~ $ glxgears 
LLVM ERROR: Relocation type not implemented yet!
Aborted (core dumped)
andrew@StarFive ~ $ es2gears_x11 
libEGL warning: DRI2: failed to authenticate
EGL_VERSION = 1.5
vertex shader info: 
fragment shader info: 
info: 
LLVM ERROR: Relocation type not implemented yet!
Aborted (core dumped)
andrew@StarFive ~ $ firefox 
ATTENTION: default value of option mesa_glthread overridden by environment.
libEGL warning: DRI2: failed to authenticate
ATTENTION: default value of option mesa_glthread overridden by environment.
LLVM ERROR: Relocation type not implemented yet!
Redirecting call to abort() to mozalloc_abort

Exiting due to channel error.
Segmentation fault (core dumped)
@llvmbot
Copy link
Collaborator

llvmbot commented May 25, 2023

@llvm/issue-subscribers-backend-risc-v

@asb
Copy link
Contributor

asb commented May 25, 2023

I might be barking up completely the wrong tree, but is Mesa defaulting to llvmpipe? This uses MCJIT (which is a dead end, along with RuntimeDyld) - there's a draft patch to migrate to ORCJIT https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1780.

@ChunyuLiao
Copy link
Member

Mesa and orcjit maybe @alexfanqi can help

@alexfanqi
Copy link
Contributor

alexfanqi commented May 26, 2023

Same issue was asked before #59125 .There is discussion at https://lists.riscv.org/g/sig-graphics/message/210 . This is also not llvm related issue, but rather mesa should migrate to Orcjit for riscv jitlink support. Maybe post in sig graphics group if you have more questions.

The old MR above has some issues, I suggest try out wip branch https://gitlab.freedesktop.org/alexfanqi/mesa/-/commits/wip .With it, opengl and vulkan both work okay.

But there is still effort needs to be done to make it upstream. Bit unfortunately, I was not able to put time into it recently.

@apcameron
Copy link
Author

apcameron commented May 26, 2023

Please have this code added to Upstream as soon as possible.
I can confirm that when I use the code from https://gitlab.freedesktop.org/alexfanqi/mesa/-/tree/wip?ref_type=heads
It works correctly

`[1/14] Generating src/git_sha1.h with a custom command
 1/53 mesa:util / drirc xml validation            OK                 0.09s
 2/53 mesa:util / process                         OK                 0.04s
 3/53 mesa:util / xmlconfig                       OK                 0.13s
 4/53 mesa:util / clear                           OK                 0.07s
 5/53 mesa:util / collision                       OK                 0.07s
 6/53 mesa:util / delete_and_lookup               OK                 0.09s
 7/53 mesa:util / delete_management               OK                 0.07s
 8/53 mesa:util / destroy_callback                OK                 0.07s
 9/53 mesa:util / insert_and_lookup               OK                 0.08s
10/53 mesa:util / insert_many                     OK                 0.07s
11/53 mesa:util / null_destroy                    OK                 0.06s
12/53 mesa:util / random_entry                    OK                 0.08s
13/53 mesa:util / remove_key                      OK                 0.07s
14/53 mesa:util / remove_null                     OK                 0.07s
15/53 mesa:util / replacement                     OK                 0.08s
16/53 mesa:util / vma_random                      OK                 0.07s
17/53 mesa:format / srgb                          OK                 0.09s
18/53 mesa:format / u_format_test                 OK                 0.12s
19/53 mesa:format / u_format_compatible_test      OK                 0.12s
20/53 mesa:mapi / shared-glapi-test               OK                 0.12s
21/53 mesa:mapi / shared-glapi symbols check      OK                 0.36s
22/53 mesa:compiler+nir / load_store_vectorizer   OK                 0.11s
23/53 mesa:compiler+nir / nir_opt_dce             OK                 0.03s
24/53 mesa:compiler+spirv / spirv_tests           OK                 0.04s
25/53 mesa:compiler+nir / nir_tests               OK                 1.24s
26/53 mesa:compiler+nir / nir_algebraic_parser    OK                 1.26s
27/53 mesa:compiler+glcpp / glcpp test (unix)     OK                 1.89s
28/53 mesa:compiler+glcpp / glcpp test (windows)  OK                 2.21s
29/53 mesa:compiler+glcpp / glcpp test (oldmac)   OK                 2.23s
30/53 mesa:compiler+glsl / general_ir_test        OK                 0.10s
31/53 mesa:compiler+glsl / sampler_types_test     OK                 0.08s
32/53 mesa:compiler+glsl / list_iterators         OK                 0.08s
33/53 mesa:compiler+glsl / glsl optimization      OK                 0.82s
34/53 mesa:gbm / gbm-abi-check                    OK                 0.04s
35/53 mesa:compiler+glcpp / glcpp test (bizarro)  OK                 2.16s
36/53 mesa:gbm / gbm-symbols-check                OK                 0.48s
37/53 mesa:llvmpipe / lp_test_arit                FAIL               1.06s   exit status 1
>>> MALLOC_PERTURB_=103 /var/tmp/portage/media-libs/mesa-23.0.0/work/mesa-23.0.0-.lp64d/src/gallium/drivers/llvmpipe/lp_test_arit
――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
round.v1(-0.5): ref = -0, out = -1, precision = -inf bits, FAIL
round.v1(0.5): ref = 0, out = 1, precision = -inf bits, FAIL
round.v4(-0.5): ref = -0, out = -1, precision = -inf bits, FAIL
round.v4(0.5): ref = 0, out = 1, precision = -inf bits, FAIL
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

38/53 mesa:util / util_tests                      OK                 6.96s
39/53 mesa:compiler+glsl / glsl compiler warnings OK                 2.83s
40/53 mesa:llvmpipe / lp_test_printf              OK                 0.12s
41/53 mesa:llvmpipe / lp_test_lookup_multiple     OK                 0.15s
42/53 mesa:gallium / pipe_barrier_test            OK                 0.93s
43/53 mesa:gallium / u_half_test                  OK                 0.03s
44/53 mesa:gallium / u_prim_verts_test            OK                 0.03s
45/53 mesa:glx / dispatch-index-check             OK                 0.13s
46/53 mesa:glx / glx-test                         OK                 0.11s
47/53 mesa:mesa / main-test                       OK                 0.12s
48/53 mesa:st_mesa / st_format_test               OK                 0.10s
49/53 mesa:egl / egl-symbols-check                OK                 0.40s
50/53 mesa:egl / egl-entrypoint-check             OK                 0.28s
51/53 mesa:llvmpipe / lp_test_format              OK                 9.86s
52/53 mesa:llvmpipe / lp_test_conv                OK                11.16s
53/53 mesa:llvmpipe / lp_test_blend               OK                59.67s

Summary of Failures:

37/53 mesa:llvmpipe / lp_test_arit                FAIL               1.06s   exit status 1

Ok:                 52  
Expected Fail:      0   
Fail:               1   
Unexpected Pass:    0   
Skipped:            0   
Timeout:            0
` 

@alexfanqi
Copy link
Contributor

Thanks for giving it a test. An alternative to bypass the issue is simply plug in a GPU, e.g. radeon or amd. I hope I'd have more time working on it.

@apcameron
Copy link
Author

I do have a GPU

OpenCL Device Info:
Name: PowerVR B-Series BXE-4-32
Vendor: Imagination Technologies
Version: OpenCL 3.0
Max size of work-items: (512,512,512)
Max size of work-groups: 512
Number of compute units: 1
Global memory size (bytes): 8312938496
Local memory size per compute unit (bytes): 4096

@martinwozenilek
Copy link

Is this still an issue with llvm 16 and mesa? Had this error from gnome shell when trying to start gdm.

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

7 participants