Differences From Artifact [f07efda97e]:
- File src/amiga-library.m — part of check-in [f822adb905] at 2020-06-07 16:03:16 on branch amiga-library — Add libc symbols needed by the runtime to of_libc (user: js, size: 11042) [annotate] [blame] [check-ins using]
To Artifact [1f4ef323c1]:
- File
src/amiga-library.m
— part of check-in
[514944f1ea]
at
2020-06-07 16:34:48
on branch amiga-library
— Pass __sF around instead of std* individually
This avoids needing to #undef std{in,out,err} and then providing a new
symbol. (user: js, size: 11030) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
73 74 75 76 77 78 79 | #endif #ifdef OF_MORPHOS const ULONG __abox__ = 1; #endif struct ExecBase *SysBase; struct of_libc libc; | | | 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; FILE **__sF; #if defined(OF_AMIGAOS_M68K) __asm__ ( ".text\n" ".globl ___restore_a4\n" ".align 1\n" "___restore_a4:\n" |
︙ | ︙ | |||
312 313 314 315 316 317 318 | static void * lib_null(void) { return NULL; } bool | | | | 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 of_init(unsigned int version, struct of_libc *libc_, FILE **sF) { #ifdef OF_AMIGAOS_M68K OF_M68K_ARG(struct ObjFWBase *, base, a6) #else register struct ObjFWBase *r12 __asm__("r12"); struct ObjFWBase *base = r12; #endif uintptr_t *iter, *iter0; if (version > 1) return false; if (base->initialized) return true; memcpy(&libc, libc_, sizeof(libc)); __sF = sF; #ifdef OF_AMIGAOS_M68K if ((size_t)_EH_FRAME_BEGINS__ != (size_t)_EH_FRAME_OBJECTS__) return false; for (size_t i = 1; i <= (size_t)_EH_FRAME_BEGINS__; i++) libc.__register_frame_info((&_EH_FRAME_BEGINS__)[i], |
︙ | ︙ |