(Mention -z defs flags change) |
(Mention that -z defs was reverted) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 34: | Line 34: | ||
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. --> | <!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. --> | ||
* Email: nickc@redhat.com | * Email: nickc@redhat.com | ||
* Release notes | * Release notes ticket: [https://pagure.io/fedora-docs/release-notes/issue/101 #101] | ||
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo) | <!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo) | ||
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address> | * FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address> | ||
Line 54: | Line 54: | ||
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development | CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development | ||
--> | --> | ||
* Tracker bug: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1537263 #1537263] | ||
== Detailed Description == | == Detailed Description == | ||
Line 74: | Line 74: | ||
* 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. | * 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. | * Other developers: | ||
** For the rebase: 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. | |||
** For the <code>-z defs</code> flags change (which will be implemented in <code>redhat-rpm-config</code>): | |||
*** Add missing DSOs or avoid using compatibility symbols. | |||
*** Use <code>-z undefs</code> if the DSO links against a main program at run time, where undefined symbols are expected. | |||
*** See [https://src.fedoraproject.org/rpms/redhat-rpm-config/blob/master/f/buildflags.md Using RPM build flags] for details. | |||
* Release engineering: https://pagure.io/releng/issue/7251 | * Release engineering: https://pagure.io/releng/issue/7251 | ||
Line 124: | Line 129: | ||
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "Revert the shipped configuration". Or it might not (e.g. rebuilding a number of dependent packages). If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | <!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "Revert the shipped configuration". Or it might not (e.g. rebuilding a number of dependent packages). If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | ||
* 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 mechanism: Revert to the 2.29 binutils as used in Fedora 27. This work can be done by me, should it prove necessary. | ||
** The contingency mechanism was invoked for the <code>-z defs</code> change, which was reverted. | |||
<!-- When is the last time the contingency mechanism can be put in place? This will typically be the beta freeze. --> | <!-- When is the last time the contingency mechanism can be put in place? This will typically be the beta freeze. --> | ||
* Contingency deadline: Beta Freeze. | * Contingency deadline: Beta Freeze. | ||
Line 165: | Line 171: | ||
--> | --> | ||
[[Category: | [[Category:ChangeAcceptedF28]] | ||
<!-- When your change proposal page is completed and ready for review and announcement --> | <!-- When your change proposal page is completed and ready for review and announcement --> | ||
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | <!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> |
Latest revision as of 16:23, 9 March 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
Current status
- Targeted release: Fedora 28
- Last updated: 2018-03-09
- Tracker bug: #1537263
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:
- For the rebase: 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.
- For the
-z defs
flags change (which will be implemented inredhat-rpm-config
):- Add missing DSOs or avoid using compatibility symbols.
- Use
-z undefs
if the DSO links against a main program at run time, where undefined symbols are expected. - See Using RPM build flags for details.
- Release engineering: https://pagure.io/releng/issue/7251
- List of deliverables: Just the binutils 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.
- The contingency mechanism was invoked for the
-z defs
change, which was reverted.
- The contingency mechanism was invoked for the
- 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