I am trying to build gnuradio-core on Darwin 8.6.1 on an Intel processor
(MacBook Pro). (Has anybody done this yet? I couldn’t find any
through Google). I started with Jon Jacky’s excellent instructions and
all the prerequisites straightened out (I think).
Where I get stuck is in building the dot product routines in
gnuradio-core, with error messages like this one:
/bin/sh …/…/…/libtool --mode=compile gcc -g -O2 -Wall -c -o
gcc -g -O2 -Wall -c float_dotprod_sse.S -fno-common -DPIC -o
float_dotprod_sse.S:59:Alignment too large: 15. assumed.
make: *** [float_dotprod_sse.lo] Error 1
make: *** [all] Error 2
Not sure what is supposed to be wrong with 16-Byte alignment. Ideas,
anybody? Also, I remember that when I got my Ubuntu 5.10 PC install
working a while ago, I had to go to gcc 3.4 instead of gcc4. The
on this box is
$ gcc --version
i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build
Are there any known issues with this?
Well, it looks like I can answer my own question. I found the following
passage in the gnu assembler manual:
The way the required alignment is specified varies from system to
For the a29k, hppa, m68k, m88k, w65, sparc, Xtensa, and Renesas / SuperH
SH, and i386 using ELF format, the first expression is the alignment
request in bytes. For example .align 8 advances the location counter
it is a multiple of 8. If the location counter is already a multiple of
no change is needed.
For other systems, including the i386 using a.out format, and the arm
strongarm, it is the number of low-order zero bits the location counter
must have after advancement. For example .align 3 advances the location
counter until it a multiple of 8. If the location counter is already a
multiple of 8, no change is needed.
So on Intel Macs, the .align 16 would do an alignment to the next 64k
boundary. Now I am much more sympathetic to the error message. After
changing the .align 16 to .align 4, everything builds and all the test
Let’s see whether I can get the rest to work.