You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think this is related to the issue I ran into on aarch64 Linux, commented in issue #1012.
type Portable_Path is new String with
Dynamic_Predicate => (for all Char of Portable_Path => Char /= '\');
-- A portable path always uses forward slashes. For use in the current
-- platform, it should be adapted first.
Whenever the dynamic predicate on Portable_Path is executed, alr crashes with SIGABRT on OpenBSD 7.1 with GNAT 11.2.0 from the ports collection (gnat_external from alire's point of view).
With ktrace, I was able to determine the abort reason as "reversed memcpy". My understanding is that this is thrown when the src and dst arguments to memcpy overlap. I have no idea why GNAT would do that.
As in my comment on the other issue, adding Alignment => 2 to the Portable_Path type appears to fix the crash. This feels like a workaround for a compiler bug though, so I'm not sure that patching Alire is the right approach.
I'm reporting this issue here for visibility, but I think it needs more investigation to understand why GNAT is generating code this way.
The text was updated successfully, but these errors were encountered:
I think this is related to the issue I ran into on aarch64 Linux, commented in issue #1012.
Whenever the dynamic predicate on
Portable_Path
is executed, alr crashes withSIGABRT
on OpenBSD 7.1 with GNAT 11.2.0 from the ports collection (gnat_external from alire's point of view).With
ktrace
, I was able to determine the abort reason as "reversed memcpy". My understanding is that this is thrown when thesrc
anddst
arguments to memcpy overlap. I have no idea why GNAT would do that.As in my comment on the other issue, adding
Alignment => 2
to thePortable_Path
type appears to fix the crash. This feels like a workaround for a compiler bug though, so I'm not sure that patching Alire is the right approach.I'm reporting this issue here for visibility, but I think it needs more investigation to understand why GNAT is generating code this way.
The text was updated successfully, but these errors were encountered: