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
      r...@bbb.stare.cz:/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

Reply via email to