@@ -176,6 +176,7 @@ reset_patch_targets() {
176176 Tools/plutil.m \
177177 Tools/sfparse.m \
178178 Tools/xmlparse.m \
179+ Source/GSArray.m \
179180 Source/GSString.m \
180181 Source/NSArray.m \
181182 Source/GSDictionary.m \
@@ -307,6 +308,15 @@ patch_nsarray_cached_imp_for_darwin_gcc() {
307308 perl -0pi -e ' s/IMP(\s+)add(\s*=\s*\[self\s+methodForSelector:\s*addSel\];)/void (*add)(id, SEL, id)$2/g' " $array "
308309}
309310
311+ patch_gsarray_cached_imp_for_darwin_gcc () {
312+ local array=" $SRCROOT /libs-base/Source/GSArray.m"
313+ if [[ ! -f " $array " ]]; then
314+ return
315+ fi
316+
317+ perl -0pi -e ' s/IMP(\s+)get1(\s*=\s*\[otherArray\s+methodForSelector:\s*oaiSel\];)/id (*get1)(id, SEL, NSUInteger)$2/g' " $array "
318+ }
319+
310320patch_gsdictionary_cached_imp_for_darwin_gcc () {
311321 local dict=" $SRCROOT /libs-base/Source/GSDictionary.m"
312322 if [[ ! -f " $dict " ]]; then
@@ -378,6 +388,11 @@ patch_nsserializer_cached_imp_for_darwin_gcc() {
378388
379389 perl -0pi -e ' s/IMP(\s+)nxtImp;/id (*nxtImp)(id, SEL);/g' " $serializer "
380390 perl -0pi -e ' s/IMP(\s+)objImp;/id (*objImp)(id, SEL, id);/g' " $serializer "
391+ perl -0pi -e ' s/static IMP dInitImp;/static id (*dInitImp)(id, SEL, void *, NSUInteger);/g' " $serializer "
392+ perl -0pi -e ' s/static IMP maInitImp;/static id (*maInitImp)(id, SEL, NSUInteger);/g' " $serializer "
393+ perl -0pi -e ' s/static IMP mdInitImp;/static id (*mdInitImp)(id, SEL, NSUInteger);/g' " $serializer "
394+ perl -0pi -e ' s/static IMP maAddImp;/static void (*maAddImp)(id, SEL, id);/g' " $serializer "
395+ perl -0pi -e ' s/static IMP mdSetImp;/static void (*mdSetImp)(id, SEL, id, id);/g' " $serializer "
381396}
382397
383398# patch_nsobject_for_gnu_runtime
@@ -600,6 +615,7 @@ patch_libs_base_for_darwin_gcc
600615patch_gdomap_for_modern_sdk
601616patch_small_objects_for_gnu_runtime
602617patch_nsarray_cached_imp_for_darwin_gcc
618+ patch_gsarray_cached_imp_for_darwin_gcc
603619patch_gsdictionary_cached_imp_for_darwin_gcc
604620patch_nsdictionary_cached_imp_for_darwin_gcc
605621patch_nsuserdefaults_cached_imp_for_darwin_gcc
0 commit comments