Bug 1282890 - The tlbie instruction has a different format from power7 onwards
Summary: The tlbie instruction has a different format from power7 onwards
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: openbios
Version: 23
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Fedora Virtualization Maintainers
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-11-17 18:03 UTC by Cole Robinson
Modified: 2016-02-05 19:38 UTC (History)
7 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2016-02-05 19:38:30 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Log of failed 'fedpkg local' (6.19 KB, text/plain)
2015-11-17 18:04 UTC, Cole Robinson
no flags Details
Log of working 'fedpkg local' (186.29 KB, text/plain)
2015-11-17 18:04 UTC, Cole Robinson
no flags Details

Description Cole Robinson 2015-11-17 18:03:35 UTC
Building the openbios package fails with cross-gcc 5.2* and binutils 2.25.1*. I noticed this on f23 originally where 5.2 is in the stable repo, but also reproduced on f22.

Packages that work fine on f22:
  binutils-powerpc64-linux-gnu.x86_64 2.25-4.fc22                               
  binutils-sparc64-linux-gnu.x86_64 2.25-4.fc22                                 
  cross-binutils-common.noarch 2.25-4.fc22                                      
  cross-gcc-common.noarch 5.1.1-3.fc22                                          
  gcc-powerpc64-linux-gnu.x86_64 5.1.1-3.fc22                                   
  gcc-sparc64-linux-gnu.x86_64 5.1.1-3.fc22

Packages that fail on f22 (from updates-testing):
  binutils-powerpc64-linux-gnu.x86_64 2.25.1-1.fc22                             
  binutils-sparc64-linux-gnu.x86_64 2.25.1-1.fc22                               
  cross-binutils-common.noarch 2.25.1-1.fc22                                    
  cross-gcc-common.noarch 5.2.1-3.fc22                                          
  gcc-powerpc64-linux-gnu.x86_64 5.2.1-3.fc22                                   
  gcc-sparc64-linux-gnu.x86_64 5.2.1-3.fc22


Steps to reproduce:
  fedpkg co --anonymous openbios
  cd openbios
  fedpkg local

Comment 1 Cole Robinson 2015-11-17 18:04:22 UTC
Created attachment 1095579 [details]
Log of failed 'fedpkg local'

Comment 2 Cole Robinson 2015-11-17 18:04:43 UTC
Created attachment 1095580 [details]
Log of working 'fedpkg local'

Comment 3 David Howells 2015-11-19 11:21:40 UTC
The tlbie instruction has a second argument from power7 onwards.  The bug is in the openbios code, not the assembler.

	.machine power7
	.text
	.align 2
	tlbie 28

fails, but:

	.machine power7
	.text
	.align 2
	tlbie 28,0

works.

Comment 4 David Howells 2015-11-19 11:24:49 UTC
Note that gcc should be given an explicit power setting rather than relying on the default.  gcc gives -mpower7 to the assembler without any instruction to the contrary.

Comment 5 Cole Robinson 2015-11-21 02:04:13 UTC
Thanks David, I brought it up on the openbios mailing list

Comment 6 Laurent Vivier 2015-11-21 16:31:55 UTC
I've proposed a fix:

http://www.openfirmware.info/pipermail/openbios/2015-November/008878.html

Comment 7 Cole Robinson 2016-02-05 18:57:56 UTC
Fix is upstream now:

commit 56f5de9b6177f1451e864efe45f7d121555d5608
Author: mcayland <mcayland@f158a5a8-5612-0410-a976-696ce0be7e32>
Date:   Wed Feb 3 20:46:31 2016 +0000

    ppc: force target cpu
    
    With gcc-5.2 default target is power7.
    
    - For 32-bit PPC builds set the target cpu to 604 in order to support PReP as
      well as Macs in the future.
    
    - For 64-bit PPC builds set the target cpu to 970 as used in 64-bit Macs but
      disable altivec.
    
    Based on an original patch by Laurent Vivier <laurent>.
    
    Signed-off-by: Mark Cave-Ayland <mark.cave-ayland.uk>
    
    git-svn-id: svn://openbios.org/openbios/trunk/openbios-devel@1378 f158a5a8-5612-0410-a976-696ce0be7e32

Comment 8 Cole Robinson 2016-02-05 19:38:14 UTC
Fix built for rawhide now


Note You need to log in before you can comment on or make changes to this bug.