about summary refs log tree commit diff
path: root/src/comp/back/link.rs
AgeCommit message (Collapse)AuthorLines
2011-12-18rustc: Don't emit compact unwind info on macBrian Anderson-0/+8
It's not compatible with the subtlety of __morestack
2011-12-15Fix bug in library output filename construction: /tmp/foo.rc was being ↵Graydon Hoare-0/+7
linked as lib/tmp/foo-<hash>-<vers>.so not /tmp/foo-<hash>-<vers>.so
2011-12-14rustc: Always write split stack prologuesBrian Anderson-6/+4
2011-12-13Copy first batch of material from libstd to libcore.Graydon Hoare-4/+4
2011-12-12rustc: Work around a segmentation faultHaitao Li-24/+24
On Linux/Mac, I got a segmentation fault: (gdb) bt #0 0x00000000007519af in glue_take584 () #1 0x00000000006d4bec in back::rpath::get_rpath_flags::_3899df2ca513c603 () #2 0x00000000006c7655 in back::link::link_binary::_7afde00a9791031c () #3 0x00000000007d3ff5 in driver::rustc::compile_input::thunk9212 () #4 0x0000000000710f24 in driver::rustc::time::_3e691b2a4ba58aee () #5 0x000000000071a79d in driver::rustc::compile_input::_7b4a41b87c18e034 () #6 0x000000000072f0a9 in driver::rustc::main::_cd8b8c8185af3dee () #7 0x000000000072f1ed in _rust_main () #8 0x00007ffff7e6e146 in task_start_wrapper (a=<optimized out>) at ../src/rt/rust_task.cpp:176 The variable `output` or `out_filename` becomes (null) after the definition of `fn unlib`. Move the function defintion to the beginning seems prevent the crash on Linux.
2011-12-12rustc: Refactor and get built on WindowsHaitao Li-14/+12
2011-12-12rustc: Hash includes direct dependent cratesHaitao Li-3/+11
2011-12-12rustc: build versioned library with hash in its nameHaitao Li-6/+13
Also updated build to install versioned libraries and added a few missing actions for `make clean`.
2011-12-08rustc: Determine the crate type (lib/bin) in the session, not session optsBrian Anderson-2/+2
This is in preparation for adding a #[crate_type] attribute
2011-12-04Upgrade LLVM to svn revision 145779Brian Anderson-4/+6
This pulls in commits 145765 & 145766, which are required for split stacks.
2011-11-28rustc: Link in libmorestack.a when --stack-growthBrian Anderson-0/+5
2011-11-25rustc: Fall back to intrinsics.ll if we can't parse the bcBrian Anderson-4/+42
This will allow us to transition to the new bitcode format.
2011-11-17remove compile-command from local variable blocksNiko Matsakis-1/+0
2011-11-10Cleanup unused importsHaitao Li-5/+0
2011-11-07rustc: Add support of generating LLVM assemblyHaitao Li-5/+13
rustc generates output files in LLVM bitcode format if "--emit-llvm" option is given. When used with the "-S" option, rustc generates LLVM intermediate language assembly files. Fixes Issue #476
2011-11-02add -m64 to gcc args if appropriateNiko Matsakis-1/+3
2011-11-02start to isolate target strings so that they can be configured forNiko Matsakis-31/+35
x64 or other targets
2011-10-31rustc: Enable segmented stacks in LLVM when --stack-growth is onPatrick Walton-0/+1
2011-10-28Produce dyn libraries with proper namesHaitao Li-8/+7
Issue #744
2011-10-20Don't rely on main.ll anymoreMarijn Haverbeke-7/+1
I'll remove the actual file after I register a snapshot. Issue #992
2011-10-20Output linker errors, when linking failsMarijn Haverbeke-3/+4
2011-10-17Change the linkage order on linux and add -ldlBrian Anderson-5/+6
-lrt and -ldl need to be specified after -lrustrt since they are only used by rustrt.
2011-10-16Only link librt on linuxBrian Anderson-1/+8
2011-10-16Fix link error by explicitly link needed DSOsHaitao Li-1/+1
Building Rust(version 280bc56) on Ubuntu 11.10 failed with link error, like: compile_and_link: stage0/lib/rustc/i686-unknown-linux-gnu/lib/libstd.so compile_and_link: stage0/lib/rustc/i686-unknown-linux-gnu/bin/rustc /local/src/rust/build/stage0/lib/rustc/i686-unknown-linux-gnu/lib/librustrt.so: undefined reference to `clock_gettime' collect2: ld returned 1 exit status error: linking with gcc failed with code 1 GCC toolchain released by Ubuntu 11.10 introduced a few compiler flags that are different with upstream GCC[1]. Flags "-Wl,--as-needed' and '-Wl,--no-copy-dt-needed-entries' are passed by default. Function clock_gettime from librt is used by librustrt, indirectly by rustc. It is necessary to explicitly pass the "-lrt" flags when building rustc. Please note since the toolchain changes will be the default in the next release(2.22) of binutils, this is not actually a Debian/Ubuntu specific issue. 1. https://wiki.ubuntu.com/OneiricOcelot/ReleaseNotes#GCC_4.6_Toolchain Signed-off-by: Haitao Li <lihaitao@gmail.com>
2011-10-12reimplement some of the unsafe stuff which got lostNiko Matsakis-10/+7
- blocks inherit unsafety - remove the --check-unsafe flag - add unsafe annotations where needed to get things to compile
2011-10-12continue to annotate functions as unsafe where neccessaryNiko Matsakis-2/+3
2011-10-12add unsafe tags into various points in the translation chainsNiko Matsakis-4/+6
and so forth
2011-10-06Remove an unnecessary linking flag. Add comments about linkingBrian Anderson-1/+4
2011-10-06Make rpath work on macBrian Anderson-0/+7
2011-10-05Fix some remaining rpath bugsBrian Anderson-0/+1
2011-10-05Begin work on rpathBrian Anderson-0/+3
2011-10-04Use util::filesearch to locate intrinsics.bc and main.oBrian Anderson-4/+13
2011-10-04Encapsulate current sysroot and lib path handling into util::filesearchBrian Anderson-25/+5
2011-10-02rustc: Fix link error on Ubuntu Oneiric. Issue #903Haitao Li-2/+4
2011-09-30Change the directory for target libsBrian Anderson-3/+10
This pushes them down from stageN/lib/rustc/$(target) to stageN/lib/rustc/$(target)/lib in order to make room for a target bin dir
2011-09-29Reorganize structure of build directoryBrian Anderson-4/+18
Each stage is organized more according to Unix standards and to accommodate multiple target architectures. stageN/ bin - rustc lives here lib - libraries that rustc needs lib/rustc/$(target_triple/ - target libraries
2011-09-28Eliminate glue.o. Closes #990Brian Anderson-2/+1
2011-09-20Move linker invocation from driver::rustc to back::linkBrian Anderson-1/+93
2011-09-12Pretty-print for new arg-mode syntaxMarijn Haverbeke-19/+17
2011-09-12Reformat for new mode syntax, step 1Marijn Haverbeke-45/+42
Long lines were fixed in a very crude way, as I'll be following up with another reformat in a bit.
2011-09-02Reformat. Issue #855Brian Anderson-100/+99
2011-09-01Convert all uses of #ifmt to #fmt. Issue #855Brian Anderson-3/+3
2011-09-01Rename std::istr to std::str. Issue #855Brian Anderson-20/+20
2011-09-01Remove std::str. Issue #855Brian Anderson-1/+0
2011-08-31Convert uses of #fmt to #ifmt. Issue #855Brian Anderson-9/+5
2011-08-27Convert rustc::driver::session to istrs. Issue #855Brian Anderson-5/+6
2011-08-27Convert pretty-printer to istrs. Issue #855Brian Anderson-1/+1
2011-08-27Convert rest of the AST to istrs. Issue #855Brian Anderson-2/+2
2011-08-27Convert middle::trans_common to istrs. Issue #855Brian Anderson-3/+2
2011-08-27Convert the rest of rustc::lib::llvm to istrs. Issue #855Brian Anderson-1/+1