David Chisnall
f78b684db3
Fix build with -fno-common
...
Several of the hooks were being generated with common linkage in hooks.c
and as normal initialised symbols in sendmsg2.c. Recent clang defaults
to -fno-common, which causes the common linkage versions to become
strong symbols and then causes a linkage failure from duplicate
definitions: one zero initialised, one initialised with a real value.
This removes copy in hooks.c, retaining only the initialised version.
Fixes #171
5 years ago
David Chisnall
d015f0160c
Rename PUBLIC to OBJC_PUBLIC to avoid some namespace pollution.
7 years ago
David Chisnall
934cd13a7a
Initial pass at Windows support.
...
All tests now pass with the new ABI on x86-64, with the new ABI. Some
of the code is ugly and other platforms are probably broken.
8 years ago
David Chisnall
4e9fd2ec8a
Rename objc_slot and objc_slot_v1.
...
The objc_slot type was exposed via public interfaces and the renaming
broke things (including the GNUstep build).
8 years ago
David Chisnall
b81df02b91
Merge branch 'master' into newabi
...
Simplify the setSubclass dtable updating mechanism.
8 years ago
David Chisnall
93b3f889a6
Update documentation.
8 years ago
David Chisnall
a8752cd842
Clean up method / slot lookup interfaces.
8 years ago
Dustin L. Howett
21ad183e3e
Wrap some headers in extern C for C++ compat.
8 years ago
David Chisnall
4a840374fe
Fix typo in hooks.h.
10 years ago
David Chisnall
c3c81796ca
Rework slot handling so that the fields that are used for dispatch are
...
at the start of the structure, making it easier to change the layout in
the future.
Also clean up the growth of various fields and consolidate some of the
metadata into a pointer to the `struct objc_method`.
10 years ago
theraven
f50bc6cf33
Added support for tracing message sends to the runtime.
...
Currently x86-64 only.
13 years ago
theraven
c73b7a2f0b
Mark all libobjc2 headers as system headers when not compiling the runtime
...
itself. This makes clang hide warnings.
13 years ago
theraven
bc87ed22e1
Implemented support for __weak with ARC.
...
ARC functions are all now exposed in a header, but not yet documented. See the ARC ABI spec for now:
http://clang.llvm.org/docs/AutomaticReferenceCounting.html#runtime
15 years ago
theraven
0284155f2d
Added a hook that defines the behaviour when you call a method with the wrong signature.
16 years ago
theraven
2cc96a6f7e
Fix message forwarding by, for example, actually calling the public forwarding hook, instead of one that isn't exposed to GNUstep...
16 years ago
theraven
f375d20d7a
Add support for catching C++ (and Java / Ada) exceptions in Objective-C.
16 years ago
theraven
07758fe521
Removed last bits of legacy code from libobjc2. Added new exception handling implementation.
16 years ago
theraven
b1b9baf382
Finished rewrite of message sending. Deleted lots of legacy stuff.
16 years ago
theraven
de71ebb6b1
Rewritten class loading.
16 years ago
theraven
7f6f798074
Rewrote some of the class table code to be slightly cleaner.
16 years ago