Hugo Melder
adedd68048
Initial RISC-V 64-bit Support ( #261 )
...
* RISC-V objc_msgSend implementation
* Use objc_msgSend.riscv64.S if requirements are met
* RISC-V 64-bit block trampoline
* Fix formatting
* Add riscv64 crossbuild in CI
* Exclude llvm 13 and 14 for riscv64 in CI
* Add RISC-V and Windows on ARM to ANNOUNCE
* Add comment to why we exclude architectures in qemu-crossbuild
* Remove duplicated entry in ANNOUNCE
2 years ago
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