** 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

Reply via email to