[ECOS] Problem building binutils for SH-* under cygwin

John M. Mills jmills@tga.com
Tue Apr 4 13:28:00 GMT 2000

I want to build eCos-1.3.1 for the SH-3, and therefore need suitable
versions of binutils: eCos docs say that 2.9.1 is unsatisfactory. I don't
think my problem is SH-specific, but rather one between 'binutils' and

I can build 2.9.1 under Cygwin, but am not successful with
more recent snapshots nor releases. I fear the reason may be Cygwin's cpp
failing to parse a macro. My build log is:

make[3]: Entering directory `/c/build/binutils/bfd'
rm -f bfd-tmp.h
cp bfd-in3.h bfd-tmp.h
/bin/sh /c/usr/src/binutils-000404/bfd/../move-if-change bfd-tmp.h bfd.h
rm -f bfd-tmp.h
touch stmp-bfd-h
/bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I/c/usr/src/binutils-000404/bfd -I. -D_GNU_SOURCE     -I. -I/c/usr/src/binutils-000404/bfd -I/c/usr/src/binutils-000404/bfd/../include  -I/c/usr/src/binutils-000404/bfd/../intl -I../intl    -g -O2 -W -Wall -c /c/usr/src/binutils-000404/bfd/archive.c
gcc -DHAVE_CONFIG_H -I. -I/c/usr/src/binutils-000404/bfd -I. -D_GNU_SOURCE -I. -I/c/usr/src/binutils-000404/bfd -I/c/usr/src/binutils-000404/bfd/../include -I/c/usr/src/binutils-000404/bfd/../intl -I../intl -g -O2 -W -Wall -c /c/usr/src/binutils-000404/bfd/archive.c -o archive.o
In file included from /c/usr/src/binutils-000404/bfd/archive.c:129:
bfd.h:309: parse error before `+'

**** and the line in question is:

#define	align_power(addr, align)	\
	( ((addr) + ((1<<(align))-1)) & (-1 << (align)))


Other failures follow and naturally the package won't build. Of course the
next thing I will need is the 'egcs' snapshot which is also recommended,
vs. gcc-2.95.2.

I checked the cross-gcc and binutils mail archives but didn't recognize my
problem there. I upgraded Cygwin, and am using 'make-3.77'. I ran
'dos2unix' on all the 'Makefile's, too, in case I had a problem arising

Can anyone recommend a usable binutils which I can build for Cygwin-B20.1,
or suggest what is going wrong here?

Thanks -

   John Mills
   Sr. Software Engineer
   TGA Technologies, Inc.
   100 Pinnacle Way, Suite 140
   Norcross, GA 30071-3633
   e-mail: jmills@tga.com
   Phone: 770-441-2100 ext.124 (voice)
          770-449-7740 (FAX)

More information about the Ecos-discuss mailing list