Bug 1200836 - uhd ftbfs on aarch64
Summary: uhd ftbfs on aarch64
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: uhd
Version: rawhide
Hardware: aarch64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jaroslav Škarvada
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-03-11 13:18 UTC by Marcin Juszkiewicz
Modified: 2015-03-11 15:54 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-03-11 15:48:02 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
spec+patch (2.48 KB, application/mbox)
2015-03-11 13:18 UTC, Marcin Juszkiewicz
no flags Details
Proposed fix (403 bytes, patch)
2015-03-11 15:44 UTC, Jaroslav Škarvada
no flags Details | Diff

Description Marcin Juszkiewicz 2015-03-11 13:18:27 UTC
Created attachment 1000435 [details]
spec+patch

Description of problem:

UHD uses armv7a NEON code if arm_neon.h header is present. But this header exists also on AArch64.

Version-Release number of selected component (if applicable):

3.8.2-1

How reproducible:

always

Steps to Reproduce:
1. do a build on aarch64 (arm-koji)

Actual results:

/builddir/build/BUILD/uhd-release_003_008_002/host/lib/convert/convert_neon.S: Assembler messages:
/builddir/build/BUILD/uhd-release_003_008_002/host/lib/convert/convert_neon.S:18: Error: unknown architecture `armv7-a'
/builddir/build/BUILD/uhd-release_003_008_002/host/lib/convert/convert_neon.S:19: Error: unknown pseudo-op: `.fpu'
/builddir/build/BUILD/uhd-release_003_008_002/host/lib/convert/convert_neon.S:20: Error: unknown pseudo-op: `.syntax'
/builddir/build/BUILD/uhd-release_003_008_002/host/lib/convert/convert_neon.S:27: Error: unknown mnemonic `vld2.16' -- `vld2.16 {q0,q1},[r0]!'
/builddir/build/BUILD/uhd-release_003_008_002/host/lib/convert/convert_neon.S:28: Error: unknown mnemonic `vld2.16' -- `vld2.16 {q2,q3},[r0]!'
/builddir/build/BUILD/uhd-release_003_008_002/host/lib/convert/convert_neon.S:29: Error: unknown mnemonic `vswp' -- `vswp q0,q1'
/builddir/build/BUILD/uhd-release_003_008_002/host/lib/convert/convert_neon.S:30: Error: unknown mnemonic `vswp' -- `vswp q2,q3'
/builddir/build/BUILD/uhd-release_003_008_002/host/lib/convert/convert_neon.S:31: Error: unknown mnemonic `vst2.16' -- `vst2.16 {q0,q1},[r1]!'
/builddir/build/BUILD/uhd-release_003_008_002/host/lib/convert/convert_neon.S:32: Error: unknown mnemonic `vst2.16' -- `vst2.16 {q2,q3},[r1]!'
/builddir/build/BUILD/uhd-release_003_008_002/host/lib/convert/convert_neon.S:33: Error: operand 1 should be an integer register -- `subs r2,#1'
/builddir/build/BUILD/uhd-release_003_008_002/host/lib/convert/convert_neon.S:35: Error: unknown mnemonic `bx' -- `bx lr'
/usr/bin/cmake -E cmake_progress_report /builddir/build/BUILD/uhd-release_003_008_002/host/build/CMakeFiles 39
[ 19%] lib/CMakeFiles/uhd.dir/build.make:450: recipe for target 'lib/CMakeFiles/uhd.dir/convert/convert_neon.S.o' failed
make[2]: *** [lib/CMakeFiles/uhd.dir/convert/conv

Expected results:

package builds

Additional info:

Attached fix is maybe not perfect but works.

Comment 1 Jaroslav Škarvada 2015-03-11 15:44:56 UTC
Created attachment 1000547 [details]
Proposed fix

IIRC in Fedora we are building without NEON for backward compatibility (correct me if it was changed).

Currently there are two problems:
- aarch64 is not listed in %arm macro, so the conditional for arm didn't trigger. I think aarch64 is arm and should be listed in arm. I will report this against rpm component (again, correct me if this assumption is wrong).

- it seems there is no %without macro in Fedora, so the conditional didn't trigger even with correct %arm macro

Attached patch should fix both problems.

Comment 2 Jaroslav Škarvada 2015-03-11 15:54:33 UTC
Opened bug 1200910.


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