19 Commits (71e38a048fc06fea0c2015662540d46a33b5c45d)

Author SHA1 Message Date
Rupert Daniel 710b2368cc Fixed crash when using self in imp_implementationWithBlock on armv7a 6 years ago
David Chisnall 8e825a8416 Make Win32 block trampolines SEH compatible.
This change is effectively a no-op (it's impossible to throw an
exception through these trampolines, because they tail call the real
block), but it does prevent the linker from complaining that we're
linking SEH-aware and SEH-unaware code.
8 years ago
David Chisnall 4ab78aa49a Check for Thumb-2 more explicitly. 10 years ago
David Chisnall cbdc6c8786 Reorganise block_trampolines.S to have a lot less copy-and-pasting. 10 years ago
David Chisnall 9e51aabc98 Fix block trampolines to work when mixed with Thumb-2 code. 10 years ago
David Chisnall fecddec3f3 Implement AArch64 block trampolines. 10 years ago
David Chisnall a36013f090 Fix the offsets in the ARM block trampoline. 10 years ago
David Chisnall 7eeffe9d09 Rewrite the block-to-imp code so that:
- We reuse the memory allocated for blocks
- We no longer have the same physical page mapped write and execute
10 years ago
David Chisnall 2f57b0b688 Tweak the block trampolines to work with the win64 calling convention (untested!). 10 years ago
theraven 55bbcd8748 Only emit section directives on ELF platforms. 12 years ago
ericwa 317e951b0c libobjc2: some changes needed to build on OS X. CDECL macro to prefix symbol names in assembly code with an underscore, macros to omit the .type and .section derictives which are unsupported on OS X, and also a linker flag to make weak symbols work 13 years ago
theraven 518e059538 Add MIPS support for assembly paths.
Note: Only n64 is tested.  o32 and n32 will probably work, but use at your own tisk...
13 years ago
theraven 62269b017d Fix arm asm syntax. 14 years ago
theraven 36bba25348 Shorter versions of ARM trampolines. 14 years ago
theraven 5718e5428d Add block trampolines for ARM (need a bit more testing...) 14 years ago
theraven eeaa8f7b32 Add a warning when compiling on a platform where imp_implementationWithBlock() won't work. 14 years ago
theraven 82dd92351d Actually commit the files I thought I committed in the last commit 14 years ago
theraven 0a7fdcb69e Add x86 (32-bit) sret trampoline. 14 years ago
theraven 43ee8b9819 Add initial support for imp_implementationWithBlock() and friends. Currently
only works on x86 and x86-64 and doesn't work with sret functions.
14 years ago