Fix for zlib CRC32 optimization for s390x
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu on IBM z Systems |
In Progress
|
High
|
Skipper Bug Screeners | ||
zlib (Ubuntu) |
In Progress
|
High
|
Unassigned | ||
Jammy |
Incomplete
|
Undecided
|
Unassigned | ||
Kinetic |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
SRU Justification:
------------------
[ Impact ]
* There were two issues identified in the current
zlib CRC32 optimization for s390x implementation:
* 1) s390_crc32_vx() signature mismatch
which causes a warning
* 2) '-DS390_CRC32_VX' was not added to SFLAGS
which results in vectorization being enabled only in the static library.
* The fixes are quite small and affect each only one line:
* 1) by using unsigned longs instead of uint32_t in s390_crc32_vx declaration
* 2) by add line 'SFLAGS="$SFLAGS -DS390_CRC32_VX"'
[ Test Plan ]
* An affected Ubuntu release ([20.04], 22.04 and 22.10) installed
on a z15/LinuxONE III or newer system is needed.
* Then it's possible to test the updated package with the help
of a small test program (in C) that checks for
s390_crc32_vx() signature mismatches.
* The bug reporter has a set of s390x-specific tests that will be executed.
* Test will be done by IBM.
[ Where problems could occur ]
* The fixes are each limited to one line, hence there are
not many issues to expect, other than:
* Typos (e.g. in the flags), mixing of CFLAGS and SFLAGS,
* in case the changed data type in s390_crc32_vx is causing issues
inside of s390_crc32_vx or in other parts of the code.
* Structural and syntactical issues can be identified with a test build
that was done for all affected Ubuntu releases and for all major archs:
https:/
[ Other Info ]
* This bug (LP#1982583) is solved in combination with LP#1990379,
so that only one package update is needed.
However, LP#1990379 also affects Focal, but this bug only Jammy and Kinetic.
* To fix LP#1990379 also for focal the debdiff mentioned there is needed, too.
__________
'zlib CRC32 optimization for s390x works only in a static library'
I've discovered two issues in lp1932010-
1) s390_crc32_vx() signature mismatch, resulting in a warning.
2) -DS390_CRC32_VX is not added to SFLAGS, resulting in vectorization being enabled only in the static library.
I've attached the updated patch.
tags: | added: architecture-s39064 bugnameltc-199129 severity-high targetmilestone-inin--- |
description: | updated |
summary: |
- zlib CRC32 optimization for s390x works only in a static library + Fix for zlib CRC32 optimization for s390x |
description: | updated |
description: | updated |
tags: | added: foundation-triage-discuss |
I transferred the modification into a separate patch (d/p/lp1982583- fix-for- zlib-crc32- optimization- for-s390x. patch), /launchpad. net/~fheimes/ +archive/ ubuntu/ lp1990379+ lp1982583
and build a patched version (for all major architectures) in PPA for jammy and kinetic:
https:/
and attaching here the debdiff for jammy and kinetic - which are for both LP bugs, this LP#1982583 and LP#1990379.