theraven
6a94efd4cf
Removed debugging lines from GNUmakefile that were breaking the build. Thanks to RFM for spotting this...
16 years ago
rfm
6e29945894
Fix missing return
16 years ago
theraven
41f9e12f53
Added a bit more debugging info to the overlapping class error.
16 years ago
theraven
16c3ec8f46
Correctly declare the runtime hooks as extern. Was causing copies of them to show up in the uninitialised data section of libraries that included runtime.h, clobbering the default version and causing a crash when the runtime tried to call them.
16 years ago
qmathe
bf2521da40
Fixed undefined pthread references when gnustep-base configure tests whether 'objc really works'
16 years ago
qmathe
8b9c723905
Added object_setClass
16 years ago
theraven
7ba27bd183
Fixed license for NSBlocks.m
16 years ago
theraven
93ac6e7f2f
Fixed block class creation so libobjc2 no longer has a static dependency on NSObject. This lets blocks work without Foundation, just as on OS X. This requires GNUstep to call a runtime function when NSObject is loaded.
16 years ago
theraven
4771cd4e43
Added selector lookup functions. Implementations by Eric Wasylishen.
16 years ago
theraven
7af08f5a82
Tweaked the +initialize order to work around some of the insanity in NSObject and NSAutoreleasePool's interaction in GNUstep. This code is incredibly fragile, and on the old runtime sometimes completely fails and crashes during startup, depending on the order in which the files were linked in -base and how the platform linker works. Hopefully now it should work in all cases.
16 years ago
theraven
5f48260c6a
Made sure the ObjC mutex is created before it might first be used.
16 years ago
theraven
8efbf98e55
Fixed potential load-order conflict in NSBlocks.
16 years ago
theraven
cbf41a1fec
Fixed build with clang.
16 years ago
theraven
baed61c3e6
Added property support functions, NSBlock base classes and uncaught exception handler.
16 years ago
theraven
40da5b6b50
Fixed build warning on *BSD.
16 years ago
theraven
bd73cc4e57
Added run-time abort if the first ivar of a newly-loaded class does not immediately follow on from the previous one. This (hopefully, modulo some potential weirdness related to bitfields) means that we should now get programs refusing to start in most cases where they depend on frameworks that had their ABI change but didn't bump the library version. This seems preferable to the previous behaviour of corrupting memory (note that this won't catch the case where the superclass has its ivars rearranged, but remains exactly the same size and the subclass references the ivars).
16 years ago
theraven
3ffec0a4fb
Added missing declarations of exception-handling functions (from ABI spec).
16 years ago
theraven
f8b98a73a2
Bug fixes in libobjc2:
...
- nil_method now returns 0, not receiver.
- Metaclasses actually get their dtables installed with the new ABI. For some reason this wasn't being done, so class messages didn't work with the new ABI. Now they do and (at least some) nontrivial programs work.
- Undid commenting out of the code setting the fast ivar access pointers. I can't remember why this was commented out, but it seems not to break anything. I have an LLVM pass that makes compiled code access these pointers, but it's not committed yet.
16 years ago
theraven
29790da51c
Fixed bug in loading categories.
16 years ago
theraven
b2bc15c64e
Removed assertion. I'm not entirely sure why it was there, but it was preventing Gorm running (along with anything else that provided categories on subclassed classes). I need some more testing to make sure that this didn't break anything else, but Gorm now runs correctly with the new runtime, so it seems like an improvement...
16 years ago
theraven
5bb7c43244
Fixed accidental insertion of methods into the uninitialized dtable.
16 years ago
theraven
546f31df69
Fixed a load of ->dtable references up to dtable_for_class() calls. Now no longer does the Wrong Thing™ if you do silly things like modifying a class's dtable in +initialize (which, sadly, GNUstep does for NSConstantString).
16 years ago
theraven
b69b7c05d8
Removed unwind.h dependency. Tidied up a few warnings generated by clang.
17 years ago
theraven
2800dee1f4
Changed "unwind.h" to <unwind.h>
17 years ago
theraven
1e1e23827c
Fixed new ABI method lookup function for +initialize safety.
17 years ago
theraven
d010cc60ea
Fix for threading bug with +initialize. Some limitations:
...
- Now only one thread may be in any +initialize method at once.
- Not yet implemented for the new ABI lookup function.
The first I don't see as a limitation; if anything having +initialize methods
be guaranteed not to run concurrently may be convenient. The second I will fix
soon.
17 years ago
rfm
3c43365991
Use _XOPEN_SOURCE rather than _XOPEN_VERSION
17 years ago
theraven
9c65b1c84c
Added types support to blocks runtime, tidied up UNIX98 stuff.
17 years ago
rfm
102084ab7c
Changes to compile on CentOS-5.3
17 years ago
theraven
bba507bf70
Removed incorrect comment from blocks runtime. Tweaked runtime.h to make it show the new functions even in GNU-compat mode and made sure the object-substitution hook is called even when object substitution can't be used, so GNUstep can use it for the 10.5 NSObject runtime functions.
17 years ago
theraven
252447c95f
Updated block interface to more closely match Apple's one. Added support for introspectable blocks.
17 years ago
theraven
3038121d27
Flagged non-Apple-compatible parts of the API as non-portable.
17 years ago
theraven
323e3dfaeb
Added new runtime library, based on GCC 4.4 libobjc, libobjc_tr and Objective2.framework.
17 years ago