Skip to content

Commit ed14ea1

Browse files
committed
build: Use -O0 on Darwin. Seems that Darwin's GCC optimizations break rustrt.
1 parent afa6d85 commit ed14ea1

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

Makefile.in

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ endif
1111

1212
CFG_INFO := $(info cfg: building on $(CFG_OSTYPE) $(CFG_CPUTYPE))
1313

14-
CFG_GCC_CFLAGS := -O2 -fno-strict-aliasing
14+
CFG_GCC_CFLAGS := -fno-strict-aliasing
1515
CFG_GCC_LINK_FLAGS :=
1616
CFG_BOOT_FLAGS := $(BOOT_FLAGS)
1717
CFG_RUSTC_FLAGS := -nowarn -O
@@ -23,7 +23,7 @@ CFG_DSYMUTIL := true
2323

2424
ifeq ($(CFG_OSTYPE), FreeBSD)
2525
CFG_LIB_NAME=lib$(1).so
26-
CFG_GCC_CFLAGS += -fPIC -march=i686 -I/usr/local/include
26+
CFG_GCC_CFLAGS += -fPIC -march=i686 -I/usr/local/include -O2
2727
CFG_GCC_LINK_FLAGS += -shared -fPIC -lpthread -lrt
2828
ifeq ($(CFG_CPUTYPE), x86_64)
2929
CFG_GCC_CFLAGS += -m32
@@ -36,7 +36,7 @@ endif
3636

3737
ifeq ($(CFG_OSTYPE), Linux)
3838
CFG_LIB_NAME=lib$(1).so
39-
CFG_GCC_CFLAGS += -fPIC -march=i686
39+
CFG_GCC_CFLAGS += -fPIC -march=i686 -O2
4040
CFG_GCC_LINK_FLAGS += -shared -fPIC -ldl -lpthread -lrt
4141
CFG_GCC_DEF_FLAG := -Wl,-whole-archive,--export-dynamic,--dynamic-list=
4242
CFG_GCC_POST_LIB_FLAGS := -Wl,-no-whole-archive
@@ -59,7 +59,9 @@ ifeq ($(CFG_OSTYPE), Darwin)
5959
# "on an i386" when the whole userspace is 64-bit and the compiler
6060
# emits 64-bit binaries by default. So we just force -m32 here. Smarter
6161
# approaches welcome!
62-
CFG_GCC_CFLAGS += -m32
62+
#
63+
# NB: Currently GCC's optimizer breaks rustrt (task-comm-1 hangs) on Darwin.
64+
CFG_GCC_CFLAGS += -m32 -O0
6365
CFG_GCC_LINK_FLAGS += -m32
6466
CFG_DSYMUTIL := dsymutil
6567
CFG_DEF_SUFFIX := .darwin.def
@@ -90,7 +92,7 @@ ifdef CFG_WINDOWSY
9092
ifdef CFG_FLEXLINK
9193
CFG_BOOT_NATIVE := 1
9294
endif
93-
CFG_GCC_CFLAGS += -march=i686
95+
CFG_GCC_CFLAGS += -march=i686 -O2
9496
CFG_GCC_LINK_FLAGS += -shared -fPIC
9597
CFG_DEF_SUFFIX := .def
9698
endif

0 commit comments

Comments
 (0)