Commit graph

1324 commits

Author SHA1 Message Date
Bastien Orivel
47cb3c5bc2 Fix some typos 2017-08-11 00:16:18 +02:00
bors
5431f423aa Auto merge of #43634 - dhduvall:solaris-test-fixes, r=sanxiyn
Fix a number of failing tests on Solaris and SPARC
2017-08-04 05:30:12 +00:00
bors
eae446c4dc Auto merge of #43459 - ids1024:asrawfd, r=alexcrichton
Implement AsRawFd for Stdin, Stdout, and Stderr

https://github.com/rust-lang/rfcs/issues/2074
2017-08-04 02:15:04 +00:00
Ian Douglas Scott
64e426e8e9
Fix AsRawHandle 2017-08-03 15:54:53 -07:00
Danek Duvall
9427bb36f6 Fix a dangling symlink bug in remove_dir_all() on Solaris
This fixes a handful of long-failing tests.
2017-08-03 14:55:01 -07:00
Ian Douglas Scott
eac01f123d
Implement AsRawHandle for Std* on Windows 2017-08-03 12:57:53 -07:00
Jeremy Soller
a30092fbf6 Split FL and FD fcntls 2017-07-29 09:31:18 -06:00
Ian Douglas Scott
c83f97533a Redox: Add JoinHandleExt (matching Unix version) 2017-07-29 09:31:18 -06:00
Ian Douglas Scott
e9c55d1f79
Correct 'stable' attribute 2017-07-25 16:44:25 -07:00
Alex Crichton
8ef3f69ffb Add a disabled builder for aarch64 emulated tests
This commit adds a disabled builder which will run all tests for the standard
library for aarch64 in a QEMU instance. Once we get enough capacity to run this
on Travis this can be used to boost our platform coverage of AArch64
2017-07-24 16:24:52 -07:00
Ian Douglas Scott
85ef570e00
Implement AsRawFd for Stdin, Stdout, and Stderr 2017-07-24 14:46:42 -07:00
Mark Simulacrum
b43f58bc25 Rollup merge of #43304 - ids1024:path2, r=aturon
redox: handle multiple paths in PATH
2017-07-18 09:41:34 -06:00
Ian Douglas Scott
6f80cd7bfc
redox: handle multiple paths in PATH 2017-07-17 19:17:48 -07:00
NODA, Kai
2e8859ce4e
libstd: remove redundant & from &Path::new(...)
fn Path::new<S: AsRef ...>(s: &S) -> &Path

Signed-off-by: NODA, Kai <nodakai@gmail.com>
2017-07-18 00:07:09 +08:00
Corey Farwell
57bc82d637 Rollup merge of #43228 - redox-os:backtrace_fix, r=alexcrichton
Fix backtrace on Redox

This fixes sys::backtrace on Redox
2017-07-14 20:57:18 -07:00
Corey Farwell
877e62e471 Rollup merge of #43222 - RalfJung:symlink, r=sfackler
windows::fs::symlink_dir: fix example to actually use symlink_dir

I don't have a windows machine, so I couldn't test if this doctest still works -- but it looks trivial enough. (I know, famous last words.)
2017-07-14 20:57:17 -07:00
Corey Farwell
351c476f6d Rollup merge of #43202 - jackpot51:patch-1, r=sfackler
Fix sys::redox::net::tcp

A change to the upper level API needed to be filtered down
2017-07-14 20:57:16 -07:00
Jeremy Soller
5757e05619 Fix backtrace on Redox 2017-07-13 20:07:37 -06:00
Ralf Jung
03f22fdf5e windows::fs::symlink_dir: fix example to actually use symlink_dir 2017-07-13 11:14:35 -07:00
Steve Klabnik
da3f5b80ed Rollup merge of #43204 - jackpot51:patch-3, r=alexcrichton
Implement fs::rename in sys::redox

This uses a simple implementation of copy + unlink. Redox does not have a rename or link system call for a faster implementation.
2017-07-13 10:45:22 -04:00
Jeremy Soller
4259ae6475 Update fs.rs 2017-07-12 22:16:35 -06:00
Jeremy Soller
21f2ace8cf Update mod.rs 2017-07-12 20:48:04 -06:00
Jeremy Soller
362dd8a986 Update fs.rs 2017-07-12 20:40:43 -06:00
Jeremy Soller
bd9428a46b Update mod.rs 2017-07-12 20:39:02 -06:00
Jeremy Soller
0d617ce4c9 Update tcp.rs 2017-07-12 20:37:18 -06:00
Mark Simulacrum
6aeb0f0b2e Rollup merge of #43100 - ids1024:stat2, r=aturon
Redox: add stat methods(); support is_symlink()
2017-07-12 06:58:47 -06:00
Ian Douglas Scott
51260f4a6d
Redox: Use O_NOFOLLOW for lstat() 2017-07-11 15:05:17 -07:00
bors
12fef71f18 Auto merge of #43082 - ids1024:condvar2, r=alexcrichton
Redox: Fix Condvar.wait(); do not lock mutex twice

The atomic_xchg() loop locks the mutex, so the call to mutex_lock is
incorrect, and blocks.
2017-07-09 04:23:29 +00:00
Josh Stone
be509b3387 Skip the main thread's manual stack guard on Linux
Linux doesn't allocate the whole stack right away, and the kernel has
its own stack-guard mechanism to fault when growing too close to an
existing mapping.  If we map our own guard, then the kernel starts
enforcing a rather large gap above that, rendering much of the possible
stack space useless.

Instead, we'll just note where we expect rlimit to start faulting, so
our handler can report "stack overflow", and trust that the kernel's own
stack guard will work.

Fixes #43052.
2017-07-07 09:19:04 -07:00
Ian Douglas Scott
59981e4057
Redox: Fix Condvar.wait(); do not lock mutex twice
The atomic_xchg() loop locks the mutex, so the call to mutex_lock is
incorrect, and blocks.
2017-07-07 08:34:48 -07:00
Steven Fackler
8c92da3c51 Implement TcpStream::connect_timeout
This breaks the "single syscall rule", but it's really annoying to hand
write and is pretty foundational.
2017-07-06 19:35:49 -07:00
Ian Douglas Scott
4d58b048a8
Redox: add stat methods(); support is_symlink() 2017-07-06 17:34:51 -07:00
bors
1685c92986 Auto merge of #42727 - alexcrichton:allocators-new, r=eddyb
rustc: Implement the #[global_allocator] attribute

This PR is an implementation of [RFC 1974] which specifies a new method of
defining a global allocator for a program. This obsoletes the old
`#![allocator]` attribute and also removes support for it.

[RFC 1974]: https://github.com/rust-lang/rfcs/pull/1974

The new `#[global_allocator]` attribute solves many issues encountered with the
`#![allocator]` attribute such as composition and restrictions on the crate
graph itself. The compiler now has much more control over the ABI of the
allocator and how it's implemented, allowing much more freedom in terms of how
this feature is implemented.

cc #27389
2017-07-06 00:16:16 +00:00
Alex Crichton
695dee063b rustc: Implement the #[global_allocator] attribute
This PR is an implementation of [RFC 1974] which specifies a new method of
defining a global allocator for a program. This obsoletes the old
`#![allocator]` attribute and also removes support for it.

[RFC 1974]: https://github.com/rust-lang/rfcs/pull/197

The new `#[global_allocator]` attribute solves many issues encountered with the
`#![allocator]` attribute such as composition and restrictions on the crate
graph itself. The compiler now has much more control over the ABI of the
allocator and how it's implemented, allowing much more freedom in terms of how
this feature is implemented.

cc #27389
2017-07-05 14:37:01 -07:00
Mark Simulacrum
8abc58e6b9 Rollup merge of #42975 - ids1024:symlink2, r=aturon
redox: symlink and readlink
2017-07-04 07:41:40 -06:00
Ian Douglas Scott
3456608aae
Fix long line 2017-06-30 13:39:14 -07:00
Ian Douglas Scott
8ed83f4aaf
Fix Redox build, apparently broken by #42687 2017-06-29 18:18:32 -07:00
Ian Douglas Scott
8ee6bddf0b
redox: symlink and readlink 2017-06-29 17:43:44 -07:00
bors
dc2003b7cc Auto merge of #42848 - ids1024:redox-fix, r=sfackler
Fix Redox build, broken in ecbb896b9e
2017-06-29 06:20:17 +00:00
bors
1ccc330d4b Auto merge of #42687 - alexcrichton:windows-tls, r=sfackler
rustc: Enable #[thread_local] for Windows

I think LLVM has had support for quite some time now for this, we just never got
around to testing it out and binding it. We've had some trouble landing this in
the past I believe, but it's time to try again!

This commit flags the `#[thread_local]` attribute as being available for Windows
targets and adds an implementation of `register_dtor` in the `thread::local`
module to ensure we can destroy these keys. The same functionality is
implemented in clang via a function called `__tlregdtor` (presumably provided in
some Windows runtime somewhere), but this function unfortunately does not take a
data pointer (just a thunk) which means we can't easily call it. For now
destructors are just run in the same way the Linux fallback is implemented,
which is just keeping track via a single OS-based TLS key.
2017-06-24 04:42:18 +00:00
Alex Crichton
06540cb205 rustc: Enable #[thread_local] for Windows
I think LLVM has had support for quite some time now for this, we just never got
around to testing it out and binding it. We've had some trouble landing this in
the past I believe, but it's time to try again!

This commit flags the `#[thread_local]` attribute as being available for Windows
targets and adds an implementation of `register_dtor` in the `thread::local`
module to ensure we can destroy these keys. The same functionality is
implemented in clang via a function called `__tlregdtor` (presumably provided in
some Windows runtime somewhere), but this function unfortunately does not take a
data pointer (just a thunk) which means we can't easily call it. For now
destructors are just run in the same way the Linux fallback is implemented,
which is just keeping track via a single OS-based TLS key.
2017-06-23 16:11:39 -07:00
Mark Simulacrum
d22eb081ef Rollup merge of #42783 - ids1024:redox-env, r=sfackler
Redox: Use create() instead of open() when setting env variable

See https://github.com/redox-os/kernel/pull/25.
2017-06-23 06:02:08 -06:00
kennytm
4711982314
Removed as many "```ignore" as possible.
Replaced by adding extra imports, adding hidden code (`# ...`), modifying
examples to be runnable (sorry Homura), specifying non-Rust code, and
converting to should_panic, no_run, or compile_fail.

Remaining "```ignore"s received an explanation why they are being ignored.
2017-06-23 15:31:53 +08:00
Ian Douglas Scott
87f6d6249c
Fix Redox build, broken in ecbb896b9e 2017-06-22 19:14:26 -07:00
bors
6f01c84fc8 Auto merge of #42798 - stepancheg:args-debug, r=sfackler
Better Debug for Args and ArgsOs

Display actual args instead of two dots.
2017-06-22 10:34:21 +00:00
Stepan Koltsov
275f9a04af Better Debug for Args and ArgsOs
Display actual args instead of two dots.
2017-06-21 15:40:45 +03:00
Steven Fackler
ecbb896b9e Add Read::initializer.
This is an API that allows types to indicate that they can be passed
buffers of uninitialized memory which can improve performance.
2017-06-20 20:26:22 -07:00
Ian Douglas Scott
9f91a4df83
Redox: Use create() instead of open() when setting env variable 2017-06-20 16:04:38 -07:00
bors
3438c0fa8c Auto merge of #42613 - stepancheg:lossy, r=alexcrichton
Avoid allocations in Display for OsStr and Path

#38879
2017-06-17 02:21:38 +00:00
Stepan Koltsov
0c26b5998d Fix condvar.wait(distant future) return immediately on OSX
Fixes issue #37440: `pthread_cond_timedwait` on macOS Sierra seems
to overflow `ts_sec` parameter and returns immediately. To work
around this problem patch rounds timeout down to approximately 1000
years.

Patch also fixes overflow when converting `u64` to `time_t`.
2017-06-15 21:20:02 +01:00