Skip to content

Linking sparc64-unknown-netbsd error relocation R_SPARC_64 cannot be used against local symbol #150680

@Wyvern

Description

@Wyvern

cross compile to sparc64-unknown-netbsd using clang+lld with -Zbuild-std on nightly got error as below:

error: linking with `clang` failed: exit status: 1
  │
  ├ note:  "clang" "-Wl,--dynamic-list" "-Wl,/home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/rustcN0RvSA/list" "-m64" "<1 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/compiler_builtins/411d30a812e427e7/deps/libcompiler_builtins-411d30a812e427e7.rlib" "-Wl,-Bdynamic" "-lutil" "-lrt" "-lutil" "-lexecinfo" "-lexecinfo" "-lpthread" "-lrt" "-lgcc_s" "-lutil" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lrt" "-lutil" "-lexecinfo" "-L" "/home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/rustcN0RvSA/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-o" "/home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,--strip-all" "-Wl,--enable-new-dtags,-z,origin" "--sysroot=sysroot/netbsd/sparc64" "--target=sparc64--netbsd" "-fuse-ld=lld
  ├ note: some arguments are omitted. use `--verbose` to show all linker arguments
  ╰ note: ld.lld: error: relocation R_SPARC_64 cannot be used against local symbol; recompile with -fPIC
          >>> defined in /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o
          >>> referenced by Img.bd80e59a0a54a641-cgu.0
          >>>               /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o:(.Lanon.4a5e89f32eda266736fb166193fda49d.18)
          
          ld.lld: error: relocation R_SPARC_64 cannot be used against local symbol; recompile with -fPIC
          >>> defined in /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o
          >>> referenced by Img.bd80e59a0a54a641-cgu.0
          >>>               /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o:(Img::H2JhoLwaFfmd)
          
          ld.lld: error: relocation R_SPARC_64 cannot be used against local symbol; recompile with -fPIC
          >>> defined in /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o
          >>> referenced by Img.bd80e59a0a54a641-cgu.0
          >>>               /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o:(Img::H2JhoLwaFfmd)
          
          ld.lld: error: relocation R_SPARC_64 cannot be used against local symbol; recompile with -fPIC
          >>> defined in /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o
          >>> referenced by Img.bd80e59a0a54a641-cgu.0
          >>>               /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o:(Img::H2JhoLwaFfmd)
          
          ld.lld: error: relocation R_SPARC_64 cannot be used against local symbol; recompile with -fPIC
          >>> defined in /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o
          >>> referenced by Img.bd80e59a0a54a641-cgu.0
          >>>               /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o:(.Lanon.4a5e89f32eda266736fb166193fda49d.51)
          
          ld.lld: error: relocation R_SPARC_64 cannot be used against local symbol; recompile with -fPIC
          >>> defined in /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o
          >>> referenced by Img.bd80e59a0a54a641-cgu.0
          >>>               /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o:(.Lanon.4a5e89f32eda266736fb166193fda49d.51)
          
          ld.lld: error: relocation R_SPARC_64 cannot be used against local symbol; recompile with -fPIC
          >>> defined in /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o
          >>> referenced by Img.bd80e59a0a54a641-cgu.0
          >>>               /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o:(.Lanon.4a5e89f32eda266736fb166193fda49d.51)
          
          ld.lld: error: relocation R_SPARC_64 cannot be used against local symbol; recompile with -fPIC
          >>> defined in /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o
          >>> referenced by Img.bd80e59a0a54a641-cgu.0
          >>>               /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o:(Img::H5GgwjsiiiM5)
          
          ld.lld: error: relocation R_SPARC_64 cannot be used against local symbol; recompile with -fPIC
          >>> defined in /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o
          >>> referenced by Img.bd80e59a0a54a641-cgu.0
          >>>               /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o:(.Lanon.4a5e89f32eda266736fb166193fda49d.87)
          
          ld.lld: error: relocation R_SPARC_64 cannot be used against local symbol; recompile with -fPIC
          >>> defined in /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o
          >>> referenced by Img.bd80e59a0a54a641-cgu.0
          >>>               /home/runner/work/Img/Img/build-dir/sparc64-unknown-netbsd/src/build/Img/f554400d1d2d890d/deps/Img.Img.bd80e59a0a54a641-cgu.0.rcgu.o:(.Lanon.4a5e89f32eda266736fb166193fda49d.87)
          
          ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-linkageArea: linking into static, shared libraries and binariesneeds-triageThis issue may need triage. Remove it if it has been sufficiently triaged.requires-nightlyThis issue requires a nightly compiler in some way. When possible, use a F-* label instead.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions