Bug 221814

Summary: x11/pixman: fails to build on armv6 with clang 5
Product: Ports & Packages Reporter: Mikael Urankar <mikael>
Component: Individual Port(s)Assignee: freebsd-x11 (Nobody) <x11>
Status: Closed FIXED    
Severity: Affects Many People CC: freebsd-arm, mmel, sylvain
Priority: --- Flags: bugzilla: maintainer-feedback? (x11)
Version: Latest   
Hardware: arm   
OS: Any   
URL: http://beefy8.nyi.freebsd.org/data/head-armv6-default/p448640_s322824/logs/errors/pixman-0.34.0.log
Attachments:
Description Flags
patch
none
new patch none

Description Mikael Urankar freebsd_committer 2017-08-25 18:20:14 UTC
Created attachment 185761 [details]
patch

Hi,                                  

It seems that clang 5.x has implemented the .altmacro directive and now pixman enables neon and simd on armv6.                                       
clang integrated assembler doesn't understand .func / .endfunc and other directives used by simd/neon code in pixman and our linker is too old
to link some binaries. We need to disable the integrated assembler and use binutils on armv6. neon is an armv7 feature so we need to disable it for armv6.
See attached patch, it fixes the build on armv6.

Thanks in advance.

error log:
http://beefy8.nyi.freebsd.org/data/head-armv6-default/p448640_s322824/logs/errors/pixman-0.34.0.log
Comment 1 Michal Meloun freebsd_committer 2017-08-31 05:30:17 UTC
Created attachment 185943 [details]
new patch

The original patch is slightly incomplete, it missing dependency for binutils/as. Also, the external assembler is necessary only for .S files and it looks safer to use standard integrated assembler for rest.
Comment 2 commit-hook freebsd_committer 2017-09-05 14:05:11 UTC
A commit references this bug:

Author: swills
Date: Tue Sep  5 14:04:11 UTC 2017
New revision: 449285
URL: https://svnweb.freebsd.org/changeset/ports/449285

Log:
  x11/pixman: fix build on armv6 with clang 5

  PR:		221814
  Submitted by:	mikael.urankar@gmail.com

Changes:
  head/x11/pixman/Makefile
Comment 3 Steve Wills freebsd_committer 2017-09-05 14:31:29 UTC
Committed, thanks!
Comment 4 Jan Beich freebsd_committer 2018-02-01 23:09:06 UTC
*** Bug 221044 has been marked as a duplicate of this bug. ***
Comment 5 commit-hook freebsd_committer 2018-12-03 10:48:42 UTC
A commit references this bug:

Author: jbeich
Date: Mon Dec  3 10:47:50 UTC 2018
New revision: 486510
URL: https://svnweb.freebsd.org/changeset/ports/486510

Log:
  x11/pixman: actually use GNU as from devel/binutils

  ./pixman-arm-simd-asm.h:695: Warning: ignoring redefinition of register alias 'wk4'
  ./pixman-arm-neon-asm.h:941: Warning: ignoring redefinition of register alias 'dst_w'
  ./pixman-arm-neon-asm.h:702: Warning: ignoring redefinition of register alias 'orig_w'
  pixman-arm-neon-asm-bilinear.S:612: Warning: ignoring redefinition of register alias 'top'

  PR:		221814 233740
  Reported by:	Charlie Li
  Approved by:	portmgr blanket

Changes:
  head/x11/pixman/Makefile