Comment: | Pass __sF around instead of std* individually
This avoids needing to #undef std{in,out,err} and then providing a new |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | amiga-library |
Files: | files | file ages | folders |
SHA3-256: |
514944f1eaa1845a4da0e51c779c98b5 |
User & Date: | js on 2020-06-07 16:34:48 |
Other Links: | branch diff | manifest | tags |
2020-06-07
| ||
16:53 | Add __(de)register_frame_info to amiga-library.m check-in: 45a8b2333d user: js tags: amiga-library | |
16:34 | Pass __sF around instead of std* individually check-in: 514944f1ea user: js tags: amiga-library | |
16:03 | Add libc symbols needed by the runtime to of_libc check-in: f822adb905 user: js tags: amiga-library | |
Modified src/amiga-glue.m from [2619f44789] to [c28d6d3ae5].
︙ | |||
36 37 38 39 40 41 42 | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | - + - - + - + | "__restore_r13:\n" " lwz %r13, 44(%r12)\n" " blr\n" ); #endif bool __saveds |
Modified src/amiga-library.h from [e0b880f183] to [5676e5d650].
︙ | |||
14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | + + + + + + + + + | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "macros.h" #if defined(OF_COMPILING_AMIGA_LIBRARY) || defined(OF_COMPILING_AMIGA_LINKLIB) # if defined(__MORPHOS__) # include <ppcinline/macros.h> # define OF_M68K_ARG(type, name, reg) type name = (type)REG_##reg; # else # define OF_M68K_ARG(type, name, reg) \ register type reg_##name __asm__(#reg); \ type name = reg_##name; # endif struct of_libc { /* * Needed by the runtime. Some of them are also used by ObjFW, but we * need all of them to pass them along to the runtime. */ void *_Nullable (*_Nonnull malloc)(size_t); void *_Nullable (*_Nonnull calloc)(size_t, size_t); |
︙ | |||
59 60 61 62 63 64 65 | 68 69 70 71 72 73 74 75 76 | - + | /* Needed only by ObjFW. */ int (*_Nonnull vsnprintf)(const char *_Nonnull restrict, size_t, const char *_Nonnull restrict, va_list); void (*_Nonnull exit)(int); char *_Nullable (*_Nonnull setlocale)(int, const char *_Nullable); }; |
Modified src/amiga-library.m from [f07efda97e] to [1f4ef323c1].
︙ | |||
73 74 75 76 77 78 79 | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | - + | #endif #ifdef OF_MORPHOS const ULONG __abox__ = 1; #endif struct ExecBase *SysBase; struct of_libc libc; |
︙ | |||
312 313 314 315 316 317 318 | 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 | - + - + | static void * lib_null(void) { return NULL; } bool |
︙ |
Modified src/macros.h from [af30b6d7a6] to [b900515d8a].
︙ | |||
305 306 307 308 309 310 311 | 305 306 307 308 309 310 311 312 313 314 315 316 317 318 | - - - - - - - - - - - - - | #if __has_attribute(__swift_name__) # define OF_SWIFT_NAME(name) __attribute__((__swift_name__(name))) #else # define OF_SWIFT_NAME(name) #endif |
︙ |
Modified src/runtime/amiga-glue.m from [5dde941d59] to [89c63cbc77].
︙ | |||
25 26 27 28 29 30 31 | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | - + - + - + - - + | # define PPC_PARAMS(...) (void) # define M68K_ARG OBJC_M68K_ARG #else # define PPC_PARAMS(...) (__VA_ARGS__) # define M68K_ARG(...) #endif |
︙ |
Modified src/runtime/amiga-library.m from [6c73132350] to [750189a19b].
︙ | |||
149 150 151 152 153 154 155 | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | - + | extern void glue_objc_hashtable_free(void); #ifdef OF_MORPHOS const ULONG __abox__ = 1; #endif struct ExecBase *SysBase; struct objc_libc libc; |
︙ | |||
389 390 391 392 393 394 395 | 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 | - + - - + - | static void * lib_null(void) { return NULL; } bool |
︙ |
Modified src/runtime/amigaos3.sfd from [c645261c7f] to [d4b8997270].
1 2 3 4 5 6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | - + | ==base _ObjFWRTBase ==basetype struct Library * ==libname objfwrt68k.library ==bias 30 ==public * The following function is only for the linklib. |
︙ |
Modified src/runtime/linklib/linklib.m from [141357802d] to [67c7f14c6b].
︙ | |||
104 105 106 107 108 109 110 | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | - + | if ((ObjFWRTBase = OpenLibrary(OBJFWRT_AMIGA_LIB, OBJFWRT_LIB_MINOR)) == NULL) { fputs("Failed to open " OBJFWRT_AMIGA_LIB "!\n", stderr); abort(); } |
︙ |
Modified src/runtime/morphos-clib.h from [cfb2b6af7e] to [c2334d45c6].
1 | 1 2 3 4 5 6 7 8 9 | - + | /* The following function is only for the linklib. */ |
︙ |
Modified src/runtime/morphos.fd from [f7d065769a] to [6e244cb701].
1 2 3 4 | 1 2 3 4 5 6 7 8 9 10 11 12 | - + | ##base _ObjFWRTBase ##bias 30 ##public * The following function is only for the linklib. |
︙ |
Modified src/runtime/private.h from [a7c4eb8f4b] to [5d82a9b9bc].
︙ | |||
261 262 263 264 265 266 267 | 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | - - - | # include <ppcinline/macros.h> # define OBJC_M68K_ARG(type, name, reg) type name = (type)REG_##reg; # else # define OBJC_M68K_ARG(type, name, reg) \ register type reg_##name __asm__(#reg); \ type name = reg_##name; # endif |
︙ |