Package: mpg123 Version: 1.13.7-6 Severity: important Tags: patch User: debian-...@lists.debian.org Usertags: armhf
mpg123 FTBFS on armhf with the following errors. /bin/bash ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../src -I../../src -I../../src/libmpg123 -DOPT_ARM -DREAL_IS_FIXED -D_FORTIFY_SOURCE=2 -O2 -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -c -o layer3.lo layer3.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../src -I../../src -I../../src/libmpg123 -DOPT_ARM -DREAL_IS_FIXED -D_FORTIFY_SOURCE=2 -O2 -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -c layer3.c -fPIC -DPIC -o .libs/layer3.o /tmp/ccUolZ9g.s: Assembler messages: /tmp/ccUolZ9g.s:4188: Error: shift must be constant -- `orr r6,r6,r7,lsl ip' /tmp/ccUolZ9g.s:4233: Error: shift must be constant -- `orr r7,r7,ip,lsl r8' /tmp/ccUolZ9g.s:4490: Error: shift must be constant -- `orr r6,r6,r7,lsl ip' /tmp/ccUolZ9g.s:4733: Error: shift must be constant -- `orr fp,fp,r7,lsl ip' /tmp/ccUolZ9g.s:4763: Error: shift must be constant -- `orr fp,fp,r7,lsl ip' /tmp/ccUolZ9g.s:4797: Error: shift must be constant -- `orr r6,r6,r7,lsl ip' /tmp/ccUolZ9g.s:4831: Error: shift must be constant -- `orr r8,r8,r1,lsl r0' /tmp/ccUolZ9g.s:4866: Error: shift must be constant -- `orr sl,sl,r1,lsl r6' /tmp/ccUolZ9g.s:7004: Error: shift must be constant -- `orr r7,r7,ip,lsl r8' /tmp/ccUolZ9g.s:7057: Error: shift must be constant -- `orr r7,r7,ip,lsl r8' /tmp/ccUolZ9g.s:7328: Error: shift must be constant -- `orr r8,r8,r7,lsl ip' /tmp/ccUolZ9g.s:7612: Error: shift must be constant -- `orr r8,r8,r6,lsl r7' /tmp/ccUolZ9g.s:7688: Error: shift must be constant -- `orr r8,r8,r6,lsl r7' /tmp/ccUolZ9g.s:7726: Error: shift must be constant -- `orr sl,sl,r7,lsl ip' /tmp/ccUolZ9g.s:7846: Error: shift must be constant -- `orr r8,r8,r1,lsl r0' /tmp/ccUolZ9g.s:7886: Error: shift must be constant -- `orr r8,r8,r1,lsl r6' make[4]: *** [layer3.lo] Error 1 The cause seems to be some thumb2 incompatible inline assembler. The attatched patch adds -marm to the CFLAGs to get arround this.
diff -ur mpg123-1.13.7/debian/rules mpg123-1.13.7.new/debian/rules --- mpg123-1.13.7/debian/rules 2012-04-01 08:25:34.000000000 +0000 +++ mpg123-1.13.7.new/debian/rules 2012-04-05 15:43:32.000000000 +0000 @@ -31,6 +31,10 @@ CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS) LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) +ifeq ($(ARCH),armhf) + CFLAGS += -marm +endif + LDFLAGS += -Wl,--as-needed #export DH_VERBOSE=1