ObjFW  History of src/runtime/linklib/linklib.m of 591d1c6c2bc7869e

History of the file that is called src/runtime/linklib/linklib.m at check-in 591d1c6c2bc7869e

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

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

18:50
[4d91f29e72] part of check-in [eeba79d088] 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. (check-in: [eeba79d088] user: js, branch: trunk, size: 48089) [annotate] [blame] [check-ins using] [diff]

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

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

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

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

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

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

2020-11-14
19:26
[580e2c5eca] part of check-in [2f8792bc1d] Merge trunk into branch "amiga-library" (check-in: [2f8792bc1d] user: js, branch: amiga-library, size: 15297) [annotate] [blame] [check-ins using] [diff]
14:51
[a23c24d38e] part of check-in [b14e3d5ba6] runtime: Fix recursive call in Amiga linklib (check-in: [b14e3d5ba6] user: js, branch: trunk, size: 14827) [annotate] [blame] [check-ins using] [diff]
2020-10-04
15:00
[4387420fcc] part of check-in [92335940e9] Merge trunk into branch "amiga-library" (check-in: [92335940e9] user: js, branch: amiga-library, size: 15292) [annotate] [blame] [check-ins using] [diff]
2020-09-29
22:21
[f6ecf9cc72] part of check-in [2fee820b5d] 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. (check-in: [2fee820b5d] user: js, branch: trunk, size: 14822) [annotate] [blame] [check-ins using] [diff]

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

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

16:34
[67c7f14c6b] part of check-in [514944f1ea] Pass __sF around instead of std* individually

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

2020-03-08
13:49
[141357802d] part of check-in [c12ca9484e] runtime/linklib: __attribute__((used)) for [cd]tor

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

2020-01-25
20:04
[570378ad75] part of check-in [49aee5736e] 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. (check-in: [49aee5736e] user: js, branch: trunk, size: 14186) [annotate] [blame] [check-ins using] [diff]

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

2019-06-27
21:27
[1e64ea6ef5] part of check-in [651b363221] runtime/linklib: Fix editing via macro gone wrong (check-in: [651b363221] user: js, branch: trunk, size: 12101) [annotate] [blame] [check-ins using] [diff]
19:24
[fd0b2b3bf0] part of check-in [7138892706] runtime: Switch MorphOS library to SysV ABI (check-in: [7138892706] user: js, branch: trunk, size: 12114) [annotate] [blame] [check-ins using] [diff]
2019-06-26
19:25
[1429bcc593] part of check-in [153b825cdb] 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. (check-in: [153b825cdb] user: js, branch: trunk, size: 18140) [annotate] [blame] [check-ins using] [diff]

2019-06-17
00:38
[8e395bc89c] part of check-in [79fe29dbf4] Remove underscores from library & framework names

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

2019-05-19
21:30
[5fd34ee158] part of check-in [8f9c2b55ce] Use cvinclude.pl instead of sfdc for MorphOS

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

2019-05-05
22:22
[e8efb8926f] part of check-in [77945f04a6] runtime/linklib: Fix compilation on MorphOS (check-in: [77945f04a6] user: js, branch: trunk, size: 11808) [annotate] [blame] [check-ins using] [diff]
19:28
[824a5b579c] part of check-in [1e70711672] 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. (check-in: [1e70711672] user: js, branch: trunk, size: 11703) [annotate] [blame] [check-ins using] [diff]

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

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

2019-02-07
21:31
[964c1adbfe] part of check-in [754bf24742] More style improvements (check-in: [754bf24742] user: js, branch: trunk, size: 10402) [annotate] [blame] [check-ins using] [diff]
00:46
[f03a29b448] part of check-in [ef6d69931e] 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. (check-in: [ef6d69931e] user: js, branch: trunk, size: 10350) [annotate] [blame] [check-ins using] [diff]

2019-01-03
19:13
[dd93d6e841] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 10022) [annotate] [blame] [check-ins using] [diff]
2018-06-03
23:08
[b705064e93] part of check-in [a37a78d51b] 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(). (check-in: [a37a78d51b] user: js, branch: trunk, size: 10016) [annotate] [blame] [check-ins using] [diff]

2018-05-26
15:18
[715e972f4a] part of check-in [57f0d10b19] 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. (check-in: [57f0d10b19] user: js, branch: trunk, size: 10032) [annotate] [blame] [check-ins using] [diff]

14:49
[127b4c9eeb] part of check-in [b31bd48f90] Remove #define INTUITION_CLASSES_H hack

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

2018-05-20
10:30
[7206ddd280] part of check-in [46a4547451] runtime/linklib: Fix a typo

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

2018-05-13
20:06
[40fc377fab] part of check-in [3afa373424] 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. (check-in: [3afa373424] user: js, branch: trunk, size: 9817) [annotate] [blame] [check-ins using] [diff]

19:24
[5386d2b724] part of check-in [5831626f68] platform.h: Rename OF_AMIGAOS3 to OF_AMIGAOS_M68K

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

02:09
[a24ad9446a] part of check-in [95e1ba8d63] runtime: Port Amiga library to MorphOS (check-in: [95e1ba8d63] user: js, branch: trunk, size: 9771) [annotate] [blame] [check-ins using] [diff]
2018-05-11
19:42
[d9e16b337b] part of check-in [c5c95f9fe2] runtime: Let objc_init() take a version number (check-in: [c5c95f9fe2] user: js, branch: trunk, size: 6102) [annotate] [blame] [check-ins using] [diff]
2018-05-06
21:39
[6215304d3d] part of check-in [482698c5be] 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. (check-in: [482698c5be] user: js, branch: trunk, size: 6014) [annotate] [blame] [check-ins using] [diff]

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

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

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