• spurious error with GNAT 13.2.0 on Intel macOS 17.2

    From moi@21:1/5 to All on Thu Dec 14 23:49:15 2023
    The 17.2 update is accompanied by updated Command Line Tools,
    so, having made a copy of the current CLTs, I let it update.


    With GNAT 13.2.0 on Intel macOS 17.2 this happens:

    /Users/wf/KDF9/emulation/Testing: chmod 444 ST0

    On compiling and running the minimum test case:


    with Ada.Direct_IO;
    with Ada.IO_Exceptions;
    procedure failure is
    package my_IO is new Ada.Direct_IO(Integer);
    use my_IO;
    my_file : File_Type;
    begin
    Open(my_file, Inout_File, "ST0");
    exception
    when Ada.IO_Exceptions.Use_Error =>
    raise program_error with "Open failed to get RW access";
    end failure;


    I get:

    A. with ”-largs -Wl,-ld_classic” in the linker parameters:

    /Users/wf/KDF9/emulation/Testing: failure
    raised PROGRAM_ERROR : Open failed to get RW access

    This is what should happen.

    B. recompiled and relinked without ”-largs -Wl,-ld_classic”:

    /Users/wf/KDF9/emulation/Testing: failure
    raised CONSTRAINT_ERROR : erroneous memory access

    OOPS!

    Strangely, this is now the ONLY one out of dozens of regression tests
    that fails in this software configuration.
    Previously, they all failed at the link stage.

    --
    Bill F.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Wright@21:1/5 to moi on Fri Dec 15 15:23:31 2023
    moi <findlaybill@blueyonder.co.uk> writes:

    The 17.2 update is accompanied by updated Command Line Tools,
    so, having made a copy of the current CLTs, I let it update.

    I think you mean 14.2!

    GCC 13/CLT 15.* still has issues with exceptions, eg this unresolved
    issue: https://github.com/iains/gcc-13-branch/issues/10, and the
    ld-classic dance fixes them as far as I can tell.

    I'm working with this fix: https://github.com/simonjwright/xcode_15_fix
    which is included in my GCC 13.2.0 build: https://github.com/simonjwright/distributing-gcc/releases/tag/gcc-13.2.0-aarch64

    I get:

    A. with ”-largs -Wl,-ld_classic” in the linker parameters:

    /Users/wf/KDF9/emulation/Testing: failure
    raised PROGRAM_ERROR : Open failed to get RW access

    This is what should happen.

    B. recompiled and relinked without ”-largs -Wl,-ld_classic”:

    /Users/wf/KDF9/emulation/Testing: failure
    raised CONSTRAINT_ERROR : erroneous memory access

    OOPS!

    Strangely, this is now the ONLY one out of dozens of regression tests
    that fails in this software configuration.
    Previously, they all failed at the link stage.

    Yes, the 15.1 betas fixed the linking problem. I've no idea why some
    exceptions don't get caught/raise memory access errors. I do think that
    the aarch64 GCC 14 has fixed the problem.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From moi@21:1/5 to Simon Wright on Sat Dec 16 00:03:23 2023
    On 15/12/2023 15:23, Simon Wright wrote:
    moi <findlaybill@blueyonder.co.uk> writes:

    The 17.2 update is accompanied by updated Command Line Tools,
    so, having made a copy of the current CLTs, I let it update.

    I think you mean 14.2!

    Yes indeed, confusing it with iOS!


    GCC 13/CLT 15.* still has issues with exceptions, eg this unresolved
    issue: https://github.com/iains/gcc-13-branch/issues/10, and the
    ld-classic dance fixes them as far as I can tell.

    I have no problem when dancing classically.


    I'm working with this fix: https://github.com/simonjwright/xcode_15_fix
    which is included in my GCC 13.2.0 build: https://github.com/simonjwright/distributing-gcc/releases/tag/gcc-13.2.0-aarch64
    ...

    Strangely, this is now the ONLY one out of dozens of regression tests
    that fails in this software configuration.
    Previously, they all failed at the link stage.

    Yes, the 15.1 betas fixed the linking problem. I've no idea why some exceptions don't get caught/raise memory access errors. I do think that
    the aarch64 GCC 14 has fixed the problem.

    Good to know.

    Thanks again, Simon.

    --
    Bill F.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)