i386 -> powerpc cross-compiler

James Piechota jpiechota@draper.com
Fri Jul 23 15:15:00 GMT 1999


For a little while now I've been trying to build a i386-redhat-linux to
powerpc-motorola-eabi gcc cross-compiler. For a while I was stumped by
glibc, it just wouldn't build and kept giving me a funny error. Then
someone enlightened me to the fact that glibc does not support
powerpc-eabi... so I switched to newlib. That worked wonderfully until my
present state: a redefinition error while trying to make gdb.
Anyways the versions I have been using are these:


Unfortunately, for the purposes of future uses I must use gcc-2.8.1 and
gdb-4.17 (ironically gdb-4.18 built smoothly).

The error message I got while trying to make gdb is this:

in file included from /usr/include/sys/ioctl.h:30
		from /usr/include/sys/mount.h:27
		from ../../../gdb-4.17/sim/ppc/emul_unix.c:113:
/usr/include/ioctl-types.h:37: redefinition of 'struct termios'

Part of the problem is that newlib did not have the file 'mount.h' so the
compiler went looking in /usr/include.
I'm about to dive into emul_unix.c and try and sort things out (the error
is generated by an unfortunate combination of deeply nested #include's and
a pesky '#define termio termios' (hence the ultimate interpretation of
'struct termio' as 'struct termios' and the resulting redefintion)).
Anyways, I was kind of hoping maybe this was an error someone out there had
encountered before and would be awesome enough to help me out with.

Thanks a lot. (and sorry for the long message =])

New CrossGCC FAQ: http://www.objsw.com/CrossGCC
To remove yourself from the crossgcc list, send
mail to crossgcc-request@cygnus.com with the
text 'unsubscribe' (without the quotes) in the
body of the message.

More information about the crossgcc mailing list