** Description changed:

- While evaluating libreoffice for the -fno-omit-frame-pointer option
- presence we identified the following files as having missing flags:
+ [ 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"
  
- Further investigation is needed why this is failing for these
- compilation units. Note that this also downgrades some security
- features:
+ 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.
+ Note that this does not include preprocessor flags, only compilation
+ flags.

** Changed in: libreoffice (Ubuntu Noble)
       Status: New => Triaged

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2073128

Title:
  Missing compiler flags

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/2073128/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to