Can't build binutils-2.12 on hpux 10.20

Peter Barada pbarada@mail.wm.sps.mot.com
Tue Apr 16 09:36:00 GMT 2002


I'm trying to build binutils-2.12 targetting m68k-elf on a HPUX 10.20
and binutils/strings.c doesn't want to build.  config.status is:

/local/pbarada/cvs-wavemark/cross-linux-tools/binutils-2/configure \
--host=hppa2.0-hp-hpux10.20 --target=m68k-elf --prefix=/local/pbarada/crap --norecursion 

GCC is:
$ gcc -v
Reading specs from /opt/gnu/lib/gcc-lib/hppa1.1-hp-hpux10.20/2.7.2.3/specs
gcc version 2.7.2.3

And the log looks like:

$ gcc -DHAVE_CONFIG_H -I. -I/local/pbarada/cvs-wavemark/cross-linux-tools/binutils-2/binutils -I. -D_GNU_SOURCE -I. -I/local/pbarada/cvs-wavemark/cross-linux-tools/binutils-2/binutils -I../bfd -I/local/pbarada/cvs-wavemark/cross-linux-tools/binutils-2/binutils/../bfd -I/local/pbarada/cvs-wavemark/cross-linux-tools/binutils-2/binutils/../include -DHOST_HPPAHPUX -I/local/pbarada/cvs-wavemark/cross-linux-tools/binutils-2/binutils/../intl -I../intl -DLOCALEDIR="\"/local/pbarada/crap/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c /local/pbarada/cvs-wavemark/cross-linux-tools/binutils-2/binutils/strings.c -o /tmp/strings.o
In file included from /local/pbarada/cvs-wavemark/cross-linux-tools/binutils-2/binutils/strings.c:64:
/local/pbarada/cvs-wavemark/cross-linux-tools/binutils-2/binutils/../include/getopt.h:115: warning: function declaration isn't a prototype
In file included from /local/pbarada/cvs-wavemark/cross-linux-tools/binutils-2/binutils/strings.c:67:
/local/pbarada/cvs-wavemark/cross-linux-tools/binutils-2/binutils/../include/libiberty.h:80: warning: function declaration isn't a prototype
/local/pbarada/cvs-wavemark/cross-linux-tools/binutils-2/binutils/strings.c:97: parse error before `file_off'

from binutils/config.h I see:

/* Is fopen64 available? */
#define HAVE_FOPEN64 1

After running strings.c through the preprocessor I found that _OFF64_T
is being defined, but off64_t is not being typedef'd:

#  ifndef _OFF64_T
#    define _OFF64_T
#    if !defined(__STDC_32_MODE__)
        typedef int64_t off64_t;	/* 64bit offsets and sizes */
#    endif
#  endif /* _OFF64_T */

>From this I have to guess that __STDC_32_MODE__ is defined so off64_t
is not typedef'd.  This is the only place that off64_t can be
typedefed in all of /usr/include.

If I disable HAVE_FOPEN64, everthing builds and looks like it works.
Any ideas on what's going wrong?

-- 
Peter Barada                                   Peter.Barada@motorola.com
Wizard                                         781-852-2768 (direct)
WaveMark Solutions(wholly owned by Motorola)   781-270-0193 (fax)



More information about the Binutils mailing list