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

rust: R_386_GOTOFF from .debug_info is not allowed on 386 #118

Open
crazy-max opened this issue Jul 24, 2023 · 0 comments
Open

rust: R_386_GOTOFF from .debug_info is not allowed on 386 #118

crazy-max opened this issue Jul 24, 2023 · 0 comments

Comments

@crazy-max
Copy link
Collaborator

LLVM 11 has a bug where R_386_GOTOFF from .debug_info is not allowed on 386: https://github.com/tonistiigi/xx/actions/runs/5560116409/jobs/10156856888#step:5:576

Since rust 0.71 is built with a recent LLVM version it breaks builds against this arch on alpine < 3.15.

#76 54.85 not ok 8 386-hellocargo-rustup
#76 54.86 # (from function `assert_success' in file bats-assert/src/assert.bash, line 114,
#76 54.86 #  from function `testHelloCargo' in file test-cargo.bats, line 32,
#76 54.86 #  from function `testHelloCargoRustup' in file test-cargo.bats, line 44,
#76 54.86 #  in test file test-cargo.bats, line 87)
#76 54.87 #   `testHelloCargoRustup' failed with status 101
#76 54.87 # 
#76 54.87 # -- command failed --
#76 54.87 # status : 101
#76 54.87 # output (14 lines):
#76 54.87 #      Compiling hello_cargo v0.1.0 (/work/fixtures/hello_cargo)
#76 54.87 #        Running `/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/bin/rustc --crate-name hello_cargo --edition=2018 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C metadata=230df35ad35baa6c -C extra-filename=-230df35ad35baa6c --out-dir /tmp/cargobuild/i686-unknown-linux-musl/release/deps --target i686-unknown-linux-musl -C linker=i686-unknown-linux-musl-clang -L dependency=/tmp/cargobuild/i686-unknown-linux-musl/release/deps -L dependency=/tmp/cargobuild/release/deps`
#76 54.87 #   error: linking with `i686-unknown-linux-musl-clang` failed: exit status: 1
#76 54.87 #     |
#76 54.87 #     = note: LC_ALL="C" PATH="/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/x86_64-unknown-linux-musl/bin:/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/x86_64-unknown-linux-musl/bin/self-contained:/root/.cargo/bin:/usr/libexec/bats-core:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "i686-unknown-linux-musl-clang" "-m32" "-Wl,-melf_i386" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/self-contained/crt1.o" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/self-contained/crti.o" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/self-contained/crtbegin.o" "/tmp/rustcxJorGn/symbols.o" "/tmp/cargobuild/i686-unknown-linux-musl/release/deps/hello_cargo-230df35ad35baa6c.hello_cargo.8d4e6134ee88f73-cgu.0.rcgu.o" "/tmp/cargobuild/i686-unknown-linux-musl/release/deps/hello_cargo-230df35ad35baa6c.hello_cargo.8d4e6134ee88f73-cgu.1.rcgu.o" "/tmp/cargobuild/i686-unknown-linux-musl/release/deps/hello_cargo-230df35ad35baa6c.hello_cargo.8d4e6134ee88f73-cgu.2.rcgu.o" "/tmp/cargobuild/i686-unknown-linux-musl/release/deps/hello_cargo-230df35ad35baa6c.4vskoqs6e3bv2gnv.rcgu.o" "-Wl,--as-needed" "-L" "/tmp/cargobuild/i686-unknown-linux-musl/release/deps" "-L" "/tmp/cargobuild/release/deps" "-L" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib" "-Wl,-Bstatic" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/libstd-fb87fbc060d06088.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/libpanic_unwind-4354d42e5963762c.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/libobject-c7139001c4acf852.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/libmemchr-93385eb84f8c5fa3.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/libaddr2line-d5d2d33006904f69.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/libgimli-ad40e51f82477f0a.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/librustc_demangle-fee680a35f2a42ec.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/libstd_detect-5589b1f24d4d3e42.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/libhashbrown-63ee7d338cd91f2d.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/librustc_std_workspace_alloc-62db1e67656915b2.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/libminiz_oxide-872e2e2e4f97de3c.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/libadler-b039ba26522f50e6.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/libunwind-0e3e8403e8500965.rlib" "-lunwind" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/libcfg_if-b842a1f1f1aa3817.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/liblibc-0ecfd7f7689347d7.rlib" "-lc" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/liballoc-c059b61390c928ff.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/librustc_std_workspace_core-19c0d6407350609a.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/libcore-1d528772f6c41771.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/libcompiler_builtins-9b2f3c7d23791871.rlib" "-Wl,-Bdynamic" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-nostartfiles" "-L" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib" "-L" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/self-contained" "-o" "/tmp/cargobuild/i686-unknown-linux-musl/release/deps/hello_cargo-230df35ad35baa6c" "-Wl,--gc-sections" "-static" "-no-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/self-contained/crtend.o" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/lib/rustlib/i686-unknown-linux-musl/lib/self-contained/crtn.o"
#76 54.87 #     = note: clang-10: warning: argument unused during compilation: '-nopie' [-Wunused-command-line-argument]
#76 54.87 #             ld.lld: error: malloc.c:(.debug_info+0x96795): has non-ABS relocation R_386_GOTOFF against symbol '__malloc_context'
#76 54.87 #             clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
#76 54.87 #             
#76 54.87 #   
#76 54.87 #   error: could not compile `hello_cargo` (bin "hello_cargo") due to previous error
#76 54.87 #   
#76 54.87 #   Caused by:
#76 54.87 #     process didn't exit successfully: `/root/.rustup/toolchains/stable-x86_64-unknown-linux-musl/bin/rustc --crate-name hello_cargo --edition=2018 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C metadata=230df35ad35baa6c -C extra-filename=-230df35ad35baa6c --out-dir /tmp/cargobuild/i686-unknown-linux-musl/release/deps --target i686-unknown-linux-musl -C linker=i686-unknown-linux-musl-clang -L dependency=/tmp/cargobuild/i686-unknown-linux-musl/release/deps -L dependency=/tmp/cargobuild/release/deps` (exit status: 1)

Don't think there will be any patch for old versions of alpine though.

See also https://reviews.llvm.org/D95994

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

No branches or pull requests

1 participant