Skip to content

Commit 986054a

Browse files
brsonnikomatsakis
authored andcommitted
---
yaml --- r: 6326 b: refs/heads/master c: d2199e8 h: refs/heads/master v: v3
1 parent 63ce813 commit 986054a

File tree

6 files changed

+32
-12
lines changed

6 files changed

+32
-12
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 319f3b02f3272ce5b58b04bc3d2abfc5b33991f0
2+
refs/heads/master: d2199e87166e82c394bf7d8c28374287145ff1b7

trunk/configure

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ if [ -z "$CFG_TARGET_TRIPLES" ]
339339
then
340340
CFG_TARGET_TRIPLES="${CFG_HOST_TRIPLE}"
341341
else
342-
CFG_TARGET_TRIPLES="${CFG_TARGET_TRIPLES/,/ }"
342+
CFG_TARGET_TRIPLES="$(echo $CFG_TARGET_TRIPLES | tr ',' ' ')"
343343
fi
344344

345345

@@ -459,12 +459,26 @@ do
459459
LLVM_CXXFLAGS_32="-m32"
460460
LLVM_LDFLAGS_32="-m32"
461461

462-
# FIXME: Need to change flags for x64
463-
LLVM_CXX=$LLVM_CXX_32
464-
LLVM_CC=$LLVM_CC_32
465-
LLVM_CFLAGS=$LLVM_CFLAGS_32
466-
LLVM_CXXFLAGS=$LLVM_CXXFLAGS_32
467-
LLVM_LDFLAGS=$LLVM_LDFLAGS_32
462+
LLVM_CXX_64="g++"
463+
LLVM_CC_64="gcc"
464+
LLVM_CFLAGS_64=""
465+
LLVM_CXXFLAGS_64=""
466+
LLVM_LDFLAGS_64=""
467+
468+
if echo $t | grep x86_64
469+
then
470+
LLVM_CXX=$LLVM_CXX_64
471+
LLVM_CC=$LLVM_CC_64
472+
LLVM_CFLAGS=$LLVM_CFLAGS_64
473+
LLVM_CXXFLAGS=$LLVM_CXXFLAGS_64
474+
LLVM_LDFLAGS=$LLVM_LDFLAGS_64
475+
else
476+
LLVM_CXX=$LLVM_CXX_32
477+
LLVM_CC=$LLVM_CC_32
478+
LLVM_CFLAGS=$LLVM_CFLAGS_32
479+
LLVM_CXXFLAGS=$LLVM_CXXFLAGS_32
480+
LLVM_LDFLAGS=$LLVM_LDFLAGS_32
481+
fi
468482

469483
CXX=$LLVM_CXX
470484
CC=$LLVM_CC

trunk/src/comp/back/x86_64.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,16 @@ fn get_target_strs(target_os: session::os) -> target_strs::t {
1818
}
1919

2020
session::os_win32. {
21-
"e-p:32:32-f64:64:64-i64:64:64-f80:32:32-n8:16:32" //NDM i386
21+
// FIXME: Test this. Copied from linux
22+
"e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-"+
23+
"f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-"+
24+
"s0:64:64-f80:128:128-n8:16:32:64-S128"
2225
}
2326

2427
session::os_linux. {
25-
"e-p:32:32-f64:32:64-i64:32:64-f80:32:32-n8:16:32" //NDM i386
28+
"e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-"+
29+
"f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-"+
30+
"s0:64:64-f80:128:128-n8:16:32:64-S128"
2631
}
2732
},
2833

trunk/src/lib/linux_os.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ native mod libc {
5050
fn unsetenv(n: str::sbuf) -> c_int;
5151
fn pipe(buf: *mutable fd_t) -> c_int;
5252
fn waitpid(pid: pid_t, &status: c_int, options: c_int) -> pid_t;
53+
fn readlink(path: str::sbuf, buf: str::sbuf, bufsize: size_t) -> ssize_t;
5354
}
5455

5556
mod libc_constants {

trunk/src/lib/run_program.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ fn waitpid(pid: pid_t) -> int {
278278

279279
#[cfg(target_os = "linux")]
280280
fn WEXITSTATUS(status: i32) -> i32 {
281-
(status >> 8) & 0xff
281+
(status >> 8i32) & 0xffi32
282282
}
283283

284284
#[cfg(target_os = "macos")]

trunk/src/rt/arch/x86_64/ccall.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ upcall_call_c_stack_float:
6161
_upcall_call_c_stack_shim:
6262
#else
6363
.globl upcall_call_c_stack_shim
64-
upcall_call_c_stack_shim
64+
upcall_call_c_stack_shim:
6565
#endif
6666
push %rbp
6767
mov %rsp,%rbp // save rsp

0 commit comments

Comments
 (0)