$ ../gdb-5.2/configure --target=m68k-elf
[snip]
$ make
[snip]
gcc -c -g -O2 -I/usr/include/v9 -I. -I../../gdb-5.2/gdb
-I../../gdb-5.2/gdb/config -DHAVE_CONFIG_H
-I../../gdb-5.2/gdb/../include/opcode
-I../../gdb-5.2/gdb/../readline/..
-I../bfd -I../../gdb-5.2/gdb/../bfd -I../../gdb-5.2/gdb/../include
-I../intl -I../../gdb-5.2/gdb/../intl -DMI_OUT=1 -DUI_OUT=1
-Wimplicit
-Wreturn-type -Wcomment -Wtrigraphs -Wformat -Wparentheses
-Wpointer-arith
-Wuninitialized ../../gdb-5.2/gdb/ser-unix.c
In file included from /usr/include/netinet/in.h:41,
from /usr/include/sys/socket.h:200,
from ../../gdb-5.2/gdb/ser-unix.c:29:
/usr/include/sys/stream.h:327: redefinition of `struct bcache'
gmake[1]: *** [ser-unix.o] Error 1
Randy
This is a namespace conflict. The Solaris stream.h defines struct bcache
which is also defined by GDB in bcache.h; the latter is being included
unnecessarily in the files ser-unix.c, ser-pipe.c, and ser-tcp.c.
I was able to get the m68k-elf target to build by adding:
#define BCACHE_H 1
at the top of each of these files. Not that I'd submit that as a patch ;-)
but this allows me to build native Solaris and m68k-elf targets.
Hopefully someone more familiar with the code can come up with a more
elegant solution?
Would you be able to determine/explain exactly how "bcache.h" came to be
included? Looking at ser-*.c, nothing obvious jumped out.