From Fedora Project Wiki
(https://pagure.io/fesco/issue/1824)
(Mention -z defs flags change)
Line 62: Line 62:
being based on the 2.29.1 release.  This release was a collection of important bug fixes
being based on the 2.29.1 release.  This release was a collection of important bug fixes
over the 2.29 release,  but no new features were introduced.
over the 2.29 release,  but no new features were introduced.
In addition, the default build flags will be changed to include <code>-z defs</code>, so that undefined symbols result in errors. The benefit is that this prevents shipping DSOs which are not correctly linked because refer to versioned symbols as plain undefined symbols, without specifying a symbol version.


== Benefit to Fedora ==
== Benefit to Fedora ==

Revision as of 11:02, 17 January 2018


Binutils version 2.29.1

Summary

Rebase the binutils package from version 2.29 to version 2.29.1. This will bring in the bug-fixes from the 2.29.1 point release, but not add any new features.

Owner

  • Name: Nick Clifton [1]
  • Email: nickc@redhat.com
  • Release notes owner:

Current status

  • Targeted release: Fedora 28
  • Last updated: 2018-01-17
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

Switch the binutils package from being based on the 2.29 release of the FSF binutils to being based on the 2.29.1 release. This release was a collection of important bug fixes over the 2.29 release, but no new features were introduced.

In addition, the default build flags will be changed to include -z defs, so that undefined symbols result in errors. The benefit is that this prevents shipping DSOs which are not correctly linked because refer to versioned symbols as plain undefined symbols, without specifying a symbol version.

Benefit to Fedora

Fewer bugs in the linker and assembler.


Scope

  • Proposal owners: Change the source parameter in the binutils.spec rpm and adjust the local patches to take account of the bugs that are now already fixed.
  • Other developers: In theory none - the change should be completely transparent. In practice since the binutils are part of the C/C++ compiler toolchain there is the possibility that the change introduces a new bug which affects other packages.
  • Policies and guidelines: No updates needed.
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

The binutils are backwards compatible with previous releases, so no changes should be necessary.

How To Test

The binutils package does include its own set of testsuites which check basic functionality. The real test however is by rebuilding other packages which depend upon the binutils, or more likely, upon gcc. If these packages continue to work then the binutils update has not broken anything.

User Experience

The change should not be noticeable to the user.

Dependencies

This update has no hard dependencies on any other package. There are other packages that do depend upon the binutils however. Most notably gcc.

Contingency Plan

  • Contingency mechanism: Revert to the 2.29 binutils as used in Fedora 27. This work can be done by me, should it prove necessary.
  • Contingency deadline: Beta Freeze.
  • Blocks release? No
  • Blocks product? None

Documentation

The 2.29.1 release was announced here: https://www.sourceware.org/ml/binutils/2017-09/msg00311.html Unfortunately there is no list of the bugs that have been fixed in this release. A scan of the sources however indicates that the following FSF binutils bugzilla PRs were fixed: 20125 21433 21441 21782 21813 21820 21849 21861 21884 21909 21923 21924 21939 21961 21964 21990 21994 21995 22061 22064

Release Notes