On Sun, Dec 17, 2017 at 02:33:03PM +0000, Ghislain Vaillant wrote:
> ISMRMRD uses a non-portable instruction (#pragma pack) which modifies the
> memory alignment of its data structures. It seems neither armhf nor sparc64
> supports it, hence the failure of the test suite for both architectures.

#pragma pack is supported everywhere,
and this pragma is the cause of the FTBFS.

> I am not sure what the best course of action is. Either leaving things as is
> assuming a future rebuild with a newer compiler could improve it, disabling
> the tests or even dropping the packages for the failing architectures.
> 
> Opinions welcome.

With #pragma pack you are forcing the compiler to do the wrong thing,
the only thing a newer compiler could possibly improve would be to
error on such code.

Unaligned floating point access on armhf is expected to fail,
and that's exactly what happens here:
unknown location(0): fatal error: in 
"AcquisitionsTest/test_acquisition_header": memory access violation at address: 
0xbecd3b6a: invalid address alignment

Running the test in gdb confirms that this is floating point code.

sparc is generally unhappy with unaligned access:
unknown location(0): fatal error: in 
"AcquisitionsTest/test_acquisition_header": memory access violation at address: 
0x7feffb7c936: invalid address alignment

Note that even on architectures where unaligned access is permitted
it can be slower than aligned access.

> Ghis

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

Reply via email to