Go to file
Ubuntu Developers 419e47e85e fix-unaligned-accesses
Package: libhdf5-100
Version: 1.10.0-patch1+docs-3
Tags: upstream patch
User: debian-sparc@lists.debian.org
Usertags: sparc64
X-Debbugs-Cc: debian-sparc@lists.debian.org, Ghislain Vaillant <ghisvail@gmail.com>
Control: affects -1 src:h5py
Hi,
Currently libhdf5-100 performs unaligned memory accesses on sparc64 in
certain cases, and this is causing the latest version of h5py to FTBFS
due to the test suite being killed with SIGBUS when doing vlen-related
tests (the tests in question being new in the latest upstream version).
On investigating, there are two issues:

 1. NO_ALIGNMENT_RESTRICTIONS is being defined on sparc64. GCC is
    sufficiently smart to notice that the test program run when
    configuring is performing unaligned accesses, and so instead of
    using the usual multi-byte load instructions (which require the
    address to be aligned), it expands it out into individual byte
    loads, and therefore the test actually succeeds. This is only
    because GCC can statically determine that the address is unaligned,
    and therefore tries to be helpful (since it knows using multi-byte
    loads will never work), whereas for a general address it will assume
    the address is aligned and emit a single multi-byte load.

    Adding in a few volatile qualifiers in the important places ensures
    that GCC can no longer statically prove the relevant addresses are
    unaligned, and therefore it uses the normal multi-byte load
    instructions and the test program will crash, so configure knows not
    to define NO_ALIGNMENT_RESTRICTIONS.

 2. Even with that fixed, H5T_vlen_reclaim_recurse needs fixing to
    ensure it doesn't perform unaligned accesses when not supported.

With the attached patch, h5py's test suite now passes again. Please feel
free to forward this patch upstream if you deem it acceptable.

Regards,
James

Gbp-Pq: Name fix-unaligned-accesses.patch
2022-05-14 03:32:24 +08:00
bin Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
c++ Add option --with-flavor=<flavor-name> to configure 2022-05-14 03:32:24 +08:00
config fix-unaligned-accesses 2022-05-14 03:32:24 +08:00
debian Import Debian changes 1.10.4+repack-ok1 2022-05-14 03:31:32 +08:00
examples Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
fortran Add option --with-flavor=<flavor-name> to configure 2022-05-14 03:32:24 +08:00
hl Add option --with-flavor=<flavor-name> to configure 2022-05-14 03:32:24 +08:00
java Add option --with-flavor=<flavor-name> to configure 2022-05-14 03:32:24 +08:00
m4 Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
release_docs Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
src fix-unaligned-accesses 2022-05-14 03:32:24 +08:00
test remove check on patch version 2022-05-14 03:32:24 +08:00
testpar Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
tools Add option --with-flavor=<flavor-name> to configure 2022-05-14 03:32:24 +08:00
.autom4te.cfg Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
.h5chkright.ini Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
ACKNOWLEDGMENTS Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
CMakeFilters.cmake Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
CMakeInstallation.cmake Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
CMakeLists.txt Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
COPYING Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
COPYING_LBNL_HDF5 Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
CTestConfig.cmake Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
MANIFEST Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
Makefile.am Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
Makefile.dist Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
Makefile.in Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
README.txt Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
UserMacros.cmake Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
aclocal.m4 Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
acsite.m4 Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
autogen.sh Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
configure Import Upstream version 1.10.4+repack 2022-05-14 03:31:31 +08:00
configure.ac Add option --with-flavor=<flavor-name> to configure 2022-05-14 03:32:24 +08:00

README.txt

HDF5 version 1.10.4 released on 2018-10-05

------------------------------------------------------------------------------
Please refer to the release_docs/INSTALL file for installation instructions.
------------------------------------------------------------------------------

THE HDF GROUP
---------------

The HDF Group is the developer of HDF5®, a high-performance software library and 
data format that has been adopted across multiple industries and has become a 
de facto standard in scientific and research communities.

More information about The HDF Group, the HDF5 Community and the HDF5 software
project, tools and services can be found at the Group's website.

    https://www.hdfgroup.org/


DOCUMENTATION
-------------
This release is fully functional for the API described in the documentation. 
    https://portal.hdfgroup.org/display/HDF5/The+HDF5+API

Full Documentation and Programming Resources for this release can be found at
    https://portal.hdfgroup.org/display/HDF5

See the RELEASE.txt file in the release_docs/ directory for information specific 
to the features and updates included in this release of the library. 

Several more files are located within the release_docs/ directory with specific 
details for several common platforms and configurations.

    INSTALL - Start Here. General instructions for compiling and installing the library
    INSTALL_CMAKE  - instructions for building with CMake (Kitware.com)
    INSTALL_parallel - instructions for building and configuring Parallel HDF5 
    INSTALL_Windows and INSTALL_Cygwin - MS Windows installations.



HELP AND SUPPORT
----------------
Information regarding Help Desk and Support services is available at

    https://portal.hdfgroup.org/display/support/The+HDF+Help+Desk



FORUM and NEWS
--------------
The following public forums are provided for public announcements and discussions 
of interest to the general HDF5 Community.

    Homepage of the Forum
        https://forum.hdfgroup.org

    News and Announcement
        https://forum.hdfgroup.org/c/news-and-announcements-from-the-hdf-group

    HDF5 and HDF4 Topics
        https://forum.hdfgroup.org/c/hdf5
 
These forums are provided as an open and public service for searching and reading. 
Posting requires completing a simple registration and allows one to join in the 
conversation.  Please read the following instructions pertaining to the Forum's 
use and configuration
    https://forum.hdfgroup.org/t/quickstart-guide-welcome-to-the-new-hdf-forum


SNAPSHOTS, PREVIOUS RELEASES AND SOURCE CODE
--------------------------------------------
Periodically development code snapshots are provided at the following URL:
    https://gamma.hdfgroup.org/ftp/pub/outgoing/hdf5/snapshots/

Source packages for current and previous releases are located at:
    https://portal.hdfgroup.org/display/support/Downloads

Development code is available at our BitBucket Server:
    https://bitbucket.hdfgroup.org/projects/HDFFV/repos/hdf5/browse