https://sourceware.org/bugzilla/show_bug.cgi?id=33115
Bug ID: 33115
Summary: error while linking during Rust crosscompiling to
Solaris
Product: binutils
Version: 2.44
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: ld
Assignee: unassigned at sourceware dot org
Reporter: petr.sumbera at oracle dot com
Target Milestone: ---
When is Rust cross compiled to Solaris using GNU binutils and GCC it ends with
below error as it was reported here:
https://github.com/rust-lang/rust/issues/137997
For now it was workaround via:
https://github.com/rust-lang/rust/issues/137997#issuecomment-2735565991
The issue can be reproduced with librustc_driver-46f53dc3e2248138.so from Rust
build:
$ wget http://kremilek.duckdns.org/rust/librustc_driver-46f53dc3e2248138.so.xz
$ xz -d ibrustc_driver-46f53dc3e2248138.so.xz
$ x86_64-solaris-gcc -o test librustc_driver-46f53dc3e2248138.so
/home/test/CROSS/cross/lib/gcc/x86_64-pc-solaris2.11/8.4.0/../../../../x86_64-pc-solaris2.11/bin/ld:
librustc_driver-46f53dc3e2248138.so: logb: invalid version 3 (max 0)
/home/test/CROSS/cross/lib/gcc/x86_64-pc-solaris2.11/8.4.0/../../../../x86_64-pc-solaris2.11/bin/ld:
librustc_driver-46f53dc3e2248138.so: error adding symbols: bad value
collect2: error: ld returned 1 exit status
--
For record. These are steps to build GCC cross compiler for Solaris:
#!/bin/bash
#wget
https://github.com/psumbera/solaris-sysroot/releases/download/v2025-02-21/solaris-11.4.42.111.0-i386-sysroot-v2025-02-21.tar.bz2
#wget https://ftp.gnu.org/gnu/binutils/binutils-2.44.tar.xz
#wget https://ci-mirrors.rust-lang.org/rustc/gcc-8.4.0.tar.xz
set -x
rm -rf cross sysroot binutils-2.44 gcc-8.4.0
mkdir sysroot && cd sysroot
tar xf ../solaris-11.4.42.111.0-i386-sysroot-v2025-02-21.tar.bz2
cd ..
tar xf binutils-2.44.tar.xz
cd binutils-2.44
./configure --prefix=/home/test/CROSS/cross --target=x86_64-pc-solaris2.11
--program-prefix="x86_64-solaris-" --with-sysroot=/home/test/CROSS/sysroot
make && make install
cd ..
export PATH=/home/test/CROSS/cross/bin:$PATH
tar xf gcc-8.4.0.tar.xz
mkdir gcc-8.4.0-build
cd gcc-8.4.0-build
CFLAGS='-fPIC' CXXFLAGS='-fPIC' CXXFLAGS_FOR_TARGET='-fPIC'
CFLAGS_FOR_TARGET='-fPIC' "../gcc-8.4.0/configure"
--prefix="/home/test/CROSS/cross" --target=x86_64-pc-solaris2.11
--program-prefix="x86_64-solaris-" --with-sysroot=/home/test/CROSS/sysroot
--with-gnu-as --with-gnu-ld --disable-nls --disable-libgomp
--disable-libquadmath --disable-libssp --disable-libvtv --disable-libcilkrts
--disable-libada --disable-libsanitizer --disable-libquadmath-support
--disable-shared --enable-tls
make && make install
--
You are receiving this mail because:
You are on the CC list for the bug.