Bug 221814 - x11/pixman: fails to build on armv6 with clang 5
Summary: x11/pixman: fails to build on armv6 with clang 5
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: arm Any
: --- Affects Many People
Assignee: freebsd-x11 (Nobody)
URL: http://beefy8.nyi.freebsd.org/data/he...
Keywords:
: 221044 (view as bug list)
Depends on:
Blocks:
 
Reported: 2017-08-25 18:20 UTC by Mikael Urankar
Modified: 2018-12-03 10:48 UTC (History)
3 users (show)

See Also:
bugzilla: maintainer-feedback? (x11)


Attachments
patch (485 bytes, patch)
2017-08-25 18:20 UTC, Mikael Urankar
no flags Details | Diff
new patch (429 bytes, patch)
2017-08-31 05:30 UTC, Michal Meloun
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mikael Urankar freebsd_committer freebsd_triage 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 freebsd_triage 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 freebsd_triage 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 freebsd_triage 2017-09-05 14:31:29 UTC
Committed, thanks!
Comment 4 Jan Beich freebsd_committer freebsd_triage 2018-02-01 23:09:06 UTC
*** Bug 221044 has been marked as a duplicate of this bug. ***
Comment 5 commit-hook freebsd_committer freebsd_triage 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