ObjFW  History of src/runtime/linklib/linklib.m of c401c7482dcf3719e79df0cd08fb43c9104a14f2d231c83c0a66aebdbeccf87c

History of file src/runtime/linklib/linklib.m at check-in c401c7482dcf3719e79df0cd08fb43c9104a14f2d231c83c0a66aebdbeccf87c

2023-07-20
20:02
Deleted: Merge trunk into 1.0 branch check-in: [124fe8b500] user: js, branch: 1.0, size: 0
2023-07-15
21:20
Deleted: Remove Amiga .library support

This will be moved to the "amiga-library" branch entirely in order to
not block the 1.0 release, as this is still far from finished. check-in: [f0b0aacf36] user: js, branch: trunk, size: 0

20:57
Merge trunk into branch "amiga-library" file: [d67f38e0d7] check-in: [860b0bf1e9] user: js, branch: amiga-library, size: 49323 [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
Update copyright file: [1b8f556c8f] check-in: [8939cbdb52] user: js, branch: trunk, size: 49236 [annotate] [blame] [check-ins using] [diff]
2022-11-17
17:26
Only ignore -Warray-parameter with GCC >= 11 file: [6ac36a70a4] check-in: [8ed68c3f28] user: js, branch: amiga-library, size: 49323 [annotate] [blame] [check-ins using] [diff]
17:15
More consistency between the two amiga-library.m file: [a8e65364f9] check-in: [0846f898ea] user: js, branch: amiga-library, size: 49288 [annotate] [blame] [check-ins using] [diff]
2022-11-15
22:30
Ignore -Warray-parameter for generated linklib file: [85b07a3adb] check-in: [299216faf1] user: js, branch: amiga-library, size: 49288 [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
Update copyright file: [0c00bc31d2] check-in: [1a86b8175b] user: js, branch: trunk, size: 49236 [annotate] [blame] [check-ins using] [diff]
2021-05-09
18:02
Rename library.xml to amiga-library.xml file: [2cef24eea5] check-in: [a03b820df8] user: js, branch: amiga-library, size: 49236 [annotate] [blame] [check-ins using] [diff]
2021-05-02
11:34
runtime: Name things more consistently file: [9056a4e93e] check-in: [2b75f9e6a0] user: js, branch: trunk, size: 49230 [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
Update copyright file: [e1e21b28b9] check-in: [374e1a1bfa] user: js, branch: trunk, size: 49246 [annotate] [blame] [check-ins using] [diff]
2020-12-27
19:13
Don't use sfdc / cvinclude.pl anymore

The linklib generator already completely obsoletes it. file: [e3651b814b] check-in: [bb25f8b0fe] user: js, branch: trunk, size: 49335 [annotate] [blame] [check-ins using] [diff]

18:50
Add a generator for the linklib

This will eventually also generate the glue code and the function list
and make sfdc & cvinclude.pl entirely obsolete. It will also reduce the
maintenance burden because once everything is generated from
library.xml, there is a single file in which a function needs to be
added / changed instead of 5. file: [4d91f29e72] check-in: [eeba79d088] user: js, branch: trunk, size: 48089 [annotate] [blame] [check-ins using] [diff]

2020-12-22
21:42
Merge trunk into branch "amiga-library" file: [ec6bf583a1] check-in: [a58aa8e069] user: js, branch: amiga-library, size: 15499 [annotate] [blame] [check-ins using] [diff]
2020-12-21
00:25
runtime: Don't pass std{out,err} to Amiga .library file: [32b1f9e0eb] check-in: [08d155e3f0] user: js, branch: trunk, size: 15447 [annotate] [blame] [check-ins using] [diff]
2020-12-20
22:51
Make linklib compile for MorphOS file: [2cbbd07269] check-in: [6dac4586ab] user: js, branch: amiga-library, size: 15505 [annotate] [blame] [check-ins using] [diff]
21:36
Merge trunk into branch "amiga-library" file: [8918300072] check-in: [90637a4ecc] user: js, branch: amiga-library, size: 15479 [annotate] [blame] [check-ins using] [diff]
21:29
runtime: Remove errno from Amiga library

There is nothing left that needs errno. file: [5e0b11dcbb] check-in: [8c90e88939] user: js, branch: trunk, size: 15463 [annotate] [blame] [check-ins using] [diff]

14:04
Fix compilation for AmigaOS 4 file: [aa40a4a4c1] check-in: [a68265627e] user: js, branch: trunk, size: 15558 [annotate] [blame] [check-ins using] [diff]
11:33
linklib: Show errors with requester file: [05384cb064] check-in: [da2d0e7c07] user: js, branch: amiga-library, size: 15577 [annotate] [blame] [check-ins using] [diff]
11:30
Merge trunk into branch "amiga-library" file: [c4ad743978] check-in: [1ff8c1e62d] user: js, branch: amiga-library, size: 15577 [annotate] [blame] [check-ins using] [diff]
03:50
runtime/linklib: Show errors with requester file: [9c6b8d5e96] check-in: [e9b359a922] user: js, branch: trunk, size: 15561 [annotate] [blame] [check-ins using] [diff]
03:32
runtime: Use exit(1) instead of abort() on AmigaOS

This prevents leaking resources like open files. file: [cc71dd731d] check-in: [169832c303] user: js, branch: trunk, size: 15122 [annotate] [blame] [check-ins using] [diff]

03:06
Let OF_ENSURE use OBJC_ERROR in runtime file: [9324d0a33d] check-in: [8f271bed22] user: js, branch: trunk, size: 15104 [annotate] [blame] [check-ins using] [diff]
02:48
runtime: Show fatal errors as requester on AmigaOS file: [452f883c82] check-in: [f2fdb37bec] user: js, branch: trunk, size: 15148 [annotate] [blame] [check-ins using] [diff]
2020-12-12
21:08
Merge trunk into branch "amiga-library" file: [df451058ad] check-in: [637ca0be9f] user: js, branch: amiga-library, size: 15502 [annotate] [blame] [check-ins using] [diff]
2020-11-26
01:44
runtime: Register frames of Amiga lib on MorphOS file: [99c78c6a65] check-in: [bc1275562e] user: js, branch: trunk, size: 15092 [annotate] [blame] [check-ins using] [diff]
2020-11-22
15:34
runtime: Pass errno to Amiga library file: [d383bccae9] check-in: [7b030dc66c] user: js, branch: trunk, size: 14820 [annotate] [blame] [check-ins using] [diff]
2020-11-15
15:19
Remove object_getTaggedPointerClass from Amiga lib

It's private and not needed. file: [c59adcdfad] check-in: [661c36631a] user: js, branch: trunk, size: 14725 [annotate] [blame] [check-ins using] [diff]

2020-11-14
19:26
Merge trunk into branch "amiga-library" file: [580e2c5eca] check-in: [2f8792bc1d] user: js, branch: amiga-library, size: 15297 [annotate] [blame] [check-ins using] [diff]
14:51
runtime: Fix recursive call in Amiga linklib file: [a23c24d38e] check-in: [b14e3d5ba6] user: js, branch: trunk, size: 14827 [annotate] [blame] [check-ins using] [diff]
2020-10-04
15:00
Merge trunk into branch "amiga-library" file: [4387420fcc] check-in: [92335940e9] user: js, branch: amiga-library, size: 15292 [annotate] [blame] [check-ins using] [diff]
2020-09-29
22:21
runtime: Make object_isTaggedPointer() a function

If it is an inline, changing how tagged pointers work internally would
break the ABI and require recompiling everything, making future changes
harder. file: [f6ecf9cc72] check-in: [2fee820b5d] user: js, branch: trunk, size: 14822 [annotate] [blame] [check-ins using] [diff]

2020-07-18
22:54
Add objc_setTaggedPointerSecret() to Amiga linklib file: [674c07dbdb] check-in: [5769ce64b3] user: js, branch: tagged-pointers, size: 14733 [annotate] [blame] [check-ins using] [diff]
2020-07-04
00:40
Use a regular int for the tagged pointer class ID file: [b0ccaf3f6e] check-in: [a8d453813c] user: js, branch: tagged-pointers, size: 14634 [annotate] [blame] [check-ins using] [diff]
2020-06-29
19:42
runtime: Add helper functions for tagged pointers file: [8bd799cb5a] check-in: [a964d3dcb4] user: js, branch: tagged-pointers, size: 14512 [annotate] [blame] [check-ins using] [diff]
2020-06-07
21:32
Clean up a little file: [c66c0c6229] check-in: [fa90c6cb2c] user: js, branch: amiga-library, size: 14680 [annotate] [blame] [check-ins using] [diff]
18:27
Add _Unwind_Backtrace to amiga-library.m file: [05fa7a50e6] check-in: [b50dc283cf] user: js, branch: amiga-library, size: 14654 [annotate] [blame] [check-ins using] [diff]
16:53
Add __(de)register_frame_info to amiga-library.m

This way the runtime's linklib will use the ones passed to the ObjFW
.library. file: [4b66b4aaff] check-in: [45a8b2333d] user: js, branch: amiga-library, size: 14270 [annotate] [blame] [check-ins using] [diff]

16:34
Pass __sF around instead of std* individually

This avoids needing to #undef std{in,out,err} and then providing a new
symbol. file: [67c7f14c6b] check-in: [514944f1ea] user: js, branch: amiga-library, size: 14200 [annotate] [blame] [check-ins using] [diff]

2020-03-08
13:49
runtime/linklib: __attribute__((used)) for [cd]tor

Otherwise, amiga-gcc strips it when optimizations are enabled, resulting
in a linker error. file: [141357802d] check-in: [c12ca9484e] user: js, branch: trunk, size: 14210 [annotate] [blame] [check-ins using] [diff]

2020-01-25
20:04
tlskey.m: Use hashtable from runtime on AmigaOS

tlskey.m used OFMapTable only on AmigaOS. This became a problem when
autorelease pools were moved into the runtime, as autorelease pools use
TLS. The build then broke, as there suddenly was a dependency from the
runtime on ObjFW.

This now uses the hashtable from the runtime and also no longer uses
OFList, thus fixing the build. As we always use the runtime on AmigaOS
anyway, this is fine. file: [570378ad75] check-in: [49aee5736e] user: js, branch: trunk, size: 14186 [annotate] [blame] [check-ins using] [diff]

2020-01-02
22:16
Move autorelease pools to runtime file: [af59ade95f] check-in: [f2fe8f96d5] user: js, branch: trunk, size: 13520 [annotate] [blame] [check-ins using] [diff]
01:51
Update copyright file: [7a6ee768ac] check-in: [c7f0229795] user: js, branch: trunk, size: 13268 [annotate] [blame] [check-ins using] [diff]
01:35
Move objc_{con,de}structInstance to runtime file: [38ecc37c23] check-in: [7f1acf9221] user: js, branch: trunk, size: 13265 [annotate] [blame] [check-ins using] [diff]
2019-12-13
00:00
runtime: Add class_getInstanceMethod() file: [df8b8ee743] check-in: [9e23a50de7] user: js, branch: trunk, size: 13144 [annotate] [blame] [check-ins using] [diff]
2019-12-12
01:04
runtime: Make properties opaque and provide an API file: [962890f13f] check-in: [44f5a7d029] user: js, branch: trunk, size: 13158 [annotate] [blame] [check-ins using] [diff]
2019-12-08
21:51
runtime: Make methods opaque and provide an API file: [2d8b4b35eb] check-in: [f310bcc3ff] user: js, branch: trunk, size: 12777 [annotate] [blame] [check-ins using] [diff]
2019-11-24
22:23
runtime: Remove duplicate structs for ABI file: [701acb1f6d] check-in: [c6d2de4312] user: js, branch: trunk, size: 12476 [annotate] [blame] [check-ins using] [diff]
15:22
runtime: Make ivars opaque and provide an API file: [97d16c1155] check-in: [688eef7561] user: js, branch: trunk, size: 12462 [annotate] [blame] [check-ins using] [diff]
2019-08-04
20:03
Amiga library: Provide an empty __init_eh()

amiga-gcc now links in __init_eh(). However, since we init EH ourselves,
there's no need for it, so we replace it with an empty one. file: [9569bc8b44] check-in: [7342a6e98b] user: js, branch: trunk, size: 12102 [annotate] [blame] [check-ins using] [diff]

2019-06-27
21:27
runtime/linklib: Fix editing via macro gone wrong file: [1e64ea6ef5] check-in: [651b363221] user: js, branch: trunk, size: 12101 [annotate] [blame] [check-ins using] [diff]
19:24
runtime: Switch MorphOS library to SysV ABI file: [fd0b2b3bf0] check-in: [7138892706] user: js, branch: trunk, size: 12114 [annotate] [blame] [check-ins using] [diff]
2019-06-26
19:25
runtime: Fix MorphOS library

This again works with both, SjLj and DWARF exceptions. The latest public
SDK still uses SjLj, so it still needs to be supported for now. file: [1429bcc593] check-in: [153b825cdb] user: js, branch: trunk, size: 18140 [annotate] [blame] [check-ins using] [diff]

2019-06-17
00:38
Remove underscores from library & framework names

This is more compatible with the various conventions used on various
systems. file: [8e395bc89c] check-in: [79fe29dbf4] user: js, branch: trunk, size: 18056 [annotate] [blame] [check-ins using] [diff]

2019-05-19
21:30
Use cvinclude.pl instead of sfdc for MorphOS

sfdc does not support SysV functions and is not part of the MorphOS SDK. file: [5fd34ee158] check-in: [8f9c2b55ce] user: js, branch: trunk, size: 18061 [annotate] [blame] [check-ins using] [diff]

2019-05-05
22:22
runtime/linklib: Fix compilation on MorphOS file: [e8efb8926f] check-in: [77945f04a6] user: js, branch: trunk, size: 11808 [annotate] [blame] [check-ins using] [diff]
19:28
Create separate Amiga libraries for OS3 & MorphOS

Otherwise, it would be necessary to make unwinding work between 68k and
PPC code, and would get even worse with OS4 support.

This also includes using separate .sfd files. file: [824a5b579c] check-in: [1e70711672] user: js, branch: trunk, size: 11703 [annotate] [blame] [check-ins using] [diff]

2019-04-21
17:26
runtime: Fix missing _t suffix in types file: [d6e0a7e003] check-in: [f0c9c3a9f7] user: js, branch: trunk, size: 11669 [annotate] [blame] [check-ins using] [diff]
2019-02-24
13:52
runtime/linklib: Add missing methods from arc.m file: [219475a078] check-in: [ea17970d39] user: js, branch: trunk, size: 11663 [annotate] [blame] [check-ins using] [diff]
2019-02-17
03:05
runtime/linklib: Use CONSTRUCTOR_P on MorphOS

This ensures the runtime gets initialized before anything else. file: [b14664876b] check-in: [98e5c779c8] user: js, branch: trunk, size: 10338 [annotate] [blame] [check-ins using] [diff]

2019-02-07
21:31
More style improvements file: [964c1adbfe] check-in: [754bf24742] user: js, branch: trunk, size: 10402 [annotate] [blame] [check-ins using] [diff]
00:46
Make style consistent between ObjFW and ObjFW_RT

ObjFW_RT used to be a separate project that followed the BSD style, as
it was written in pure C, while ObjFW's style is based on the BSD style
with changes to make it a better fit for Objective-C. This commit
changes ObjFW_RT to use the same style as ObjFW. file: [f03a29b448] check-in: [ef6d69931e] user: js, branch: trunk, size: 10350 [annotate] [blame] [check-ins using] [diff]

2019-01-03
19:13
Update copyright file: [dd93d6e841] check-in: [0509d7a844] user: js, branch: trunk, size: 10022 [annotate] [blame] [check-ins using] [diff]
2018-06-03
23:08
runtime/linklib: Do not pass exit() to Amiga lib

The only reason the runtime should ever terminate the process is because
a fatal error occurred, and for that it should use abort(). file: [b705064e93] check-in: [a37a78d51b] user: js, branch: trunk, size: 10016 [annotate] [blame] [check-ins using] [diff]

2018-05-26
15:18
runtime/linklib: Use init/exit list on amiga-gcc

The init list is executed before all constructors and the exit list
after all destructors. This makes sure the runtime library is present
during all constructors and destructors.

Use -2 so that objfw.library later on can use -1. file: [715e972f4a] check-in: [57f0d10b19] user: js, branch: trunk, size: 10032 [annotate] [blame] [check-ins using] [diff]

14:49
Remove #define INTUITION_CLASSES_H hack

This has been fixed upstream in amiga-gcc. file: [127b4c9eeb] check-in: [b31bd48f90] user: js, branch: trunk, size: 9763 [annotate] [blame] [check-ins using] [diff]

2018-05-20
10:30
runtime/linklib: Fix a typo

This resulted in infinite recursion. file: [7206ddd280] check-in: [46a4547451] user: js, branch: trunk, size: 9822 [annotate] [blame] [check-ins using] [diff]

2018-05-13
20:06
runtime: Add __objc_class_name_Protocol to linklib

This is referenced by code using the class in order to make sure it gets
linked in. file: [40fc377fab] check-in: [3afa373424] user: js, branch: trunk, size: 9817 [annotate] [blame] [check-ins using] [diff]

19:24
platform.h: Rename OF_AMIGAOS3 to OF_AMIGAOS_M68K

The reason for this is that, in theory, this also supports versions
older than 3. file: [5386d2b724] check-in: [5831626f68] user: js, branch: trunk, size: 9783 [annotate] [blame] [check-ins using] [diff]

02:09
runtime: Port Amiga library to MorphOS file: [a24ad9446a] check-in: [95e1ba8d63] user: js, branch: trunk, size: 9771 [annotate] [blame] [check-ins using] [diff]
2018-05-11
19:42
runtime: Let objc_init() take a version number file: [d9e16b337b] check-in: [c5c95f9fe2] user: js, branch: trunk, size: 6102 [annotate] [blame] [check-ins using] [diff]
2018-05-06
21:39
runtime: Make Amiga library work with -fbaserel

This currently uses __saveds on all exported functions for simplicity.
As an optimization, __saveds can be removed from some functions later
after careful verification that no code path starting from that function
accesses any data. file: [6215304d3d] check-in: [482698c5be] user: js, branch: trunk, size: 6014 [annotate] [blame] [check-ins using] [diff]

2018-05-05
18:06
runtime: Let objc_get*Class return Class file: [478a2413e5] check-in: [b3f32186dd] user: js, branch: trunk, size: 5864 [annotate] [blame] [check-ins using] [diff]
17:46
runtime: Work around compiler bug in Amiga library

This adds the same workaround for objc_enumerationMutation() as for
objc_exception_throw(). file: [c7c08d7d39] check-in: [dff419362e] user: js, branch: trunk, size: 5855 [annotate] [blame] [check-ins using] [diff]

15:57
runtime: Make exceptions work in Amiga library file: [ca3819c013] check-in: [1cae2c720c] user: js, branch: trunk, size: 5340 [annotate] [blame] [check-ins using] [diff]
2018-05-01
15:10
Added: runtime: Add a linklib for the Amiga library file: [03684c47f6] check-in: [f840649052] user: js, branch: trunk, size: 3408 [annotate] [blame] [check-ins using]