llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
29.44k stars 12.16k forks source link

Use of %849 does not have a corresponding definition on every path: LLVM ERROR: Use not jointly dominated by defs. #45635

Closed pkubaj closed 1 year ago

pkubaj commented 4 years ago
Bugzilla Link 46290
Version 10.0
OS FreeBSD
CC @adalava,@DimitryAndric,@nemanjai

Extended Description

FreeBSD head, powerpc64 elfv2, LLVM 10.0.1-rc1

During neovim 0.4.3 build, built binaries segfault at the end during testing when built with -O2 or -O1. This doesn't happen when building with -O0, a different error occurs: root@powerpc64-head-default:/wrkdirs/usr/ports/editors/neovim/work/.build # /usr/bin/cc -O0 -O0 -DMIN_LOG_LEVEL=3 -flto=thin -fstack-protector-strong -Wl,--no-undefined src/nvim/CMakeFiles/nvim.dir/auto/msgpack_lua_c_bindings.generated.c.o src/nvim/CMakeFiles/nvim.dir///config/auto/pathdef.c.o src/nvim/CMakeFiles/nvim.dir/api/buffer.c.o src/nvim/CMakeFiles/nvim.dir/api/private/dispatch.c.o src/nvim/CMakeFiles/nvim.dir/api/private/handle.c.o src/nvim/CMakeFiles/nvim.dir/api/private/helpers.c.o src/nvim/CMakeFiles/nvim.dir/api/tabpage.c.o src/nvim/CMakeFiles/nvim.dir/api/ui.c.o src/nvim/CMakeFiles/nvim.dir/api/vim.c.o src/nvim/CMakeFiles/nvim.dir/api/window.c.o src/nvim/CMakeFiles/nvim.dir/arabic.c.o src/nvim/CMakeFiles/nvim.dir/aucmd.c.o src/nvim/CMakeFiles/nvim.dir/buffer.c.o src/nvim/CMakeFiles/nvim.dir/buffer_updates.c.o src/nvim/CMakeFiles/nvim.dir/change.c.o src/nvim/CMakeFiles/nvim.dir/channel.c.o src/nvim/CMakeFiles/nvim.dir/charset.c.o src/nvim/CMakeFiles/nvim.dir/context.c.o src/nvim/CMakeFiles/nvim.dir/cursor.c.o src/nvim/CMakeFiles/nvim.dir/cursor_shape.c.o src/nvim/CMakeFiles/nvim.dir/diff.c.o src/nvim/CMakeFiles/nvim.dir/digraph.c.o src/nvim/CMakeFiles/nvim.dir/edit.c.o src/nvim/CMakeFiles/nvim.dir/eval.c.o src/nvim/CMakeFiles/nvim.dir/eval/decode.c.o src/nvim/CMakeFiles/nvim.dir/eval/encode.c.o src/nvim/CMakeFiles/nvim.dir/eval/executor.c.o src/nvim/CMakeFiles/nvim.dir/eval/gc.c.o src/nvim/CMakeFiles/nvim.dir/eval/typval.c.o src/nvim/CMakeFiles/nvim.dir/event/libuv_process.c.o src/nvim/CMakeFiles/nvim.dir/event/loop.c.o src/nvim/CMakeFiles/nvim.dir/event/multiqueue.c.o src/nvim/CMakeFiles/nvim.dir/event/process.c.o src/nvim/CMakeFiles/nvim.dir/event/rstream.c.o src/nvim/CMakeFiles/nvim.dir/event/signal.c.o src/nvim/CMakeFiles/nvim.dir/event/socket.c.o src/nvim/CMakeFiles/nvim.dir/event/stream.c.o src/nvim/CMakeFiles/nvim.dir/event/time.c.o src/nvim/CMakeFiles/nvim.dir/event/wstream.c.o src/nvim/CMakeFiles/nvim.dir/ex_cmds.c.o src/nvim/CMakeFiles/nvim.dir/ex_cmds2.c.o src/nvim/CMakeFiles/nvim.dir/ex_docmd.c.o src/nvim/CMakeFiles/nvim.dir/ex_eval.c.o src/nvim/CMakeFiles/nvim.dir/ex_getln.c.o src/nvim/CMakeFiles/nvim.dir/file_search.c.o src/nvim/CMakeFiles/nvim.dir/fileio.c.o src/nvim/CMakeFiles/nvim.dir/fold.c.o src/nvim/CMakeFiles/nvim.dir/garray.c.o src/nvim/CMakeFiles/nvim.dir/getchar.c.o src/nvim/CMakeFiles/nvim.dir/hardcopy.c.o src/nvim/CMakeFiles/nvim.dir/hashtab.c.o src/nvim/CMakeFiles/nvim.dir/highlight.c.o src/nvim/CMakeFiles/nvim.dir/if_cscope.c.o src/nvim/CMakeFiles/nvim.dir/indent.c.o src/nvim/CMakeFiles/nvim.dir/indent_c.c.o src/nvim/CMakeFiles/nvim.dir/keymap.c.o src/nvim/CMakeFiles/nvim.dir/log.c.o src/nvim/CMakeFiles/nvim.dir/lua/converter.c.o src/nvim/CMakeFiles/nvim.dir/lua/executor.c.o src/nvim/CMakeFiles/nvim.dir/main.c.o src/nvim/CMakeFiles/nvim.dir/map.c.o src/nvim/CMakeFiles/nvim.dir/mark.c.o src/nvim/CMakeFiles/nvim.dir/math.c.o src/nvim/CMakeFiles/nvim.dir/mbyte.c.o src/nvim/CMakeFiles/nvim.dir/memfile.c.o src/nvim/CMakeFiles/nvim.dir/memline.c.o src/nvim/CMakeFiles/nvim.dir/memory.c.o src/nvim/CMakeFiles/nvim.dir/menu.c.o src/nvim/CMakeFiles/nvim.dir/message.c.o src/nvim/CMakeFiles/nvim.dir/misc1.c.o src/nvim/CMakeFiles/nvim.dir/mouse.c.o src/nvim/CMakeFiles/nvim.dir/move.c.o src/nvim/CMakeFiles/nvim.dir/msgpack_rpc/channel.c.o src/nvim/CMakeFiles/nvim.dir/msgpack_rpc/helpers.c.o src/nvim/CMakeFiles/nvim.dir/msgpack_rpc/server.c.o src/nvim/CMakeFiles/nvim.dir/normal.c.o src/nvim/CMakeFiles/nvim.dir/ops.c.o src/nvim/CMakeFiles/nvim.dir/option.c.o src/nvim/CMakeFiles/nvim.dir/os/dl.c.o src/nvim/CMakeFiles/nvim.dir/os/env.c.o src/nvim/CMakeFiles/nvim.dir/os/fileio.c.o src/nvim/CMakeFiles/nvim.dir/os/fs.c.o src/nvim/CMakeFiles/nvim.dir/os/input.c.o src/nvim/CMakeFiles/nvim.dir/os/lang.c.o src/nvim/CMakeFiles/nvim.dir/os/mem.c.o src/nvim/CMakeFiles/nvim.dir/os/process.c.o src/nvim/CMakeFiles/nvim.dir/os/pty_process_unix.c.o src/nvim/CMakeFiles/nvim.dir/os/shell.c.o src/nvim/CMakeFiles/nvim.dir/os/signal.c.o src/nvim/CMakeFiles/nvim.dir/os/stdpaths.c.o src/nvim/CMakeFiles/nvim.dir/os/time.c.o src/nvim/CMakeFiles/nvim.dir/os/tty.c.o src/nvim/CMakeFiles/nvim.dir/os/users.c.o src/nvim/CMakeFiles/nvim.dir/os_unix.c.o src/nvim/CMakeFiles/nvim.dir/path.c.o src/nvim/CMakeFiles/nvim.dir/popupmnu.c.o src/nvim/CMakeFiles/nvim.dir/profile.c.o src/nvim/CMakeFiles/nvim.dir/quickfix.c.o src/nvim/CMakeFiles/nvim.dir/rbuffer.c.o src/nvim/CMakeFiles/nvim.dir/regexp.c.o src/nvim/CMakeFiles/nvim.dir/screen.c.o src/nvim/CMakeFiles/nvim.dir/search.c.o src/nvim/CMakeFiles/nvim.dir/sha256.c.o src/nvim/CMakeFiles/nvim.dir/shada.c.o src/nvim/CMakeFiles/nvim.dir/sign.c.o src/nvim/CMakeFiles/nvim.dir/spell.c.o src/nvim/CMakeFiles/nvim.dir/spellfile.c.o src/nvim/CMakeFiles/nvim.dir/state.c.o src/nvim/CMakeFiles/nvim.dir/strings.c.o src/nvim/CMakeFiles/nvim.dir/syntax.c.o src/nvim/CMakeFiles/nvim.dir/tag.c.o src/nvim/CMakeFiles/nvim.dir/terminal.c.o src/nvim/CMakeFiles/nvim.dir/tui/input.c.o src/nvim/CMakeFiles/nvim.dir/tui/terminfo.c.o src/nvim/CMakeFiles/nvim.dir/tui/tui.c.o src/nvim/CMakeFiles/nvim.dir/ugrid.c.o src/nvim/CMakeFiles/nvim.dir/ui.c.o src/nvim/CMakeFiles/nvim.dir/ui_bridge.c.o src/nvim/CMakeFiles/nvim.dir/ui_compositor.c.o src/nvim/CMakeFiles/nvim.dir/undo.c.o src/nvim/CMakeFiles/nvim.dir/version.c.o src/nvim/CMakeFiles/nvim.dir/viml/parser/expressions.c.o src/nvim/CMakeFiles/nvim.dir/viml/parser/parser.c.o src/nvim/CMakeFiles/nvim.dir/window.c.o src/nvim/CMakeFiles/nvim.dir/xdiff/xdiffi.c.o src/nvim/CMakeFiles/nvim.dir/xdiff/xemit.c.o src/nvim/CMakeFiles/nvim.dir/xdiff/xhistogram.c.o src/nvim/CMakeFiles/nvim.dir/xdiff/xpatience.c.o src/nvim/CMakeFiles/nvim.dir/xdiff/xprepare.c.o src/nvim/CMakeFiles/nvim.dir/xdiff/xutils.c.o -o bin/nvim -Wl,-rpath,/usr/local/lib: /usr/local/lib/libintl.so -lc /usr/local/lib/libluv.so /usr/local/lib/libuv.so -ldl -ldl -lkvm -lrt /usr/local/lib/libmsgpackc.so /usr/local/lib/libvterm.so /usr/local/lib/libtermkey.so /usr/local/lib/libunibilium.so -pthread -lm -lutil /usr/local/lib/liblua-5.2.so -lm Use of %849 does not have a corresponding definition on every path: LLVM ERROR: Use not jointly dominated by defs.

Due to the nature of the bug, it will be difficult to produce a reproducible script. Do you want me to put here a tarball with all the object files and libraries that are used in the command?

nemanjai commented 4 years ago

Do you know if this can be reproduced somehow with big endian Linux or if there is a way for someone to gain access to a FreeBSD PPC machine to reproduce the problem?

pkubaj commented 1 year ago

Seems to work correctly now with LLVM 13, 14 and 15, so closing.