Skip to content

Commit 4d6a553

Browse files
authored
Rollup merge of rust-lang#35577 - japaric:relax, r=alexcrichton
add -mrelax-relocations=no to i686-musl and i586-gnu I've been experiencing rust-lang#34978 with these two targets. This applies the hack in rust-lang#35178 to these targets as well. r? @alexcrichton
2 parents 524bdb5 + c0ff3c1 commit 4d6a553

File tree

3 files changed

+11
-6
lines changed

3 files changed

+11
-6
lines changed

mk/cfg/i586-unknown-linux-gnu.mk

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ CFG_LIB_NAME_i586-unknown-linux-gnu=lib$(1).so
77
CFG_STATIC_LIB_NAME_i586-unknown-linux-gnu=lib$(1).a
88
CFG_LIB_GLOB_i586-unknown-linux-gnu=lib$(1)-*.so
99
CFG_LIB_DSYM_GLOB_i586-unknown-linux-gnu=lib$(1)-*.dylib.dSYM
10-
CFG_JEMALLOC_CFLAGS_i586-unknown-linux-gnu := -m32 $(CFLAGS) -march=pentium
11-
CFG_GCCISH_CFLAGS_i586-unknown-linux-gnu := -g -fPIC -m32 $(CFLAGS) -march=pentium
10+
CFG_JEMALLOC_CFLAGS_i586-unknown-linux-gnu := -m32 $(CFLAGS) -march=pentium -Wa,-mrelax-relocations=no
11+
CFG_GCCISH_CFLAGS_i586-unknown-linux-gnu := -g -fPIC -m32 $(CFLAGS) -march=pentium -Wa,-mrelax-relocations=no
1212
CFG_GCCISH_CXXFLAGS_i586-unknown-linux-gnu := -fno-rtti $(CXXFLAGS) -march=pentium
1313
CFG_GCCISH_LINK_FLAGS_i586-unknown-linux-gnu := -shared -fPIC -ldl -pthread -lrt -g -m32
1414
CFG_GCCISH_DEF_FLAG_i586-unknown-linux-gnu := -Wl,--export-dynamic,--dynamic-list=

mk/cfg/i686-unknown-linux-musl.mk

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ CFG_INSTALL_ONLY_RLIB_i686-unknown-linux-musl = 1
77
CFG_LIB_NAME_i686-unknown-linux-musl=lib$(1).so
88
CFG_STATIC_LIB_NAME_i686-unknown-linux-musl=lib$(1).a
99
CFG_LIB_GLOB_i686-unknown-linux-musl=lib$(1)-*.so
10-
CFG_JEMALLOC_CFLAGS_i686-unknown-linux-musl := -m32 -Wl,-melf_i386
11-
CFG_GCCISH_CFLAGS_i686-unknown-linux-musl := -g -fPIC -m32 -Wl,-melf_i386
10+
CFG_JEMALLOC_CFLAGS_i686-unknown-linux-musl := -m32 -Wl,-melf_i386 -Wa,-mrelax-relocations=no
11+
CFG_GCCISH_CFLAGS_i686-unknown-linux-musl := -g -fPIC -m32 -Wl,-melf_i386 -Wa,-mrelax-relocations=no
1212
CFG_GCCISH_CXXFLAGS_i686-unknown-linux-musl :=
1313
CFG_GCCISH_LINK_FLAGS_i686-unknown-linux-musl :=
1414
CFG_GCCISH_DEF_FLAG_i686-unknown-linux-musl :=

src/bootstrap/lib.rs

+7-2
Original file line numberDiff line numberDiff line change
@@ -868,8 +868,13 @@ impl Build {
868868
// This is a hack, because newer binutils broke things on some vms/distros
869869
// (i.e., linking against unknown relocs disabled by the following flag)
870870
// See: https://github.com/rust-lang/rust/issues/34978
871-
if target == "x86_64-unknown-linux-musl" {
872-
base.push("-Wa,-mrelax-relocations=no".into());
871+
match target {
872+
"i586-unknown-linux-gnu" |
873+
"i686-unknown-linux-musl" |
874+
"x86_64-unknown-linux-musl" => {
875+
base.push("-Wa,-mrelax-relocations=no".into());
876+
},
877+
_ => {},
873878
}
874879
return base
875880
}

0 commit comments

Comments
 (0)