Comment: | Merge trunk into 1.1 branch |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | 1.1 |
Files: | files | file ages | folders |
SHA3-256: |
a7e9fd87f951575e7f491bb4dc987d83 |
User & Date: | js on 2024-04-20 17:42:04 |
Other Links: | branch diff | manifest | tags |
2024-04-20
| ||
17:50 | Update ChangeLog for 1.1.2 check-in: b3bd14dc06 user: js tags: 1.1 | |
17:42 | Merge trunk into 1.1 branch check-in: a7e9fd87f9 user: js tags: 1.1 | |
14:58 | forwarding: Remove now unnecessary instructions check-in: d9b2f95c24 user: js tags: trunk | |
2024-04-14
| ||
17:46 | Set version to 1.1.1 check-in: 148f7f4c6b user: js tags: 1.1, 1.1.1-release | |
Modified configure.ac from [5d6f545816] to [ea2a7afe54].
︙ | ︙ | |||
148 149 150 151 152 153 154 155 156 157 158 159 160 161 | *) potential_compilers="clang egcc gcc" ;; esac AC_PROG_OBJC($potential_compilers) AC_PROG_OBJCPP AC_PROG_EGREP AC_PROG_LN_S BUILDSYS_CHECK_IOS AC_ARG_WITH(wii, AS_HELP_STRING([--with-wii], [build for Wii])) AS_IF([test x"$with_wii" = x"yes"], [ | > | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | *) potential_compilers="clang egcc gcc" ;; esac AC_PROG_OBJC($potential_compilers) AC_PROG_OBJCPP AC_PROG_EGREP AC_PROG_SED AC_PROG_LN_S BUILDSYS_CHECK_IOS AC_ARG_WITH(wii, AS_HELP_STRING([--with-wii], [build for Wii])) AS_IF([test x"$with_wii" = x"yes"], [ |
︙ | ︙ | |||
593 594 595 596 597 598 599 | @try { foo(); } @finally { foo(); } ]) ], [ | | | | | 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 | @try { foo(); } @finally { foo(); } ]) ], [ AS_IF([$SED 's/[[^[:print:]]]//g' <conftest.$ac_objext | \ $EGREP __gnu_objc_personality_v0 >/dev/null], [ exception_type="DWARF" ]) AS_IF([$SED 's/[[^[:print:]]]//g' <conftest.$ac_objext | \ $EGREP __gnu_objc_personality_sj0 >/dev/null], [ exception_type="SjLj" ]) AS_IF([$SED 's/[[^[:print:]]]//g' <conftest.$ac_objext | \ $EGREP __gnu_objc_personality_seh0 >/dev/null], [ exception_type="SEH" ]) case "$exception_type" in DWARF) AC_DEFINE(HAVE_DWARF_EXCEPTIONS, 1, |
︙ | ︙ | |||
813 814 815 816 817 818 819 | fp_endianess="unknown" AS_IF([test x"$ac_cv_c_bigendian" != x"universal"], [ AC_COMPILE_IFELSE([ AC_LANG_SOURCE([ double endianess = 2.993700760838795055656993580068609688772747263874402942272934826871811872228512759832626847251963763755836687759498519784550143745834860002945223766052808125982053455555265216112722718870586961456110693379343178124592311441022662940307099598578775368547768968914916965731708568179631324904813506101190853720749196062963892799499230635163056742330563321122389331703618066046034494287335316842529021563862331183541255013987734473643350285400060357711238514186776429325214739886098119655678483017894951556639821088508565036657794343031121375178126860889964700274558728491825977274341798997758923017217660272136611938897932105874133412726223468780517578125e-259; ]) ], [ | | | | | 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 | fp_endianess="unknown" AS_IF([test x"$ac_cv_c_bigendian" != x"universal"], [ AC_COMPILE_IFELSE([ AC_LANG_SOURCE([ double endianess = 2.993700760838795055656993580068609688772747263874402942272934826871811872228512759832626847251963763755836687759498519784550143745834860002945223766052808125982053455555265216112722718870586961456110693379343178124592311441022662940307099598578775368547768968914916965731708568179631324904813506101190853720749196062963892799499230635163056742330563321122389331703618066046034494287335316842529021563862331183541255013987734473643350285400060357711238514186776429325214739886098119655678483017894951556639821088508565036657794343031121375178126860889964700274558728491825977274341798997758923017217660272136611938897932105874133412726223468780517578125e-259; ]) ], [ AS_IF([$SED 's/[[^[:print:]]]//g' <conftest.$ac_objext | \ $EGREP BigEnd >/dev/null], [ AC_DEFINE(OF_FLOAT_BIG_ENDIAN, 1, [Whether floats are big endian]) fp_endianess="big endian" ], [ AS_IF([$SED 's/[[^[:print:]]]//g' \ <conftest.$ac_objext | $EGREP dnEgiB >/dev/null], [ fp_endianess="little endian" ]) ]) ]) ], [ fp_endianess="universal" ]) |
︙ | ︙ | |||
1278 1279 1280 1281 1282 1283 1284 | AC_CHECK_FUNC(symlink, [ AC_DEFINE(OF_HAVE_SYMLINK, 1, [Whether we have symlink()]) ]) AC_CHECK_FUNCS([lstat]) AC_CHECK_MEMBERS([struct stat.st_birthtime], [], [], [ #include <sys/stat.h> ]) | < < < < < < < < < < < < < < < < < < < < | 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 | AC_CHECK_FUNC(symlink, [ AC_DEFINE(OF_HAVE_SYMLINK, 1, [Whether we have symlink()]) ]) AC_CHECK_FUNCS([lstat]) AC_CHECK_MEMBERS([struct stat.st_birthtime], [], [], [ #include <sys/stat.h> ]) ]) AC_CHECK_HEADERS(dirent.h) AC_CHECK_FUNCS([sysconf gmtime_r localtime_r]) case "$host_os" in amigaos* | morphos*) |
︙ | ︙ |
Modified src/OFFileIRIHandler.m from [f8ff31676a] to [d9639e50f4].
︙ | ︙ | |||
136 137 138 139 140 141 142 | static void releasePasswdMutex(void) { [passwdMutex release]; } #endif | | | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | static void releasePasswdMutex(void) { [passwdMutex release]; } #endif #if defined(OF_HAVE_THREADS) && !defined(__GLIBC__) && !defined(OF_WINDOWS) static OFMutex *readdirMutex; static void releaseReaddirMutex(void) { [readdirMutex release]; } |
︙ | ︙ | |||
771 772 773 774 775 776 777 | if (self != [OFFileIRIHandler class]) return; #if defined(OF_FILE_MANAGER_SUPPORTS_OWNER) && defined(OF_HAVE_THREADS) passwdMutex = [[OFMutex alloc] init]; atexit(releasePasswdMutex); #endif | | | 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 | if (self != [OFFileIRIHandler class]) return; #if defined(OF_FILE_MANAGER_SUPPORTS_OWNER) && defined(OF_HAVE_THREADS) passwdMutex = [[OFMutex alloc] init]; atexit(releasePasswdMutex); #endif #if defined(OF_HAVE_THREADS) && !defined(__GLIBC__) && !defined(OF_WINDOWS) readdirMutex = [[OFMutex alloc] init]; atexit(releaseReaddirMutex); #endif #ifdef OF_WINDOWS if ((module = GetModuleHandle("msvcrt.dll")) != NULL) _wutime64FuncPtr = (int (*)(const wchar_t *, |
︙ | ︙ | |||
1418 1419 1420 1421 1422 1423 1424 | OFStringEncoding encoding = [OFLocale encoding]; DIR *dir; if ((dir = opendir([path cStringWithEncoding: encoding])) == NULL) @throw [OFOpenItemFailedException exceptionWithIRI: IRI mode: nil errNo: errno]; | | < < < < < < < < < < < < < < | | 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 | OFStringEncoding encoding = [OFLocale encoding]; DIR *dir; if ((dir = opendir([path cStringWithEncoding: encoding])) == NULL) @throw [OFOpenItemFailedException exceptionWithIRI: IRI mode: nil errNo: errno]; # if defined(OF_HAVE_THREADS) && !defined(__GLIBC__) @try { [readdirMutex lock]; } @catch (id e) { closedir(dir); @throw e; } # endif @try { for (;;) { struct dirent *dirent; OFString *file; errno = 0; if ((dirent = readdir(dir)) == NULL) { if (errno == 0) break; else @throw [OFReadFailedException exceptionWithObject: self requestedLength: 0 errNo: errno]; } if (strcmp(dirent->d_name, ".") == 0 || strcmp(dirent->d_name, "..") == 0) continue; file = [[OFString alloc] initWithCString: dirent->d_name encoding: encoding]; @try { [IRIs addObject: [IRI IRIByAppendingPathComponent: file]]; } @finally { [file release]; } } } @finally { closedir(dir); # if defined(OF_HAVE_THREADS) && !defined(__GLIBC__) [readdirMutex unlock]; # endif } #endif [IRIs makeImmutable]; |
︙ | ︙ | |||
1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 | @throw [OFSetItemAttributesFailedException exceptionWithIRI: IRI attributes: [OFDictionary dictionary] failedAttribute: @"" errNo: errNo]; } # elif defined(OF_HAIKU) int fd; if ((fd = open(cPath, O_WRONLY)) == -1) { int errNo = errno; /* TODO: Add an attribute (prefix?) for extended attributes? */ @throw [OFSetItemAttributesFailedException | > | 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 | @throw [OFSetItemAttributesFailedException exceptionWithIRI: IRI attributes: [OFDictionary dictionary] failedAttribute: @"" errNo: errNo]; } # elif defined(OF_HAIKU) const char *cName = [name cStringWithEncoding: encoding]; int fd; if ((fd = open(cPath, O_WRONLY)) == -1) { int errNo = errno; /* TODO: Add an attribute (prefix?) for extended attributes? */ @throw [OFSetItemAttributesFailedException |
︙ | ︙ |
Modified src/forwarding/apple-forwarding-arm64.S from [2d0bee101c] to [35dbd1e27e].
︙ | ︙ | |||
38 39 40 41 42 43 44 | .align 2 _OFForward: _OFForward_stret: #ifdef HAVE_BTI bti c #endif | | < | | | | | | | | | | | | | | | | | | | | < | < | | < | < | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | .align 2 _OFForward: _OFForward_stret: #ifdef HAVE_BTI bti c #endif stp fp, lr, [sp, #-224]! mov fp, sp /* Save all arguments, x8 and x19 */ stp x0, x1, [sp, #16] stp x2, x3, [sp, #32] stp x4, x5, [sp, #48] stp x6, x7, [sp, #64] stp x8, x19, [sp, #80] /* Save all foating point arguments */ stp q0, q1, [sp, #96] stp q2, q3, [sp, #128] stp q4, q5, [sp, #160] stp q6, q7, [sp, #192] bl _object_getClass adrp x19, Lsel_forwardingTargetForSelector_@PAGE add x19, x19, Lsel_forwardingTargetForSelector_@PAGEOFF ldr x19, [x19] mov x1, x19 bl _class_respondsToSelector cbz x0, 0f ldp x0, x2, [sp, #16] mov x1, x19 bl _objc_msgSend cbz x0, 0f ldr x1, [sp, #16] cmp x0, x1 b.eq 0f /* Restore all arguments, x8 and x19, but not x0 */ ldr x1, [sp, #24] ldp x2, x3, [sp, #32] ldp x4, x5, [sp, #48] ldp x6, x7, [sp, #64] ldp x8, x19, [sp, #80] /* Restore all foating point arguments */ ldp q0, q1, [sp, #96] ldp q2, q3, [sp, #128] ldp q4, q5, [sp, #160] ldp q6, q7, [sp, #192] ldp fp, lr, [sp], #224 b _objc_msgSend 0: ldp x0, x1, [sp, #16] ldr x19, [sp, #88] ldp fp, lr, [sp], #224 b _OFMethodNotFound |
Modified src/forwarding/forwarding-arm64-elf.S from [8f1d6be95f] to [8e71cd30e4].
︙ | ︙ | |||
27 28 29 30 31 32 33 | .section .text OFForward: OFForward_stret: #ifdef HAVE_BTI bti c #endif | | < | | | | | | | | | | | | | | | | | | | | | | < | < | | < | < | 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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | .section .text OFForward: OFForward_stret: #ifdef HAVE_BTI bti c #endif stp fp, lr, [sp, #-224]! mov fp, sp /* Save all arguments, x8 and x19 */ stp x0, x1, [sp, #16] stp x2, x3, [sp, #32] stp x4, x5, [sp, #48] stp x6, x7, [sp, #64] stp x8, x19, [sp, #80] /* Save all foating point arguments */ stp q0, q1, [sp, #96] stp q2, q3, [sp, #128] stp q4, q5, [sp, #160] stp q6, q7, [sp, #192] bl object_getClass adrp x19, .Lsel_forwardingTargetForSelector_ add x19, x19, :lo12:.Lsel_forwardingTargetForSelector_ mov x1, x19 bl class_respondsToSelector cbz x0, 0f ldr x0, [sp, #16] mov x1, x19 bl objc_msg_lookup mov x1, x19 mov x19, x0 ldp x0, x2, [sp, #16] blr x19 cbz x0, 0f ldr x1, [sp, #16] cmp x0, x1 b.eq 0f mov x19, x0 ldr x1, [sp, #24] bl objc_msg_lookup mov x16, x0 mov x0, x19 /* Restore all arguments, x8 and x19, but not x0 */ ldr x1, [sp, #24] ldp x2, x3, [sp, #32] ldp x4, x5, [sp, #48] ldp x6, x7, [sp, #64] ldp x8, x19, [sp, #80] /* Restore all foating point arguments */ ldp q0, q1, [sp, #96] ldp q2, q3, [sp, #128] ldp q4, q5, [sp, #160] ldp q6, q7, [sp, #192] ldp fp, lr, [sp], #224 br x16 0: ldp x0, x1, [sp, #16] ldr x19, [sp, #88] ldp fp, lr, [sp], #224 b OFMethodNotFound .type OFForward, %function .size OFForward, .-OFForward .type OFForward_stret, %function .size OFForward_stret, .-OFForward_stret .Linit: |
︙ | ︙ |
Modified src/platform/POSIX/OFSystemInfo+NetworkInterfaces.m from [d737a52428] to [d2c08c8ec3].
︙ | ︙ | |||
632 633 634 635 636 637 638 | [[ret objectForKey: name] setObject: hardwareAddress forKey: OFNetworkInterfaceHardwareAddress]; } return true; #elif defined(HAVE_IOCTL) && defined(HAVE_NET_IF_H) && \ | | | 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 | [[ret objectForKey: name] setObject: hardwareAddress forKey: OFNetworkInterfaceHardwareAddress]; } return true; #elif defined(HAVE_IOCTL) && defined(HAVE_NET_IF_H) && \ defined(HAVE_STRUCT_SOCKADDR_DL) && defined(IFT_ETHER) OFStringEncoding encoding = [OFLocale encoding]; int sock = socket(AF_INET, SOCK_DGRAM, 0); struct ifconf ifc; struct ifreq *ifrs; if (sock < 0) return false; |
︙ | ︙ |
Modified src/runtime/lookup-asm/lookup-asm-amd64-elf.S from [033d996c97] to [cc9692563a].
︙ | ︙ | |||
100 101 102 103 104 105 106 107 108 109 110 111 112 | GENERATE_LOOKUP_SUPER objc_msg_lookup_super_stret objc_msg_lookup_stret .LreturnNilMethod: leaq .LnilMethod(%rip), %rax ret .LnilMethod: xorq %rax, %rax ret #if defined(OF_LINUX) || defined(OF_HAIKU) || defined(OF_HURD) .section .note.GNU-stack, "", %progbits #endif | > > | 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | GENERATE_LOOKUP_SUPER objc_msg_lookup_super_stret objc_msg_lookup_stret .LreturnNilMethod: leaq .LnilMethod(%rip), %rax ret .LnilMethod: _CET_ENDBR xorq %rax, %rax ret #if defined(OF_LINUX) || defined(OF_HAIKU) || defined(OF_HURD) .section .note.GNU-stack, "", %progbits #endif |
Modified src/runtime/lookup-asm/lookup-asm-amd64-macho.S from [51edf39f7d] to [c59284e5c0].
︙ | ︙ | |||
94 95 96 97 98 99 100 101 102 | GENERATE_LOOKUP_SUPER _objc_msg_lookup_super_stret, _objc_msg_lookup_stret LreturnNilMethod: leaq LnilMethod(%rip), %rax ret LnilMethod: xorq %rax, %rax ret | > > | 94 95 96 97 98 99 100 101 102 103 104 | GENERATE_LOOKUP_SUPER _objc_msg_lookup_super_stret, _objc_msg_lookup_stret LreturnNilMethod: leaq LnilMethod(%rip), %rax ret LnilMethod: _CET_ENDBR xorq %rax, %rax ret |
Modified src/runtime/lookup-asm/lookup-asm-amd64-win64.S from [c8a0addc63] to [09a5df3763].
︙ | ︙ | |||
109 110 111 112 113 114 115 116 117 | GENERATE_LOOKUP_SUPER objc_msg_lookup_super_stret objc_msg_lookup_stret .LreturnNilMethod: leaq .LnilMethod(%rip), %rax ret .LnilMethod: xorq %rax, %rax ret | > > | 109 110 111 112 113 114 115 116 117 118 119 | GENERATE_LOOKUP_SUPER objc_msg_lookup_super_stret objc_msg_lookup_stret .LreturnNilMethod: leaq .LnilMethod(%rip), %rax ret .LnilMethod: _CET_ENDBR xorq %rax, %rax ret |
Modified src/runtime/lookup-asm/lookup-asm-arm64-elf.S from [877bf104e6] to [8493d6b132].
︙ | ︙ | |||
31 32 33 34 35 36 37 | \name: #ifdef HAVE_BTI bti c #endif cbz x0, .LreturnNilMethod | < | | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | \name: #ifdef HAVE_BTI bti c #endif cbz x0, .LreturnNilMethod tbnz x0, #0, .LtaggedPointer_\name ldr x2, [x0] ldr x2, [x2, #64] .Lmain_\name: #ifdef OF_SELUID24 ldrb w3, [x1, #2] |
︙ | ︙ | |||
98 99 100 101 102 103 104 105 106 107 108 109 110 | GENERATE_LOOKUP_SUPER objc_msg_lookup_super_stret objc_msg_lookup_stret .LreturnNilMethod: adr x0, .LnilMethod ret .LnilMethod: mov x0, #0 ret #if defined(OF_LINUX) || defined(OF_HAIKU) || defined(OF_HURD) .section .note.GNU-stack, "", %progbits #endif | > > > > | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | GENERATE_LOOKUP_SUPER objc_msg_lookup_super_stret objc_msg_lookup_stret .LreturnNilMethod: adr x0, .LnilMethod ret .LnilMethod: #ifdef HAVE_BTI bti c #endif mov x0, #0 ret #if defined(OF_LINUX) || defined(OF_HAIKU) || defined(OF_HURD) .section .note.GNU-stack, "", %progbits #endif |
Modified src/runtime/lookup-asm/lookup-asm-x86-elf.S from [e9fa2b2c4a] to [51eaca73d3].
︙ | ︙ | |||
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | .LreturnNilMethod: call .LgetEIP addl $_GLOBAL_OFFSET_TABLE_, %eax leal .LnilMethod@GOTOFF(%eax), %eax ret .LnilMethod: xorl %eax, %eax ret .LgetEIP: movl (%esp), %eax ret #if defined(OF_LINUX) || defined(OF_HAIKU) || defined(OF_HURD) .section .note.GNU-stack, "", %progbits #endif | > > | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | .LreturnNilMethod: call .LgetEIP addl $_GLOBAL_OFFSET_TABLE_, %eax leal .LnilMethod@GOTOFF(%eax), %eax ret .LnilMethod: _CET_ENDBR xorl %eax, %eax ret .LgetEIP: movl (%esp), %eax ret #if defined(OF_LINUX) || defined(OF_HAIKU) || defined(OF_HURD) .section .note.GNU-stack, "", %progbits #endif |
Modified src/runtime/lookup-asm/lookup-asm-x86-win32.S from [5c8f780d66] to [60ea15786d].
︙ | ︙ | |||
102 103 104 105 106 107 108 109 110 | GENERATE_LOOKUP_SUPER _objc_msg_lookup_super_stret _objc_msg_lookup_stret .LreturnNilMethod: movl $.LnilMethod, %eax ret .LnilMethod: xorl %eax, %eax ret | > > | 102 103 104 105 106 107 108 109 110 111 112 | GENERATE_LOOKUP_SUPER _objc_msg_lookup_super_stret _objc_msg_lookup_stret .LreturnNilMethod: movl $.LnilMethod, %eax ret .LnilMethod: _CET_ENDBR xorl %eax, %eax ret |