Skip to content

Commit a24080b

Browse files
committed
---
yaml --- r: 93154 b: refs/heads/try c: dadb6f0 h: refs/heads/master v: v3
1 parent 32581dd commit a24080b

File tree

7 files changed

+15
-34
lines changed

7 files changed

+15
-34
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: 0da105a8b7b6b1e0568e8ff20f6ff4b13cc7ecc2
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: a6d3e57dca68fde4effdda3e4ae2887aa535fcd6
5-
refs/heads/try: b477f7a7b74615bba9ab3074082f9cc76a24e8a3
5+
refs/heads/try: dadb6f0cd9fa7e4b402a0107358acb34002d4895
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c

branches/try/mk/platform.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ CFG_LIB_GLOB_x86_64-apple-darwin=lib$(1)-*.dylib
204204
CFG_LIB_DSYM_GLOB_x86_64-apple-darwin=lib$(1)-*.dylib.dSYM
205205
CFG_GCCISH_CFLAGS_x86_64-apple-darwin := -Wall -Werror -g -fPIC -m64 -arch x86_64
206206
CFG_GCCISH_CXXFLAGS_x86_64-apple-darwin := -fno-rtti
207-
CFG_GCCISH_LINK_FLAGS_x86_64-apple-darwin := -dynamiclib -pthread -framework CoreServices -m64
207+
CFG_GCCISH_LINK_FLAGS_x86_64-apple-darwin := -dynamiclib -pthread -framework CoreServices -Wl,-no_compact_unwind -m64
208208
CFG_GCCISH_DEF_FLAG_x86_64-apple-darwin := -Wl,-exported_symbols_list,
209209
CFG_GCCISH_PRE_LIB_FLAGS_x86_64-apple-darwin :=
210210
CFG_GCCISH_POST_LIB_FLAGS_x86_64-apple-darwin :=
@@ -230,7 +230,7 @@ CFG_LIB_GLOB_i686-apple-darwin=lib$(1)-*.dylib
230230
CFG_LIB_DSYM_GLOB_i686-apple-darwin=lib$(1)-*.dylib.dSYM
231231
CFG_GCCISH_CFLAGS_i686-apple-darwin := -Wall -Werror -g -fPIC -m32 -arch i386
232232
CFG_GCCISH_CXXFLAGS_i686-apple-darwin := -fno-rtti
233-
CFG_GCCISH_LINK_FLAGS_i686-apple-darwin := -dynamiclib -pthread -framework CoreServices -m32
233+
CFG_GCCISH_LINK_FLAGS_i686-apple-darwin := -dynamiclib -pthread -framework CoreServices -Wl,-no_compact_unwind -m32
234234
CFG_GCCISH_DEF_FLAG_i686-apple-darwin := -Wl,-exported_symbols_list,
235235
CFG_GCCISH_PRE_LIB_FLAGS_i686-apple-darwin :=
236236
CFG_GCCISH_POST_LIB_FLAGS_i686-apple-darwin :=

branches/try/src/librustc/back/link.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1112,6 +1112,14 @@ pub fn link_args(sess: Session,
11121112
~"-Wl,-rpath,/usr/local/lib/gcc44"]);
11131113
}
11141114

1115+
// OS X 10.6 introduced 'compact unwind info', which is produced by the
1116+
// linker from the dwarf unwind info. Unfortunately, it does not seem to
1117+
// understand how to unwind our __morestack frame, so we have to turn it
1118+
// off. This has impacted some other projects like GHC.
1119+
if sess.targ_cfg.os == session::OsMacos {
1120+
args.push(~"-Wl,-no_compact_unwind");
1121+
}
1122+
11151123
// Stack growth requires statically linking a __morestack function
11161124
args.push(~"-lmorestack");
11171125

branches/try/src/librustc/front/feature_gate.rs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ static KNOWN_FEATURES: &'static [(&'static str, Status)] = &[
3535
("struct_variant", Active),
3636
("once_fns", Active),
3737
("asm", Active),
38-
("managed_boxes", Active),
3938

4039
// These are used to test this portion of the compiler, they don't actually
4140
// mean anything
@@ -138,15 +137,6 @@ impl Visitor<()> for Context {
138137
experimental and likely to be removed");
139138

140139
},
141-
// NOTE: enable after snapshot
142-
ast::ty_box(_) if false => {
143-
self.gate_feature("managed_boxes", t.span, "The managed box syntax may be replaced \
144-
by a library type, and a garbage \
145-
collector is not yet implemented. \
146-
Consider using the `std::rc` module \
147-
as it performs much better as a \
148-
reference counting implementation.");
149-
}
150140
_ => {}
151141
}
152142

branches/try/src/libstd/str.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -997,6 +997,7 @@ pub fn utf8_char_width(b: u8) -> uint {
997997
/// the utf8 bytes of a string.
998998
pub struct CharRange {
999999
/// Current `char`
1000+
/// This field should be public making it private causes error while compiling!!
10001001
ch: char,
10011002

10021003
/// Index of the first byte of the next `char`

branches/try/src/rt/arch/i386/morestack.S

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@
6262
is that OS X 10.6+ uses its own 'compact unwind info',
6363
an undocumented format generated by the linker from
6464
the DWARF CFI. This compact unwind info doesn't correctly
65-
capture the nuance of the __morestack frame, so we need to
66-
prevent the linker from attempting to convert its DWARF unwind
67-
information.
65+
capture the nuance of the __morestack frame, and as a
66+
result all of our linking on OS X uses the -no_compact_unwind
67+
flag.
6868
*/
6969

7070
.text
@@ -118,15 +118,6 @@ MORESTACK:
118118
// FIXME(#9854) these cfi directives don't work on windows.
119119

120120
pushl %ebp
121-
122-
#if defined(__APPLE__)
123-
// The pattern of the return address being saved twice to the same location
124-
// tells the OS X linker that it should not attempt to convert the DWARF
125-
// unwind information to the compact format.
126-
.cfi_offset %eip, -4
127-
.cfi_offset %eip, -4
128-
#endif
129-
130121
// The CFA is 20 bytes above the register that it is
131122
// associated with for this frame (which will be %ebp)
132123
.cfi_def_cfa_offset 20

branches/try/src/rt/arch/x86_64/morestack.S

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,6 @@ MORESTACK:
4343
// bytes greater than a normal frame, to allow the unwinder
4444
// to skip the partial frame of the original function.
4545
.cfi_def_cfa_offset 24
46-
47-
#if defined(__APPLE__)
48-
// The pattern of the return address being saved twice to the same location
49-
// tells the OS X linker that it should not attempt to convert the DWARF
50-
// unwind information to the compact format.
51-
.cfi_offset %rip, -8
52-
.cfi_offset %rip, -8
53-
#endif
54-
5546
// %rbp is -24 bytes from the CFA
5647
.cfi_offset %rbp, -24
5748
movq %rsp, %rbp

0 commit comments

Comments
 (0)