This is current/armv7 on BeagleBone Black, or almost current:
OpenBSD 5.7-beta (GENERIC-OMAP) #0: Thu Jan 8 19:32:16 CET 2015
[email protected]:/usr/src/sys/arch/armv7/compile/GENERIC-OMAP
audio/opus does not build. It configures as follows
------------------------------------------------------------------------
opus 1.1: Automatic configuration OK.
Compiler support:
C99 var arrays: ................ yes
C99 lrintf: .................... yes
Use alloca: .................... no (using var arrays)
General configuration:
Floating point support: ........ no
Fast float approximations: ..... no
Fixed point debugging: ......... no
Inline Assembly Optimizations: . ARM (EDSP) (Media)
External Assembly Optimizations: ARM (EDSP) (Media)
Run-time CPU detection: ........ no
Custom modes: .................. no
Assertion checking: ............ no
Fuzzing: ....................... no
API documentation: ............. no
Extra programs: ................ yes
------------------------------------------------------------------------
but later fails to compile kiss_fft.c, saying
cc -std=gnu99 -DHAVE_CONFIG_H -I. -I/usr/ports/pobj/opus-1.1/opus-1.1
-I/usr/ports/pobj/opus-1.1/opus-1.1/include
-I/usr/ports/pobj/opus-1.1/opus-1.1/celt
-I/usr/ports/pobj/opus-1.1/opus-1.1/silk
-I/usr/ports/pobj/opus-1.1/opus-1.1/silk/float
-I/usr/ports/pobj/opus-1.1/opus-1.1/silk/fixed -O2 -pipe -fvisibility=hidden -W
-Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -MT
celt/kiss_fft.lo -MD -MP -MF celt/.deps/kiss_fft.Tpo -c
/usr/ports/pobj/opus-1.1/opus-1.1/celt/kiss_fft.c -fPIC -DPIC -o
celt/.libs/kiss_fft.o
{standard input}: Assembler messages:
{standard input}:144: Error: garbage following instruction -- `ldrd
r4,r5,[r6,#0]'
{standard input}:346: Error: garbage following instruction -- `ldrd
r4,r5,[r7,#0]'
{standard input}:356: Error: destination register must be even -- `ldrd
r7,r8,[r9,#0]'
{standard input}:366: Error: destination register must be even -- `ldrd
r7,r8,[sl,#0]'
{standard input}:379: Error: destination register must be even -- `ldrd
r7,r8,[lr,#0]'
{standard input}:660: Error: garbage following instruction -- `ldrd
r4,r5,[r6,#0]'
{standard input}:670: Error: garbage following instruction -- `ldrd
r6,r7,[sl,#0]'
{standard input}:681: Error: garbage following instruction -- `ldrd
r6,r7,[r9,#0]'
{standard input}:853: Error: garbage following instruction -- `ldrd
r4,r5,[r7,#0]'
{standard input}:861: Error: destination register must be even -- `ldrd
r5,r6,[r8,#0]'
{standard input}:1072: Error: garbage following instruction -- `ldrd
r4,r5,[r6,#0]'
{standard input}:1220: Error: garbage following instruction -- `ldrd
r4,r5,[r1,#0]'
{standard input}:1230: Error: garbage following instruction -- `ldrd
r8,r9,[sl,#0]'
{standard input}:1241: Error: garbage following instruction -- `ldrd
r8,r9,[r6,#0]'
{standard input}:1254: Error: garbage following instruction -- `ldrd
r8,r9,[ip,#0]'
{standard input}:1535: Error: destination register must be even -- `ldrd
r5,r6,[r7,#0]'
{standard input}:1547: Error: garbage following instruction -- `ldrd
r6,r7,[r3,#0]'
{standard input}:1559: Error: garbage following instruction -- `ldrd
r8,r9,[r2,#0]'
{standard input}:1698: Error: garbage following instruction -- `ldrd
r6,r7,[r8,#0]'
{standard input}:1706: Error: garbage following instruction -- `ldrd
r6,r7,[sl,#0]'
I don't know much about instruction sets on the various platforms,
but I see the following in the Makefile:
.if ${MACHINE_ARCH} == "arm"
CONFIGURE_ARGS+=--enable-fixed-point
.endif
Can that be it? The configure has detected
Floating point support: ........ no
Fast float approximations: ..... no
so isn't it using fixed-point already?
I am running it now with "armv7" added,
but it's gonna take a while on the BBB.
Jan