Hello Frank, or anyone else affected, Accepted glibc into noble-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/glibc/2.39-0ubuntu8.3 in a few hours, and then in the -proposed repository.
Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users. If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed- noble to verification-done-noble. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification- failed-noble. In either case, without details of your testing we will not be able to proceed. Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping! N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days. ** Changed in: glibc (Ubuntu Noble) Status: New => Fix Committed -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/2064538 Title: Revert back frame pointers for s390x (remove -fno-omit-frame-pointer but use -mbackchain) Status in Ubuntu on IBM z Systems: New Status in dpkg package in Ubuntu: Fix Released Status in glibc package in Ubuntu: New Status in linux package in Ubuntu: New Status in dpkg source package in Noble: Fix Committed Status in glibc source package in Noble: Fix Committed Status in linux source package in Noble: New Status in dpkg source package in Oracular: Fix Released Status in glibc source package in Oracular: New Status in linux source package in Oracular: New Bug description: SRU Justification: [ Impact ] * The preferred way of doing stack unwinding on Linux on Z is via dwarf call frame information. In absence of a dwarf unwinder (as in the Linux kernel) a stack chain can be maintained at runtime in addition to the dwarf unwinding information. * This allows for simple backtrace implementations, but imposes a small runtime overhead. For this to work, all code that might be part of backtrace must be built with the -mbackchain GCC option. * The -fno-omit-framepointer switch is neither necessary nor helpful in this context. Having a (soft/simulated) frame pointer does not improve backtraces at all on IBM Z. * However, forcing a frame pointer via the -fno-omit-frame-pointer option negatively affects performance for multiple reasons: extra prologue/epilogue overhead and fewer shrink-wrapping opportunities. * Given -fno-omit-frame-pointer does not provide any improvements (backtraces or otherwise) and only reduces performance, -fno-omit- frame-pointers should not be used on IBM Z. * So we are facing here a performance penalty without any gain - on this particular platform. * And sometimes (in rare cases like LP#2060108) frame pointers may even lead to failed builds. [ Test Plan ] * Due to the above description of the impact and rationale, this pragmatic approach for testing is given: * Build the affected packages where frame-pointers should be reverted using the updated dpkg package (that incl. the modified build defaults) on (or for) this particular platform. * Now frame-pointer usage be checked in the following different ways: * 1) For the ease of use (and thanks to Julian Klode), there is this python test script available that allows to verify a binary in regard to frame pointers: https://gist.github.com/julian-klode/85e55553f85c410a1b856a93dce77208 * 2) Another more manual way is to verify based on debug symbols like this: - find and install the ddeb package - maybe extract the file (e.g. unzstd) - use 'readelf -wi' - and grep for 'DW_AT_produce' (build options) - look for entries regarding frame-pointer The output may look similar to this: readelf -wi ./usr/lib/debug/lib/modules/6.8.0-38-generic/kernel/arch/s390/crypto/aes_s390.ko | grep DW_AT_produce <23> DW_AT_producer : (indirect string, offset: 0x7d): GNU AS 2.42 <129> DW_AT_producer : (indirect string, offset: 0x3eef): GNU C11 13.2.0 -m64 -mpacked-stack -mbackchain -msoft-float -march=z13 -mtune=z16 -mindirect-branch=thunk-extern -mfunction-return=thunk-extern -mindirect-branch-table -mrecord-mcount -mnop-mcount -mfentry -mzarch -g -gdwarf-5 -O2 -std=gnu11 -p -fshort-wchar -funsigned-char -fno-common -fno-strict-aliasing -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -fno-allow-store-data-races -fno-stack-protector -ftrivial-auto-var-init=zero -fno-stack-clash-protection -fzero-call-used-regs=used-gpr -fno-inline-functions-called-once -falign-functions=8 -fstrict-flex-arrays=3 -fno-strict-overflow -fstack-check=no -fconserve-stack -fsanitize=bounds-strict -fsanitize=shift -fsanitize=bool -fsanitize=enum -fPIC * 3) And maybe watching the build messages / log for the build options that were used (but that is probably not sufficient - it's better to inspect the output.) [ Where problems could occur ] * The dpkg modifications could have been done erroneously. A dpkg test build and/or builds of other packages with the modified dpkg version in place would show this. * The settings in dpkg might be overwritten by other settings/packages. Tests like above, would show this. * One may think there could be issues in an environment where some packages have frame-pointer enabled and other don't. This is fine and was confirmed by IBM toolchain team and ours (as well as by a longer running <weeks> test system, with FP disabled in kernel, that showed no issues - like expected). [ Other Info ] * These changes were implemented during the opening of the oracular series. The very same changes are backported to 24.04 LTS. * These only affect the ppc64el and s390x architectures, for other architectures it's a no-change upload. * We didn't see any fallout for these changes during the development on the oracular series, and therefore don't expect any fallout or regressions in 24.04 LTS either. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-z-systems/+bug/2064538/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp