On 24 Mar 2024, at 15:31, Simon Wright <simon.j.wright@mac.com> wrote:
On 23 Mar 2024, at 20:36, Manuel Gómez <mgrojo@gmail.com> wrote: El 23/3/24 a las 19:06, Manuel Gómez escribió:
But with Per's snippet I've discovered that my image built in GitHub https://github.com/mgrojo/emacs-ada-mode-binaries is affected, so I'll try to build it again in the same way as locally.
I've fixed the GitHub action to use the gnat-12 package from Ubuntu and now the binaries work without problem.
https://github.com/mgrojo/emacs-ada-mode-binaries
If you prefer to build the executables yourself, you can compare your commands and outputs with:
https://github.com/mgrojo/emacs-ada-mode-binaries/actions/runs/8404185814/job/23015518710
Once we can reliably build the executables, a github action would be the ideal way to build versions for various platforms! To the issues. So far, I can get a working system with GCC 12.2 at x86_64-apple-darwin, but aarch64-apple-darwin fails. There’s also a dependency on the SDK version in use: I got the SAL unit tests running (much confusion there!), and x86_64-apple-darwin was OK with SDK 14.2 but failed quietly with the latest SDK 15. It could be macOS or the compiler, but there could also be some adventurous coding practices in there. My 13.2.0 aarch64-apple-darwin build omits aunit, so I’m currently building a 13.2.1. Investigation continues.
Judging by the results of the org.wisitoken tests, the GCC 13 issues are to do with SAL.Gen_Definite_Doubly_Linked_Lists_Ref_Count, used because "We often hold copies of Stream_Element_Lists cursors while editing a tree, so we use a ref_count list to detect dangling references." - it does this by making Cursor a controlled type, which controls a refcount in the nodes of the visited list, so that on freeing the list we can tell if there are any dangling cursors.
Anyway, GCC 14.0.1 20240317 (aarch64) looks good! |