On 11/04/2015 02:13 PM, Jakub Jelinek wrote: > On Mon, Jul 06, 2015 at 05:38:35PM +0100, Alan Lawrence wrote: >> Trying to push these now (svn!), patch 2 is going first. >> >> I realize my second iteration of patch 1/2, dropped the testcases from the >> first version. Okay to include those as per >> https://gcc.gnu.org/ml/gcc-patches/2015-07/msg00215.html ? > > FYI, it seems that (most likely) the PR65956 changes on gcc-5-branch > broke libgnat ABI compatibility on arm - it seems that getsubs.adb > from macrosub proglet (and others) are during make check compiled/linked > with system gnatmake/gcc, but the program is run at runtime > against the new libgnat-5.so. If I run it manually against > system libgnat, it works, otherwise it hangs, when Fill_Table from > getsubs.adb calls Get_Line, and indeed it looks like the argument passing > for Get_Line changed and on the callee side it thinks Item (which is 400 > chars string) has random (and in the hanging case negative) number of chars > in it.
The patch looks at TYPE_MAIN_VARIANT without checking first if the type has any qualifiers: + if (!AGGREGATE_TYPE_P (type)) + return TYPE_ALIGN (TYPE_MAIN_VARIANT (type)) > PARM_BOUNDARY; I'm not sure if this is valid, and what happens here if the type refers to a fat pointer type generated by the Ada front end. Florian