as segfault with invalid -march= option

Bug #1781242 reported by bugproxy
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu on IBM z Systems
Fix Released
Low
Canonical Foundations Team
binutils (Ubuntu)
Fix Released
Undecided
Skipper Bug Screeners
Xenial
Fix Released
Undecided
Unassigned

Bug Description

[Impact]

 * as segfaults, instead of exiting gracefully, when one specifies unsupported arch option (ie. one from future - cause xenial did not support z14)
 * this is bad, as detection fails around supported march options - as if binutils are completely broken, rather than just not supporting this or that CPU level of optimisations.

[Test Case]

Bad result:
 $ as -march=foo
Segmentation fault

Expected result:
# as -march=foo
Assembler messages:
Error: invalid switch -march=foo
Error: unrecognized option -march=foo

[Regression Potential]

 * The result is still a failure condition, but with a proper exit code and standard error messages, rather than an unexplainable generic segfault.

[Other Info]

 * Original bug report

The GNU assembler segfaults with an invalid -march= option

Contact Information = n/a

---uname output---
n/a

Machine Type = n/a

---Debugger---
A debugger is not configured

---Steps to Reproduce---
 $ as -march=foo
Segmentation fault

Expected result:
# as -march=foo
Assembler messages:
Error: invalid switch -march=foo
Error: unrecognized option -march=foo

Userspace tool common name: as

The userspace tool has the following bit modes: 64

Userspace rpm: binutils-2.26.1-1ubuntu1~16.04.6

Userspace tool obtained from project website: na

*Additional Instructions for n/a:
-Attach ltrace and strace of userspace application.

The problem is not critical since usually 'as' is invoked through the gcc driver which itself errors out for wrong -march= options. It will only be a problem if somebody builds a more recent GCC from source and uses an -march= option for a machine not supported by the default binutils.

Please consider integrating the attached patch into 16.04 binutils.

The problem has been fixed in later binutils already. Ubuntu 18.04 does not appear to be affected.

--> Package has to set corectly by Canonical

Revision history for this message
bugproxy (bugproxy) wrote : Patch

Default Comment by Bridge

tags: added: architecture-s39064 bugnameltc-169493 severity-low targetmilestone-inin16044
Changed in ubuntu:
assignee: nobody → Skipper Bug Screeners (skipper-screen-team)
affects: ubuntu → linux (Ubuntu)
Frank Heimes (fheimes)
affects: linux (Ubuntu) → binutils (Ubuntu)
Changed in ubuntu-z-systems:
status: New → Triaged
importance: Undecided → Low
assignee: nobody → Canonical Foundations Team (canonical-foundations)
Revision history for this message
Frank Heimes (fheimes) wrote :

Issue occurs on Xenial only (not Artful and also not on Bionic).

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

In unapproved queue, waiting review and approval.

description: updated
Changed in binutils (Ubuntu):
status: New → Fix Released
Changed in binutils (Ubuntu Xenial):
status: New → In Progress
milestone: none → xenial-updates
Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
status: Triaged → In Progress
description: updated
Revision history for this message
Robie Basak (racb) wrote : Please test proposed package

Hello bugproxy, or anyone else affected,

Accepted binutils into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/binutils/2.26.1-1ubuntu1~16.04.7 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in binutils (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-xenial
Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
status: In Progress → Fix Committed
Revision history for this message
Frank Heimes (fheimes) wrote :

Successfully verified on xenial:

ubuntu@hwe0001:~$ apt-cache policy binutils
binutils:
  Installed: 2.26.1-1ubuntu1~16.04.7
  Candidate: 2.26.1-1ubuntu1~16.04.7
  Version table:
 *** 2.26.1-1ubuntu1~16.04.7 500
        500 http://us.ports.ubuntu.com/ubuntu-ports xenial-proposed/main s390x Packages
        100 /var/lib/dpkg/status
     2.26.1-1ubuntu1~16.04.6 500
        500 http://us.ports.ubuntu.com/ubuntu-ports xenial-updates/main s390x Packages
        500 http://ports.ubuntu.com/ubuntu-ports xenial-security/main s390x Packages
     2.26-8ubuntu2 500
        500 http://us.ports.ubuntu.com/ubuntu-ports xenial/main s390x Packages
ubuntu@hwe0001:~$ as -march=foo
Assembler messages:
Error: invalid switch -march=foo
Error: unrecognized option -march=foo
ubuntu@hwe0001:~$ as -march=
Assembler messages:
Error: invalid switch -march=
Error: unrecognized option -march=
ubuntu@hwe0001:~$

Switching the verification tags accordingly ...

tags: added: verification-done verification-done-xenial
removed: verification-needed verification-needed-xenial
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for binutils has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package binutils - 2.26.1-1ubuntu1~16.04.7

---------------
binutils (2.26.1-1ubuntu1~16.04.7) xenial; urgency=medium

  * binutils-march-fix.patch: Fix -march= option parsing bound check. LP: #1781242

 -- Dimitri John Ledkov <email address hidden> Thu, 30 Aug 2018 14:39:04 +0100

Changed in binutils (Ubuntu Xenial):
status: Fix Committed → Fix Released
Changed in ubuntu-z-systems:
status: Fix Committed → Fix Released
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2018-09-20 05:06 EDT-------
IBM Bugzilla status -> closed, Fix Released by Canonical

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.