P9 support in binutils
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
binutils (Ubuntu) |
Fix Released
|
High
|
Matthias Klose | ||
Xenial |
Fix Released
|
Undecided
|
Matthias Klose |
Bug Description
[SRU Justification]
Hardware enablement of new P9 architecture on 16.04 LTS
[Test case]
Verify that the binutils testsuite still passes. This requires manual review of the build logs.
[Regression potential]
One of the patches changes the behavior around handling of undefined weak symbols on ppc64el as a whole. This behavior change could cause regressions on code built for existing ppc64el targets. This is unlikely because nothing should be relying on the current behavior, and this is an upstream patch driven by the architecture owner.
One of the patches changes the set of assembly mnemonics available for POWER9 opcodes. This should have no impact because nothing should be relying on the not-yet-finalized P9 support in xenial.
The upstream binutils (2.27 and trunk) is almost complete for POWER9, but unfortunately the changes expected to land in DD2 hardware have not yet been set in stone. With that said, the remaining changes are fairly small and will only affect user space; there are no kernel dependencies on the unresolved architecture changes.
== Comment: #3 - Peter E. Bergner <email address hidden> - 2016-11-01 10:43:16 ==
Complete POWER9 support is upstream and exists in trunk and the binutils 2.27 and 2.26 release branches.
== Comment: #4 - Breno Henrique Leitao <email address hidden> - 2016-11-21 12:45:53 ==
(In reply to comment #3)
> Complete POWER9 support is upstream and exists in trunk and the binutils
> 2.27 and 2.26 release branches.
Binutils version 2.27 is already in Ubuntu 17.04. Is there anything else required?
== Comment: #5 - William J. Schmidt <email address hidden> - 2016-11-21 13:32:50 ==
(In reply to comment #4)
> (In reply to comment #3)
> > Complete POWER9 support is upstream and exists in trunk and the binutils
> > 2.27 and 2.26 release branches.
>
> Binutils version 2.27 is already in Ubuntu 17.04. Is there anything else
> required?
Well, as long as they pick up the backported fixes, nothing else is required. That's what this feature is there to ensure.
== Comment: #6 - Breno Henrique Leitao <email address hidden> - 2016-11-24 06:52:51 ==
Hi,
> Well, as long as they pick up the backported fixes, nothing else is
> required. That's what this feature is there to ensure.
Do you know, at this time, which are the fixes that will be requested to be backported?
== Comment: #7 - William J. Schmidt <email address hidden> - 2016-11-28 09:17:01 ==
(In reply to comment #6)
> Hi,
>
> > Well, as long as they pick up the backported fixes, nothing else is
> > required. That's what this feature is there to ensure.
>
> Do you know, at this time, which are the fixes that will be requested to be
> backported?
Peter, can you please respond to Breno's question?
== Comment: #8 - Peter E. Bergner <email address hidden> - 2016-11-29 12:08:11 ==
CC'ing Alan in case he has an extra input.
Looking through the binutils-
commit 799b679496c98eb
Author: Peter Bergner <email address hidden>
Date: Fri Sep 16 16:17:46 2016 -0500
Backport lastest POWER9 support to match final ISA 3.0 documentation.
opcodes/
Apply from master.
* ppc-opc.c (powerpc_opcodes) <slbiag>: New mnemonic.
xor3>: Delete mnemonics.
<setb>: Change to a X form instruction.
<sync>: Change to 1 operand form.
<copy>: Delete mnemonic.
<copy>: ...to this.
<paste, paste.>: Delete mnemonics.
gas/
Apply from master.
* testsuite/
xor3, cp_abort, copy_first, paste, paste_last, sync>: Remove tests.
<copy, paste.>: Update tests.
* testsuite/
commit c6a7c521c14e0cc
Author: Alan Modra <email address hidden>
Date: Thu Sep 1 14:56:52 2016 +0930
Don't treat .opd section specially when ELFv2
Fixes a gdb segfault if a section named .opd is found in ELFv2 binaries.
* elf64-ppc.c (synthetic_opd): New static var.
commit 2a0b8eb7a7974ff
Author: Alan Modra <email address hidden>
Date: Tue Aug 30 20:57:32 2016 +0930
ppc apuinfo for spe parsed incorrectly
apuinfo saying SPE resulted in mach = bfd_mach_ppc_vle due to a
missing break.
PR 20531
* elf32-ppc.c (_bfd_elf_
commit 7f27ccfcd5b86a6
Author: Alan Modra <email address hidden>
Date: Fri Aug 19 11:06:41 2016 +0930
PR 20472, PowerPC64 ifunc confusion
This patch fixes quite a lot of confusion in allocate_dynrelocs over
ifuncs. Function descriptors make ELFv1 quite different to ELFv2.
PR 20472
* elf64-ppc.c (ppc64_
ELFv2 code deciding on dynamic relocs vs. global entry stubs to
that in size_global_
weak sym code.
Tidy ELIMINATE_
commit e4aa8a9f60398ea
Author: Alan Modra <email address hidden>
Date: Thu Aug 11 12:30:52 2016 +0930
PowerPC64 ELFv1 undefined weak functions
Undefined weak functions, like __gmon_start__, were not being made
dynamic or emitting plt call code. While the behaviour of undefined
weak symbols is not defined in the ELF standard, the intention on
powerpc64 was to make it possible to link without a definition of such
symbols and at run time behave the same as if a definition was found
at link time in a shared library.
* elf64-ppc.c (ppc64_
copies but decide not to do so.
tags: | added: architecture-ppc64le bugnameltc-145030 severity-high targetmilestone-inin1704 |
Changed in ubuntu: | |
assignee: | nobody → Taco Screen team (taco-screen-team) |
affects: | ubuntu → binutils (Ubuntu) |
Changed in binutils (Ubuntu): | |
assignee: | Steve Langasek (vorlon) → Matthias Klose (doko) |
status: | New → Fix Released |
Changed in binutils (Ubuntu Xenial): | |
assignee: | nobody → Matthias Klose (doko) |
tags: |
added: verification-done-xenial removed: verification-done |
tags: |
added: targetmilestone-inin16043 removed: targetmilestone-inin1704 |
Steve, could you please take a look at this request?