about summary refs log tree commit diff
path: root/src/rt/arch/i386
AgeCommit message (Collapse)AuthorLines
2011-12-06rt: Various tweaks to make __morestack unwinding work on linuxBrian Anderson-0/+7
When unwinding through __morestack the stack limit in the TLS is invalidated and must be reset. Instead of actually landing at __morestack we're just going to make all our Rust landing pads call upcall_reset_stack_limit, which will find the stack segment that corresponds to the current stack pointer and put the limit in the TLS. Also massively expand the stack segment red zone to make more room for the dynamic linker. Will fix in the future.
2011-12-06Make valgrind usage more consistent and less error prone.Austin Seipp-3/+1
I was still having issues with the build system somehow getting confused as to which set of valgrind headers to use when compiling rt. This commit moves all the valgrind headers into their own directory under rt and makes the usage more consistent. The compiler is now passed the -DNVALGRIND flag when valgrind is not installed, as opposed to passing -DHAVE_VALGRIND. We also pass -I src/rt to the compiler when building rt so you can more easily import what you want. I also cleaned up some erroneous #includes along the way. It should be safe to always just import the local valgrind headers and use them without question. NVALGRIND turns the operations to no-ops when it is active, and the build and tests run cleanly with or without.
2011-12-05rt: Use an out pointer for rust_new_stackBrian Anderson-4/+5
upcall_call_shim_on_c_stack does not handle return values
2011-12-05rt: Unwind through __morestack on 32-bit linuxBrian Anderson-0/+24
2011-12-04rt: Update 32-bit __morestack for recent LLVM changesBrian Anderson-16/+13
2011-12-02rt: Implement 32-bit __morestack for macBrian Anderson-21/+63
2011-12-01rt: Add FIXME's about future changes to LLVM's __morestack implBrian Anderson-0/+2
2011-11-30rt: Reorganize stack growth codeBrian Anderson-10/+8
2011-11-30rt: Remove the stack pointer field of stk_segBrian Anderson-14/+4
2011-11-30rt: Remove upcall_alloc_c_stack/call_c_stack, et. al.Brian Anderson-46/+0
We are using upcall_call_shim_on_c_stack now
2011-11-30rt: Rewrite 32-bit __morestack to use the shim upcallBrian Anderson-85/+63
2011-11-29rt: Request the correct number of bytes on the C stackBrian Anderson-1/+1
2011-11-29rt: Conditionalize out the 32-bit __morestack for everything but LinuxBrian Anderson-0/+7
Currently broken everywhere else
2011-11-29rt: Fix i386/morestack.S for static linkingBrian Anderson-1/+2
2011-11-28rt: Set hidden visibility on __morestackBrian Anderson-0/+9
Each crate will have its own copy of this function, which should not be exported.
2011-11-28rt: Rename L$bail to .L$bail in i386/morestack.SBrian Anderson-2/+2
2011-11-22rt: Make __morestack build on win32Brian Anderson-1/+6
2011-11-22rt: Make __morestack (without unwinding) work on 32-bit linuxBrian Anderson-19/+44
2011-11-18get pure wrappers approach runningNiko Matsakis-0/+23
2011-11-17rt: Make stack growth code build on LinuxBrian Anderson-1/+6
2011-11-17rt: More work on morestackPatrick Walton-21/+98
2011-11-16Revert "rt: More work on morestack"Brian Anderson-98/+21
This reverts commit 68aff2ad6d55a051e9347aa38f945d114f282691.
2011-11-16Revert "rt: Make stack growth code build on Linux"Brian Anderson-6/+1
This reverts commit da4b7da4e142a4c2119312c0e24b7c20bbe74e60.
2011-11-16rt: Make stack growth code build on LinuxBrian Anderson-1/+6
2011-11-16rt: More work on morestackPatrick Walton-21/+98
2011-11-16correct alignmentNiko Matsakis-3/+4
2011-11-16begin efforts to use shim functions for c-stack callsNiko Matsakis-1/+17
2011-11-14Revert "rt: More work on morestack"Patrick Walton-98/+21
This reverts commit ced0d4f15e11e2c74766d1055146946ded3fba51.
2011-11-14rt: More work on morestackPatrick Walton-21/+98
2011-11-08correct stack alignmentNiko Matsakis-0/+2
2011-11-08cleanup, removing comments and dead codeNiko Matsakis-31/+10
2011-11-02get things checking on ia32Niko Matsakis-28/+28
2011-11-02do not preserve caller-saved registersNiko Matsakis-29/+29
2011-10-31rt: Fix long linesPatrick Walton-6/+6
2011-10-31rt: Have __morestack conform to the calling convention that LLVM generates ↵Patrick Walton-9/+12
on x86
2011-10-31Stub a __morestack implementation and stack segment allocation. Untested.Patrick Walton-0/+38
2011-10-24fix c-stack-cdecl when used w/ i64Niko Matsakis-0/+4
2011-10-24switch over sqrt from llvm to c-stack-cdecl, exposing a bug inNiko Matsakis-0/+4
the supported return types of upcall_c_stack
2011-10-23Fix an insane rt build error running 'make check -j3'Austin Seipp-3/+1
2011-10-21Get 'make tidy' to work rustllvm and rt againBrian Anderson-43/+43
2011-10-05rt: Make C stack switching Valgrind-clean by warning Valgrind when we're ↵Patrick Walton-1/+12
about to write to the C stack from the Rust stack
2011-09-30rt: Omit leading underscore on symbol names on LinuxPatrick Walton-0/+5
2011-09-29rt: Fix assembler for C calls to work more like a regular function callPatrick Walton-5/+8
2011-09-28rt: Add a call stub that switches to the C stack, untested as of yetPatrick Walton-0/+15
2011-09-28rt: Add an upcall to allocate space on the C stack. This will be used for ↵Patrick Walton-9/+18
native calls on the C stack.
2011-09-07Rewrite spawn yet againBrian Anderson-8/+0
The motivation here is that the bottom of each stack needs to contain a C++ try/catch block so that we can unwind. This is already the case for main, but not spawned tasks. Issue #236
2011-08-17Making more of the rust_task structure directly accessible from Rust.Eric Holk-0/+2
2011-08-15Fixing win32 build.Eric Holk-1/+1
2011-08-15Updating to build on Linux and Mac, and hopefully Windows too.Eric Holk-0/+4
2011-08-15Added a library version of spawn. Before long, we can remove the old version.Eric Holk-15/+24