Thread overview
please help with me to cherry-pick LDC IOS arch and target support.
Oct 19, 2019
Newbie2019
Oct 20, 2019
Rainer Schuetze
Oct 21, 2019
Newbie2019
October 19, 2019
https://github.com/ldc-developers/ldc/issues/1081

Is any one can suggestion the working step?

the ldc source code change too much, I dont know how to fix all this errors.

here is a commit list by Dan Olson from https://github.com/smolt/ldc/commits/ios:

a0201e4c - Dan Olson - 2017-01-22 08:45:28 -0800 - Update phobos submodule
1df9b441 - Dan Olson - 2017-01-22 08:35:18 -0800 - Disable  fake bitcode generation
d7dbcd48 - Dan Olson - 2017-01-22 08:32:32 -0800 - Support cmake 3.7.1
ef9ba25c - Dan Olson - 2017-01-22 08:22:41 -0800 - Make iOS arm abi use byval alignment
73d96121 - Dan Olson - 2017-01-21 18:12:50 -0800 - Fix iOS arm abi
4c8053fc - Dan Olson - 2017-01-21 15:08:49 -0800 - Fix iOS arm64 abi, remove byval attribute use
deb3847f - Dan Olson - 2016-04-19 05:16:38 +0000 - ARM AAPCS: struct rewrite with 8-byte alignment
7b7d9adb - Dan Olson - 2016-04-17 10:45:36 -0700 - dmd-testsuite with ARM happy constfold
ae99d9c7 - Dan Olson - 2016-03-07 16:59:13 +0000 - Support ARM AAPCS style va_list for C++ mangling
7cba1a45 - Dan Olson - 2016-02-25 19:52:23 +0000 - Fix non-x86 __traits compiles for dmd inline asm
51074b0c - Dan Olson - 2016-02-25 19:29:14 +0000 - Zero extend char and wchar
ad1bb14b - Dan Olson - 2016-02-25 19:17:02 +0000 - ARM: Re-reverse parameter order for extern(D)
9751f3f2 - Dan Olson - 2016-02-25 19:11:41 +0000 - ARM: Use byval attr for types > 64-bytes
13cef8a9 - Dan Olson - 2016-02-06 01:22:01 -0800 - Override LLVM default relocation model for ARM
b9b4564d - Dan Olson - 2016-02-05 09:04:09 -0800 - Implement ARM AAPCS ABI
0b63c58a - Dan Olson - 2016-01-20 22:22:47 -0800 - cmake: Detect if llvm assertions enabled
f4125943 - Dan Olson - 2016-01-17 12:26:02 -0800 - Update druntime with ldc-developers/druntime#53
963a5f4c - Dan Olson - 2016-01-09 13:57:10 -0800 - Create empty embedded bitcode sections
818d760f - Dan Olson - 2016-01-06 21:06:30 -0800 - Update druntime with ldc-developers/druntime#51
14c06436 - Dan Olson - 2015-12-23 12:46:35 -0800 - Re-enable core.internal.convert unit tests
a77354b3 - Dan Olson - 2015-12-20 23:53:55 -0800 - Update phobos submodule
5db1db9c - Dan Olson - 2015-12-20 23:34:29 -0800 - Update druntime submodule
68ebcbbb - Dan Olson - 2015-12-20 17:33:13 -0800 - WIP - WatchOS exceptions need frame pointer
153a6232 - Dan Olson - 2015-12-20 17:23:37 -0800 - Initial support for TVOS and WatchOS
bb378f7c - Dan Olson - 2015-12-16 00:03:05 -0800 - Define HAVE_UNISTD_H for zlib
dafbfb29 - Dan Olson - 2015-12-02 07:15:51 -0800 - Make versions OSX and iOS exclusive
49ba2910 - Dan Olson - 2015-11-12 10:52:05 -0800 - OS X - default OS to macosx instead of darwin
6df2b997 - Dan Olson - 2015-11-07 22:55:45 -0800 - clang-format iOS changes
f1e18acd - Dan Olson - 2015-11-07 16:59:59 -0800 - Update phobos submodule with fixed unittests
1d66334b - Dan Olson - 2015-11-03 08:46:37 -0800 - Start using term iOS instead of iPhone OS
3a8e467b - Dan Olson - 2015-10-30 23:02:39 -0700 - Cleanup
f6bc885d - Dan Olson - 2015-10-30 22:38:57 -0700 - iOS arm64 - avoid float vararg promotion
94debcc8 - Dan Olson - 2015-10-21 21:12:16 -0700 - Add versions iOS and Darwin
0826f926 - Dan Olson - 2015-10-21 20:30:54 -0700 - iOS ARM - extern(C) non-POD struct returns
dfae2e09 - Dan Olson - 2015-10-21 19:21:19 -0700 - OS X x86 - extern(C) non-POD struct returns
3182b05a - Dan Olson - 2015-10-04 23:30:07 -0700 - iOS arm64 - complete HFA arg/return value rewrite
9b328d16 - Dan Olson - 2015-09-30 21:26:14 -0700 - iOS arm64 - rewrite HFA arg, rewrite variadic args
2091e237 - Dan Olson - 2015-09-30 21:22:41 -0700 - iOS ARM - also rewrite variadic args
698689e0 - Dan Olson - 2015-09-27 09:38:11 -0700 - iOS arm64 - C ABI struct and HFA rewrites
45f53d1e - Dan Olson - 2015-09-18 09:42:21 -0700 - Update druntime/phobos submodules
5d6acfbc - Dan Olson - 2015-09-15 08:13:43 -0700 - iOS ARM - workaround unaligned load of sarray
d7059476 - Dan Olson - 2015-09-14 09:27:05 -0700 - iOS arm64 - add druntime/phobos support
741bf9be - Dan Olson - 2015-09-14 00:37:34 -0700 - Remove unused method in abi-aarch64
81834cb7 - Dan Olson - 2015-09-14 00:35:27 -0700 - Add missing arg to _d_arraycatnT declaration
3ff30190 - Dan Olson - 2015-09-14 00:31:47 -0700 - Some file reorg of iOS ABI files - part2
fdc11a64 - Dan Olson - 2015-09-14 00:29:55 -0700 - Some file reorg of iOS ABI files
5aa8ccf7 - Dan Olson - 2015-09-14 00:27:06 -0700 - iOS arm64 ABI added
dcb95be0 - Dan Olson - 2015-09-07 12:41:14 -0700 - iOS - Update for callingConv change
0bcb802a - Dan Olson - 2015-09-07 10:07:58 -0700 - OS X x86 ABI - fix struct return
f19b1a95 - Dan Olson - 2015-09-07 10:06:11 -0700 - OS X - Fix MULTILIB test_runner linking
f713ee56 - Dan Olson - 2015-08-29 11:56:00 -0700 - OS X x86 ABI - fix struct return
2488032b - Dan Olson - 2015-07-30 09:50:33 -0700 - iOS ARM - Follow C ABI for passing structs
e6a98c5a - Dan Olson - 2015-07-27 22:15:55 -0700 - iOS ARM - Follow ABI for integer-like struct return
542768cd - Dan Olson - 2015-07-24 23:59:38 -0700 - cmake -DWITH_CURL to include curl modules in phobos
3a90a2c3 - Dan Olson - 2015-07-23 01:05:32 -0700 - Update druntime submodule
549f5d04 - Dan Olson - 2015-07-23 00:30:21 -0700 - Build unittest for each iOS arch, remove curl
8d2982a9 - Dan Olson - 2015-07-20 23:49:35 -0700 - Match new TargetABI callingConv()
1acd6a1c - Dan Olson - 2015-07-19 16:58:20 -0700 - Update druntime/phobos with unittest fixes
30fbaa6d - Dan Olson - 2015-07-16 22:16:36 -0700 - WIP MacOSX - dead_strip experiment
358d9b6e - Dan Olson - 2015-07-16 21:45:37 -0700 - WIP build unittests foreach  IPHONEOS_ARCH
81a43968 - Dan Olson - 2015-07-16 21:44:57 -0700 - WIP iOS arm64
96bf3d38 - Dan Olson - 2015-07-07 00:26:35 -0700 - iOS - update druntime to avoid dyld private APIs
7a0b7709 - Dan Olson - 2015-07-05 18:35:19 -0700 - iOS - add armv7s architecture
be94f966 - Dan Olson - 2015-07-04 11:31:24 -0700 - Update druntime/phobos submodules for iOS Sim
730be86d - Dan Olson - 2015-07-04 11:27:55 -0700 - iOS - preliminary universal lib support
3670da74 - Dan Olson - 2015-07-04 10:11:16 -0700 - ARM - consider thumb too for default cpu
08fafa20 - Dan Olson - 2015-07-04 10:02:45 -0700 - iOS - Disable neon when optimizing
6496aeb2 - Dan Olson - 2015-07-04 09:59:02 -0700 - iOS Simulator - iOS default relocation is PIC
36d514c9 - Dan Olson - 2015-06-21 23:49:40 -0700 - Update druntime and phobos submodules
98109d9e - Dan Olson - 2015-06-02 16:34:35 -0700 - Cross compile from OSX to target's real type
1878e43c - Dan Olson - 2015-05-30 08:40:40 -0700 - Support i386-apple-ios (IPhoneSimulator)
1bd2fbcb - Dan Olson - 2015-05-15 23:26:18 -0700 - Change iOS extern(D) ABI from fastcc to ccc
3e535bd8 - Dan Olson - 2015-05-15 23:25:12 -0700 - Fix type-oh in help string
d25cec11 - Dan Olson - 2015-05-15 23:25:12 -0700 - Work toward getting the iOS ABI correct
1c2cf940 - Dan Olson - 2015-05-15 23:25:12 -0700 - ABI for iOS that passes structs as values
b034a111 - Dan Olson - 2015-05-15 23:20:39 -0700 - Add version IPhoneOS
5a57557e - Dan Olson - 2015-05-15 23:17:01 -0700 - real == double conditional on USE_REAL64
92e24ff1 - Dan Olson - 2015-05-15 23:17:00 -0700 - Fix -vtls help string
2965d94b - Dan Olson - 2015-05-15 23:15:41 -0700 - Implement -vtls in ldc
922a80f9 - Dan Olson - 2015-05-15 23:10:10 -0700 - new option -disable-tls
ef096bb8 - Dan Olson - 2015-05-15 22:59:45 -0700 - switch submodule phobos to smolt fork for iOS and update to latest druntime
5d8b35ed - Dan Olson - 2015-05-15 22:58:07 -0700 - switch submodule druntime to smolt fork for ios
85569bfb - Dan Olson - 2015-05-15 22:58:07 -0700 - Hard code in so real == double.  This is an issue when cross compiling since dmd uses the host C libs to determine the properties of type real.  This change breaks ldc for native compiles, will have to come up with better solution.
3c4c4410 - Dan Olson - 2015-05-15 22:58:07 -0700 - Some useful notes in comments
e2bcfacc - Dan Olson - 2015-05-15 22:51:45 -0700 - cmake TARGET_C_FLAGS added for building target libraries
a7f5ed8a - Dan Olson - 2015-05-15 22:48:44 -0700 - allow ios as triple OS
dfbb6cdd - Dan Olson - 2015-05-15 22:48:44 -0700 - disable TLS for now
9db58c39 - Dan Olson - 2015-05-15 22:48:44 -0700 - work with libc++
08d92ede - Dan Olson - 2015-04-27 00:13:11 -0700 - Update to ldc-developers/dmd-testsuite#9
ca2814f0 - Dan Olson - 2015-04-06 22:04:15 -0700 - Update to ldc-developers/phobos#15
1c9329de - Dan Olson - 2015-04-05 23:53:20 -0700 - Add new dmd -verrors option
8246071a - Dan Olson - 2015-03-29 15:48:55 -0700 - index on ios-merge-2.067: b266d23 Merge branch 'merge-2.067' into ios-merge-2.067
17c99659 - Dan Olson - 2015-03-28 11:44:26 -0700 - Use old builtinTypeInfo logic for type class
1d054009 - Dan Olson - 2015-03-22 22:30:13 -0700 - Add new phobos subdirs
a0e7ebfc - Dan Olson - 2015-03-22 22:22:29 -0700 - Add new phobos subdirs
d2f49bc3 - Dan Olson - 2015-03-22 16:44:12 -0700 - Change iOS extern(D) ABI from fastcc to ccc
b2d51d65 - Dan Olson - 2015-03-21 18:25:20 +0100 - Fix cmake bug when ldc is a submodule
73df563a - Dan Olson - 2015-03-09 00:13:54 -0700 - Fix cmake bug when ldc is a submodule
af9d1a8c - Dan Olson - 2015-03-09 00:11:05 -0700 - Update druntime submodule
0be5ead4 - Dan Olson - 2015-03-09 00:11:05 -0700 - Fix cmake bug when ldc is a submodule
ecd68430 - Dan Olson - 2015-03-01 00:29:32 -0800 - Stray tab cleanup
f554c322 - Dan Olson - 2015-02-28 23:57:38 -0800 - Lookup default float-abi for thumb same as arm
3c9da62e - Dan Olson - 2015-02-28 23:53:30 -0800 - Set version ARM_SoftFP
b5b7e287 - Dan Olson - 2015-02-10 19:06:32 -0800 - Update submodules with latest changes
6e7c9cd5 - Dan Olson - 2015-02-10 19:05:58 -0800 - Fix type-oh in help string
e0cf8e85 - Dan Olson - 2015-02-10 19:03:30 -0800 - Lookup default float-abi for thumb same as arm
cd3a8c00 - Dan Olson - 2015-02-10 19:02:37 -0800 - Work toward getting the iOS ABI correct
2bc41698 - Dan Olson - 2015-02-10 18:56:37 -0800 - ABI for iOS that passes structs as values
526692e9 - Dan Olson - 2015-02-04 15:50:20 -0800 - Add version IPhoneOS
5a19080e - Dan Olson - 2015-01-28 00:38:02 -0800 - Set version ARM_SoftFP
2f273bdc - Dan Olson - 2015-01-23 08:21:43 -0800 - real == double conditional on USE_REAL64
40a2e7c6 - Dan Olson - 2015-01-15 07:54:41 -0800 - Fix -vtls help string
c3167169 - Dan Olson - 2015-01-12 08:17:10 -0800 - Update phobos submodule to ios-release-0.15.0 tag
7a611545 - Dan Olson - 2015-01-04 19:51:43 -0800 - Update druntime and phobos submodules commits
8b0bd382 - Dan Olson - 2015-01-02 12:18:36 -0800 - Implement -vtls in ldc
762c01d9 - Dan Olson - 2015-01-02 12:09:03 -0800 - new option -disable-tls
c66fbbe0 - Dan Olson - 2014-05-04 21:39:34 -0700 - When calling a C variadic (...), pass structs by value instead of reference.  This will match with C calling convention.
54d2f3f2 - Dan Olson - 2014-03-27 01:05:47 -0700 - switch submodule phobos to smolt fork for iOS and update to latest druntime
872d0674 - Dan Olson - 2014-02-21 00:54:28 -0800 - update druntime with work exception handling for iOS
06b2b1f9 - Dan Olson - 2014-02-12 20:04:26 -0800 - switch submodule druntime to smolt fork for ios
ed74a7c9 - Dan Olson - 2014-02-12 08:07:01 -0800 - Hard code in so real == double.  This is an issue when cross compiling since dmd uses the host C libs to determine the properties of type real.  This change breaks ldc for native compiles, will have to come up with better solution.
48772743 - Dan Olson - 2014-02-09 13:49:04 -0800 - Some useful notes in comments
552f31c8 - Dan Olson - 2014-02-03 22:42:21 -0800 - switch druntime to ios dev branch
4447c660 - Dan Olson - 2014-02-02 00:18:47 -0800 - cmake TARGET_C_FLAGS added for building target libraries
e2b53f47 - Dan Olson - 2014-02-02 00:16:31 -0800 - allow ios as triple OS
d41097bf - Dan Olson - 2014-02-02 00:15:06 -0800 - disable TLS for now
591b0bbc - Dan Olson - 2014-02-02 00:13:54 -0800 - work with libc++


please do suggestion.

October 20, 2019

On 19/10/2019 07:52, Newbie2019 wrote:
> https://github.com/ldc-developers/ldc/issues/1081
> 
> Is any one can suggestion the working step?
> 
> the ldc source code change too much, I dont know how to fix all this errors.
> 
> here is a commit list by Dan Olson from https://github.com/smolt/ldc/commits/ios:
> 
> a0201e4c - Dan Olson - 2017-01-22 08:45:28 -0800 - Update phobos submodule
...
> 591b0bbc - Dan Olson - 2014-02-02 00:13:54 -0800 - work with libc++
> 
> 
> please do suggestion.
> 

I'd recommend just comparing the last state of the ios branch with the base commit at the time of Dan's last merge, i.e. 9e662f2334fd9b8eab927e0e1a2bf450de8c1392. The diff doesn't look as overwhelming as the commit list.

Then reapply the changes to the current LDC code one by one by finding the respective code locations.
October 21, 2019
On Sunday, 20 October 2019 at 07:11:56 UTC, Rainer Schuetze wrote:
>
> I'd recommend just comparing the last state of the ios branch with the base commit at the time of Dan's last merge, i.e. 9e662f2334fd9b8eab927e0e1a2bf450de8c1392. The diff doesn't look as overwhelming as the commit list.
>
> Then reapply the changes to the current LDC code one by one by finding the respective code locations.

Thanks for the explain.