** Also affects: libreoffice (Ubuntu Noble) Importance: Undecided Status: New
-- You received this bug notification because you are a member of Desktop Packages, which is subscribed to libreoffice in Ubuntu. https://bugs.launchpad.net/bugs/2073128 Title: Missing compiler flags Status in libreoffice package in Ubuntu: Fix Released Status in libreoffice source package in Noble: Triaged Bug description: [ Impact ] In order to help developers with profiling, Ubuntu enabled frame-pointers for packages in the main archive. https://ubuntu.com/blog/ubuntu-performance-engineering-with-frame- pointers-by-default The `Affects` packages were missed due to the packaging issues. These have been fixed on Oracular and can now be ported to Noble. For LibreOffice the main impact may not be the missing frame pointers - but the missing hardening flags. [ Test Plan ] Look at the DW_AT_producer in the associated debug ELF file for flags. -fno-omit-frame-pointer should be present after the fix. The following scripts can be used as a reference https://gist.github.com/julian-klode/85e55553f85c410a1b856a93dce77208 https://gist.github.com/julian-klode/95818246eaef0ac6a54588f7f368e25c The hardening flags are passed in the same parameter. For regression potential, LibreOffice has a test suite that is run in autopkgtests which has more extensive testing than any manual testing. [ Where problems could occur ] The build system for external modules has been modified to pass build flags to them. Some of them are potentially duplicated, and there is the possibility of "wanted regressions" where some of the hardening flags that are now passed to those modules would expose/prevent some security issue (e.g. abort instead of overflowing a buffer). Given the good test coverage, we do not expect any functional regressions. [ Other Info ] changes in dpkg have been made to make sure frame-pointers are not enabled on s390x and ppc64el. Bug reference with similar SRU - https://bugs.launchpad.net/ubuntu/+source/ipvsadm/+bug/2071949 [ Original report ] While evaluating libreoffice for the -fno-omit-frame-pointer option presence we identified the following files as having missing flags: libreoffice-core: /usr/lib/libreoffice/program/libstaroffice-0.0-lo.so.0 - All compilations units. libreoffice-draw: /usr/lib/libreoffice/program/libwpftdrawlo.so Various files with relative paths ending in .cpp as - ZMFDocument.cpp - BMIHeader.cpp - BMIParser.cpp - "BMITypes.cpp" - "ZBRHeader.cpp" ⁻ "ZBRParser.cpp" - "ZMF4Header.cpp" - "ZMF4Parser.cpp" It's worth noting that there are some files that do have all the flags; these are specified using absolute file paths and their paths end in .cxx instead of .cpp, such as "/usr/src/libreoffice-4:24.2.4-0ubuntu0.24.04.1/writerperfect/source/draw/CDRImportFilter.cxx" Note that this also downgrades some security features: .cxx files are compiled with "GNU C++20 13.2.0 -mno-omit-leaf-frame-pointer -mtune=generic -march=x86-64 -g -O2 -std=c++20 -fvisibility=hidden -finput- charset=UTF-8 -fmessage-length=0 -fno-common -fvisibility-inlines- hidden -fPIC -fno-omit-frame-pointer -fstack-protector-strong -fcf- protection=full -fexceptions -fno-enforce-eh-specs -fasynchronous- unwind-tables -fstack-protector-strong -fstack-clash-protection" .cpp files with "GNU C++20 13.2.0 -mtune=generic -march=x86-64 -ggdb2 -O2 -std=c++20 -finput-charset=UTF-8 -fmessage-length=0 -fno-common -fvisibility- inlines-hidden -fvisibility=hidden -fPIC -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -fcf-protection" So -fcf-protection=full is downgraded to just strong -fcf-protection Note that this does not include preprocessor flags, only compilation flags. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/2073128/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp