Skip to content

Commit

Permalink
disaster recovery
Browse files Browse the repository at this point in the history
  • Loading branch information
StefanKarpinski committed Nov 16, 2013
1 parent c232f52 commit b3ec3d3
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 76 deletions.
12 changes: 0 additions & 12 deletions Make.inc
Original file line number Diff line number Diff line change
Expand Up @@ -168,9 +168,6 @@ ifeq ($(USEGCC),1)
ifeq ($(USE_LIBCPP),1)
$(error USE_LIBCPP only supported with clang. Try setting USE_LIBCPP=0)
endif
ifeq ($(SANITIZE),1)
$(error Address Sanitizer only supported with clang. Try setting SANITIZE=0)
endif
CC = $(CROSS_COMPILE)gcc
CXX = $(CROSS_COMPILE)g++
JCFLAGS = -std=gnu99 -pipe $(fPIC) -fno-strict-aliasing -D_FILE_OFFSET_BITS=64
Expand All @@ -184,11 +181,6 @@ CC = $(CROSS_COMPILE)clang
CXX = $(CROSS_COMPILE)clang++
JCFLAGS = -pipe $(fPIC) -fno-strict-aliasing -D_FILE_OFFSET_BITS=64
JCXXFLAGS = -pipe $(fPIC) -fno-rtti
ifeq ($(USE_LIBCPP),1)
CXX += -stdlib=libc++
else
CXX += $(STDLIBCPP_FLAG)
endif
DEBUGFLAGS = -O0 -g -DDEBUG -fstack-protector-all
SHIPFLAGS = -O3
ifeq ($(OS), Darwin)
Expand Down Expand Up @@ -218,10 +210,6 @@ ifeq (exists, $(shell [ -e $(JULIAHOME)/Make.user ] && echo exists ))
include $(JULIAHOME)/Make.user
endif

ifeq ($(SANITIZE),1)
CXX += -fsanitize=address
endif

# ===========================================================================

BUILD_MACHINE := $(shell $(HOSTCC) -dumpmachine)
Expand Down
72 changes: 13 additions & 59 deletions deps/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,15 @@ JULIAHOME = $(abspath ..)
include $(JULIAHOME)/Make.inc
include Versions.make

CONFIGURE_CC = F77="$(FC)" CC="$(CC)" CXX="$(CXX)"
CONFIGURE_OPTIONS = --prefix=$(abspath $(BUILD)) --build=$(BUILD_MACHINE)
CONFIGURE_COMMON = --prefix=$(abspath $(BUILD)) F77="$(FC)" CC="$(CC)" CXX="$(CXX)" --build=$(BUILD_MACHINE)
ifneq ($(XC_HOST),)
CONFIGURE_OPTIONS += --host=$(XC_HOST)
CONFIGURE_COMMON += --host=$(XC_HOST)
endif
ifeq ($(OS),WINNT)
CONFIGURE_OPTIONS += LDFLAGS=-Wl,--stack,8388608
CONFIGURE_COMMON += LDFLAGS=-Wl,--stack,8388608
else ifneq ($(JL_LIBDIR),lib)
CONFIGURE_OPTIONS += --libdir=$(abspath $(BUILD)/$(JL_LIBDIR))
CONFIGURE_COMMON += --libdir=$(abspath $(BUILD)/$(JL_LIBDIR))
endif
CONFIGURE_COMMON = $(CONFIGURE_OPTIONS) $(CONFIGURE_CC)

#autoconf configure-driven scripts: llvm readline pcre arpack fftw unwind gmp mpfr patchelf uv
#custom configure-driven script: zlib
Expand Down Expand Up @@ -167,13 +165,9 @@ endif
ifeq ($(LLVM_ASSERTIONS),1)
LLVM_BUILDTYPE := $(LLVM_BUILDTYPE)+Asserts
endif
LLVM_FLAVOR := $(LLVM_BUILDTYPE)
ifeq ($(LLVM_SANITIZE),1)
LLVM_BUILDTYPE := $(LLVM_BUILDTYPE)+Sanitize
endif

LLVM_LIB_FILE = libLLVMJIT.a
LLVM_OBJ_SOURCE = llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE)/$(LLVM_FLAVOR)/lib/$(LLVM_LIB_FILE)
LLVM_OBJ_SOURCE = llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE)/$(LLVM_BUILDTYPE)/lib/$(LLVM_LIB_FILE)
LLVM_OBJ_TARGET = $(BUILD)/lib/$(LLVM_LIB_FILE)

ifneq ($(LLVM_VER),svn)
Expand All @@ -182,6 +176,7 @@ LLVM_TAR=llvm-$(LLVM_VER).tar.gz
else
LLVM_TAR=llvm-$(LLVM_VER).src.tar.gz
endif
endif

ifeq ($(BUILD_LLVM_CLANG),1)
ifeq ($(LLVM_VER), 3.0)
Expand All @@ -190,17 +185,13 @@ LLVM_COMPILER_RT_TAR=
else ifeq ($(LLVM_VER), 3.3)
LLVM_CLANG_TAR=cfe-$(LLVM_VER).src.tar.gz
LLVM_COMPILER_RT_TAR=compiler-rt-$(LLVM_VER).src.tar.gz
LLVM_LIBCXX_TAR=libcxx-$(LLVM_VER).src.tar.gz
else
LLVM_CLANG_TAR=clang-$(LLVM_VER).src.tar.gz
LLVM_COMPILER_RT_TAR=compiler-rt-$(LLVM_VER).src.tar.gz
LLVM_LIBCXX_TAR=libcxx-$(LLVM_VER).src.tar.gz
endif
else
LLVM_CLANG_TAR=
LLVM_COMPILER_RT_TAR=
LLVM_LIBCXX_TAR=
endif
endif

LLVM_TARGET_FLAGS= --enable-targets=host
Expand All @@ -224,7 +215,7 @@ LLVM_FLAGS += --enable-libcpp
endif
ifeq ($(OS), WINNT)
LLVM_FLAGS += --with-extra-ld-options="-Wl,--stack,8388608" LDFLAGS="" --disable-shared
LLVM_MFLAGS += CPPFLAGS="-D__USING_SJLJ_EXCEPTIONS__ -D__CRT__NO_INLINE"
LLVM_MFLAGS += CPPFLAGS="-D__USING_SJLJ_EXCEPTIONS__ -D__CRT__NO_INLINE"
endif
ifeq ($(USE_INTEL_JITEVENTS), 1)
LLVM_FLAGS += --with-intel-jitevents
Expand All @@ -248,14 +239,6 @@ ifeq ($(ARCH), ppc64)
LLVM_MFLAGS += CXXFLAGS=-mminimal-toc
endif

ifeq ($(LLVM_SANITIZE),1)
LLVM_CC = FC="$(FC)" CC="$(CC) -fsanitize=address" CXX="$(CXX) -fsanitize=address"
LLVM_MFLAGS += TOOL_NO_EXPORTS= HAVE_LINK_VERSION_SCRIPT=0
else
LLVM_CC = $(CONFIGURE_CC)
endif

ifneq ($(LLVM_VER),svn)
ifneq ($(LLVM_CLANG_TAR),)
$(LLVM_CLANG_TAR):
$(JLDOWNLOAD) $@ http:https://llvm.org/releases/$(LLVM_VER)/$@
Expand All @@ -264,10 +247,7 @@ ifneq ($(LLVM_COMPILER_RT_TAR),)
$(LLVM_COMPILER_RT_TAR):
$(JLDOWNLOAD) $@ http:https://llvm.org/releases/$(LLVM_VER)/$@
endif
ifneq ($(LLVM_LIBCXX_TAR),)
$(LLVM_LIBCXX_TAR):
$(JLDOWNLOAD) $@ http:https://llvm.org/releases/$(LLVM_VER)/$@
endif
ifneq ($(LLVM_VER),svn)
$(LLVM_TAR):
$(JLDOWNLOAD) $@ http:https://llvm.org/releases/$(LLVM_VER)/$@
endif
Expand All @@ -286,7 +266,7 @@ llvm-$(LLVM_VER)/python2_path:
llvm_python_workaround=llvm-$(LLVM_VER)/python2_path


llvm-$(LLVM_VER)/configure: $(LLVM_TAR) $(LLVM_CLANG_TAR) $(LLVM_COMPILER_RT_TAR) $(LLVM_LIBCXX_TAR)
llvm-$(LLVM_VER)/configure: $(LLVM_TAR) $(LLVM_CLANG_TAR) $(LLVM_COMPILER_RT_TAR)
ifneq ($(LLVM_VER),svn)
mkdir -p llvm-$(LLVM_VER) && \
tar -C llvm-$(LLVM_VER) --strip-components 1 -xf $(LLVM_TAR)
Expand All @@ -295,12 +275,7 @@ else
git clone http:https://llvm.org/git/llvm.git llvm-$(LLVM_VER) ) || \
(cd llvm-$(LLVM_VER) && \
git pull --ff-only)
ifneq ($(LLVM_GIT_VER),)
(cd llvm-$(LLVM_VER) && \
git checkout $(LLVM_GIT_VER))
endif
endif
ifneq ($(LLVM_VER),svn)
ifneq ($(LLVM_CLANG_TAR),)
mkdir -p llvm-$(LLVM_VER)/tools/clang && \
tar -C llvm-$(LLVM_VER)/tools/clang --strip-components 1 -xf $(LLVM_CLANG_TAR)
Expand All @@ -309,27 +284,6 @@ ifneq ($(LLVM_COMPILER_RT_TAR),)
mkdir -p llvm-$(LLVM_VER)/projects/compiler-rt && \
tar -C llvm-$(LLVM_VER)/projects/compiler-rt --strip-components 1 -xf $(LLVM_COMPILER_RT_TAR)
endif
ifneq ($(LLVM_LIBCXX_TAR),)
mkdir -p llvm-$(LLVM_VER)/projects/libcxx && \
tar -C llvm-$(LLVM_VER)/projects/libcxx --strip-components 1 -xf $(LLVM_LIBCXX_TAR)
endif
else
ifneq ($(BUILD_LLVM_CLANG),)
([ ! -d llvm-$(LLVM_VER)/tools/clang ] && \
git clone http:https://llvm.org/git/clang.git llvm-$(LLVM_VER)/tools/clang ) || \
(cd llvm-$(LLVM_VER)/tools/clang && \
git pull --ff-only)
([ ! -d llvm-$(LLVM_VER)/projects/compiler-rt ] && \
git clone http:https://llvm.org/git/compiler-rt.git llvm-$(LLVM_VER)/tools/clang ) || \
(cd llvm-$(LLVM_VER)/projects/compiler-rt && \
git pull --ff-only)
ifneq ($(LLVM_CLANG_VER),)
(cd llvm-$(LLVM_VER) && \
git checkout $(LLVM_GIT_VER))
endif
endif
endif

ifeq ($(BUILD_LLDB), 1)
([ ! -d llvm-$(LLVM_VER)/tools/lldb ] && \
(cd llvm-$(LLVM_VER)/tools && \
Expand All @@ -352,7 +306,7 @@ llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE)/config.status: llvm-$(LLVM_VER)/configu
cd llvm-$(LLVM_VER) && \
mkdir -p build_$(LLVM_BUILDTYPE) && cd build_$(LLVM_BUILDTYPE) && \
export PATH=$(abspath llvm-$(LLVM_VER)/python2_path):$$PATH && \
../configure $(CONFIGURE_OPTIONS) $(LLVM_CC) $(LLVM_FLAGS)
../configure $(CONFIGURE_COMMON) $(LLVM_FLAGS)
touch -c $@

$(LLVM_OBJ_SOURCE): llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE)/config.status | $(llvm_python_workaround)
Expand All @@ -378,9 +332,9 @@ clean-llvm:
-$(MAKE) -C llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE) clean
-rm -f $(BUILD)/bin/llvm-config
distclean-llvm:
-rm -rf llvm-$(LLVM_VER).tar.gz llvm-$(LLVM_VER).src.tar.gz clang-$(LLVM_VER).src.tar.gz clang-$(LLVM_VER).tar.gz libcxx-$(LLVM_VER).src.tar.gz compiler-rt-$(LLVM_VER).src.tar.gz llvm-$(LLVM_VER)
-rm -rf llvm-$(LLVM_VER).tar.gz llvm-$(LLVM_VER).src.tar.gz clang-$(LLVM_VER).src.tar.gz clang-$(LLVM_VER).tar.gz compiler-rt-$(LLVM_VER).src.tar.gz llvm-$(LLVM_VER)

get-llvm: $(LLVM_TAR) $(LLVM_CLANG_TAR) $(LLVM_COMPILER_RT_TAR) $(LLVM_LIBCXX_TAR)
get-llvm: $(LLVM_TAR) $(LLVM_CLANG_TAR) $(LLVM_COMPILER_RT_TAR)
configure-llvm: llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE)/config.status
compile-llvm: $(LLVM_OBJ_SOURCE)
check-llvm: llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE)/checked
Expand Down Expand Up @@ -753,7 +707,7 @@ install-Rmath: $(RMATH_OBJ_TARGET)
OPENBLAS_OBJ_SOURCE = openblas-$(OPENBLAS_VER)/libopenblas.$(SHLIB_EXT)
OPENBLAS_OBJ_TARGET = $(BUILD)/$(JL_LIBDIR)/libopenblas.$(SHLIB_EXT)

OPENBLAS_BUILD_OPTS = CC="$(CC)" FC="$(FC)" RANLIB="$(RANLIB)" FFLAGS="$(FFLAGS) $(JFFLAGS)" TARGET=$(OPENBLAS_TARGET_ARCH) FEXTRALIB="-L/usr/local/lib -lgfortran"
OPENBLAS_BUILD_OPTS = CC="$(CC)" FC="$(FC)" RANLIB="$(RANLIB)" FFLAGS="$(FFLAGS) $(JFFLAGS)" TARGET=$(OPENBLAS_TARGET_ARCH)

# Thread support
ifeq ($(OPENBLAS_USE_THREAD), 1)
Expand Down
2 changes: 1 addition & 1 deletion src/codegen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3495,7 +3495,7 @@ extern "C" void jl_init_codegen(void)
#ifdef __MINGW32__
options.StackAlignmentOverride = 16;
#endif
#if defined(__APPLE__) && !defined(LLVM34)
#ifdef __APPLE__
options.JITExceptionHandling = 1;
#endif
// Temporarily disable Haswell BMI2 features due to LLVM bug.
Expand Down
4 changes: 0 additions & 4 deletions src/disasm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -132,11 +132,7 @@ void jl_dump_function_asm(void* Fptr, size_t Fsize,
MCAsmBackend *MAB = 0;
if (ShowEncoding) {
CE = TheTarget->createMCCodeEmitter(*MCII, *MRI, *STI, Ctx);
#ifdef LLVM34
MAB = TheTarget->createMCAsmBackend(*MRI, TripleName, MCPU);
#else
MAB = TheTarget->createMCAsmBackend(TripleName, MCPU);
#endif
}

Streamer.reset(TheTarget->createAsmStreamer(Ctx, stream, /*asmverbose*/true,
Expand Down

0 comments on commit b3ec3d3

Please sign in to comment.