The change in the launch configuration delegate dealt with a serious race condition where the wrong thing was being passed around all over the place (launch configurations instead of launches).
>> API changes to existing classes
>> were made.
>
> I need to study the changes more thoroughly, but generally I think that significant API changes should be done by adding new classes and leaving the old functionality there, not by removing old functionality.
In an ideal world yes. That was the situation that CDT was in for 5 years since the release of CDT 8.0. However, unfortunately some of the API in 8.0 and before was simply wrong. We are in a situation that we needed to break API compatibility to fix some serious issues.
> the GNU ARM debugging plug-ins are full of unorthodox patches, some requiring copying entire classes locally because they were too rigid and did not allow to be customised.
I believe every extension of DSF has at least some in that situation, so while not ideal, it is actually allowed. Some of the API changes have been done specifically to ameliorate the places where it is harder than it should be to extend DSF.
> initially I thought that starting a GDB server before the GDB client shouldn't be a big deal, but the design of DSF (or my poor understanding of it) made things very difficult.
I am very pleased that you managed to solve these problems. I hope that some of these improvements you have identified can be fed back into CDT.
>
> the next challenge was to accommodate different startup sequences, and, again, implementation was quite nightmarish.
>
>
> I did not check the latest versions, but if you want to support different debuggers (like lldb) and different/custom startup custom sequences, there is lot of work required for DSF.
Yes there is!
>
>> Interestingly you, as the GNU Arm Eclipse maintainer, are in the same
>> situation as the core CDT project.
>
> there is a small difference, however: all the GNU ARM Eclipse development efforts were funded by my private resources, which are not unlimited.
As is all the support I am providing to you now ;-)
>
>
> regards,
>
> Liviu
>
>
> _______________________________________________
> cdt-dev mailing list
>
cdt-dev@xxxxxxxxxxx> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
>
https://dev.eclipse.org/mailman/listinfo/cdt-dev