// write debugger script
let mut script_str = String::with_capacity(2048);
- script_str.push_str("set charset UTF-8\n");
+ let charset = if cfg!(target_os = "bitrig") { "auto" } else { "UTF-8" };
+ script_str.push_str(&format!("set charset {}\n", charset));
script_str.push_str(&format!("file {}\n", exe_file.to_str().unwrap()));
script_str.push_str("target remote :5039\n");
script_str.push_str(&format!("set solib-search-path \
.to_string();
// write debugger script
let mut script_str = String::with_capacity(2048);
-
- script_str.push_str("set charset UTF-8\n");
+ let charset = if cfg!(target_os = "bitrig") { "auto" } else { "UTF-8" };
+ script_str.push_str(&format!("set charset {}\n", charset));
script_str.push_str("show version\n");
match config.gdb_version {
use prelude::v1::*;
#[cfg_attr(any(target_os = "freebsd",
- target_os = "openbsd"),
+ target_os = "openbsd",
+ target_os = "bitrig"),
ignore)]
// under some system, pipe(2) will return a bidrectionnal pipe
#[test]
// older versions of GDB too. A more extensive test can be found in
// gdb-pretty-struct-and-enums.rs
+// ignore-bitrig
// ignore-windows failing on win32 bot
// ignore-freebsd: gdb package too new
// ignore-tidy-linelength
// ignore-windows
// ignore-freebsd
// ignore-openbsd
+// ignore-bitrig
#[path = "../compile-fail"]
mod foo; //~ ERROR: a directory
ifneq ($(shell uname),FreeBSD)
all:
$(RUSTC) foo.rs
- $(CC) bar.c -lfoo -o $(call RUN_BINFILE,bar) $(EXTRAFLAGS) -lstdc++
+ $(CC) bar.c -lfoo -o $(call RUN_BINFILE,bar) $(EXTRAFLAGS) $(EXTRACXXFLAGS)
$(call RUN,bar)
rm $(call STATICLIB,foo*)
$(call RUN,bar)
# is compiled with LTO, it shouldn't strip the symbol from `foo`, and that's the
# only way that `foo.c` will successfully compile.
+ifeq ($(UNAME),Bitrig)
+ EXTRACFLAGS := -lc $(EXTRACFLAGS) $(EXTRACXXFLAGS)
+endif
+
all:
$(RUSTC) foo.rs --crate-type=rlib
$(RUSTC) bar.rs --crate-type=staticlib -C lto -L. -o $(TMPDIR)/libbar.a
all:
$(RUSTC) foo.rs -C lto
- $(CC) bar.c -lfoo -o $(call RUN_BINFILE,bar) $(EXTRACFLAGS) -lstdc++
+ $(CC) bar.c -lfoo -o $(call RUN_BINFILE,bar) $(EXTRACFLAGS) $(EXTRACXXFLAGS)
$(call RUN,bar)
-include ../tools.mk
+
ifndef IS_WINDOWS
-ifneq ($(UNAME),OpenBSD)
+
+SKIP_OS := 'OpenBSD Bitrig'
+ifneq ($(UNAME),$(findstring $(UNAME),$(SKIP_OS)))
+
all:
$(RUSTC) -O --emit asm attr.rs
! grep -q morestack $(TMPDIR)/attr.s
$(RUSTC) -O --emit asm -C no-stack-check flag.rs
! grep -q morestack $(TMPDIR)/flag.s
else
-# On OpenBSD, morestack isn't used as the segmented stacks are disabled
+# On Bitrig/OpenBSD, morestack isn't used as the segmented stacks are disabled
all:
endif
+
else
# On Windows we use __chkstk and it only appears in functions with large allocations,
# so this test wouldn't be reliable.
ifdef IS_WINDOWS
EXTRACFLAGS := -lws2_32 -luserenv
else
-ifeq ($(shell uname),Darwin)
+ifeq ($(UNAME),Darwin)
else
-ifeq ($(shell uname),FreeBSD)
+ifeq ($(UNAME),FreeBSD)
EXTRACFLAGS := -lm -lpthread -lgcc_s
else
-ifeq ($(shell uname),OpenBSD)
+ifeq ($(UNAME),Bitrig)
+ EXTRACFLAGS := -lm -lpthread
+ EXTRACXXFLAGS := -lc++ -lc++abi
+else
+ifeq ($(UNAME),OpenBSD)
EXTRACFLAGS := -lm -lpthread
else
EXTRACFLAGS := -lm -lrt -ldl -lpthread
+ EXTRACXXFLAGS := -lstdc++
+endif
endif
endif
endif
-include ../tools.mk
-ifneq ($(findstring BSD,$(UNAME)),BSD)
+SKIP_OS := 'FreeBSD OpenBSD Bitrig'
+
+ifneq ($(UNAME),$(findstring $(UNAME),$(SKIP_OS)))
+
HOST := $(shell $(RUSTC) -vV | grep 'host:' | sed 's/host: //')
ifeq ($(findstring i686,$(HOST)),i686)
TARGET := $(subst i686,x86_64,$(HOST))
$(RUSTC) bar.rs -C extra-filename=-targ --target $(TARGET)
$(RUSTC) baz.rs --extern a=$(TMPDIR)/liba-targ.rlib --target $(TARGET)
else
-# FreeBSD & OpenBSD support only x86_64 architecture for now
+# FreeBSD, OpenBSD, and Bitrig support only x86_64 architecture for now
all:
endif
// option. This file may not be copied, modified, or distributed
// except according to those terms.
+// ignore-bitrig
// compile-flags: -C codegen-units=3
// aux-build:sepcomp_cci_lib.rs
// option. This file may not be copied, modified, or distributed
// except according to those terms.
+// ignore-bitrig
// compile-flags: -C codegen-units=3
// aux-build:sepcomp-extern-lib.rs
// option. This file may not be copied, modified, or distributed
// except according to those terms.
+// ignore-bitrig
// compile-flags: -C codegen-units=3
// Test references to items that haven't been translated yet.
// option. This file may not be copied, modified, or distributed
// except according to those terms.
+// ignore-bitrig
// compile-flags: -C codegen-units=3
// Test basic separate compilation functionality. The functions should be able
// option. This file may not be copied, modified, or distributed
// except according to those terms.
+// ignore-bitrig
// compile-flags: -C codegen-units=3
// Test references to static items across compilation units.
// option. This file may not be copied, modified, or distributed
// except according to those terms.
+// ignore-bitrig
// compile-flags: -C codegen-units=3
// Test unwinding through multiple compilation units.
// ignore-linux see joyent/libuv#1189
// ignore-android needs extra network permissions
// ignore-openbsd system ulimit (Too many open files)
+// ignore-bitrig system ulimit (Too many open files)
// exec-env:RUST_LOG=debug
#![feature(rustc_private, libc, old_io, io, std_misc)]