recent breakage on mips: hash.c?
J. Johnston
jjohnstn@redhat.com
Fri Jun 21 08:36:00 GMT 2002
cgd@broadcom.com wrote:
>
> I ran into some problems on mips which seem to be caused by the patch
> from:
>
> 2002-06-20 Thomas Fitzsimmons <fitzsim@redhat.com>
>
> which adds the libc/search stuff. (Amusing to see my re-implemented
> hcreate et al. show up someplace... Is this the reason K.B. asked me
> about it a few weeks ago? 8-) I didn't see any recent posting about
> that patch to the list... Did i miss something, or is posting patches
> to the list not customary as it is for e.g. binutils?
>
> Anyway, compiling from sources as of ... earlier today, host
> sparc-solaris target mips-elf, i get:
>
> /projects/bbp_ext7/systems/cgd/proj/gcc-testing/work/mips-elf.build/gcc/xgcc -B/projects/bbp_ext7/systems/cgd/proj/gcc-testing/work/mips-elf.build/gcc/ -nostdinc -B/projects/bbp_ext7/systems/cgd/proj/gcc-testing/work/mips-elf.build/mips-elf/soft-float/newlib/ -isystem /projects/bbp_ext7/systems/cgd/proj/gcc-testing/work/mips-elf.build/mips-elf/soft-float/newlib/targ-include -isystem /home/cgd/proj/gcc-testing/combined/newlib/libc/include -B/home/cgd/proj/gcc-testing/work/mips-elf.install/mips-elf/bin/ -B/home/cgd/proj/gcc-testing/work/mips-elf.install/mips-elf/lib/ -isystem /home/cgd/proj/gcc-testing/work/mips-elf.install/mips-elf/include -L/projects/bbp_ext7/systems/cgd/proj/gcc-testing/work/mips-elf.build/ld -msoft-float -DPACKAGE=\"newlib\" -DVERSION=\"1.10.0\" -I. -I/home/cgd/proj/gcc-testing/combined/newlib/libc/search -O2 -DMISSING_SYSCALL_NAMES -fno-builtin -O2 -g -O2 -msoft-float -c /home/cgd/proj/gcc-testing/combined/newlib/libc/search/hash.c
> /home/cgd/proj/gcc-testing/combined/newlib/libc/search/hash.c: In function `init_hash':
> /home/cgd/proj/gcc-testing/combined/newlib/libc/search/hash.c:298: error: `BYTE_ORDER' undeclared (first use in this function)
> /home/cgd/proj/gcc-testing/combined/newlib/libc/search/hash.c:298: error: (Each undeclared identifier is reported only once
> /home/cgd/proj/gcc-testing/combined/newlib/libc/search/hash.c:298: error: for each function it appears in.)
> gmake[5]: *** [hash.o] Error 1
>
> Looks like this would normally be defined by
> libc/include/sys/param.h because of __IEEE_{BIG,LITTLE}_ENDIAN.
>
> In turn, those are defined in one of:
>
> ./libc/include/machine/ieeefp.h
> ./libc/include/sys/config.h
>
> it looks like MIPS currently only has the macros defined in the
> former. The latter has the comment:
>
> /* ??? Why is much of this stuff duplicated with machine/ieeefp.h? */
>
> so it looks like others have been confused by this in the past?
>
> I've copied the MIPSE{L,B} blocks from ieeefp.h to config.h, and am
> going to give it a go... but does that sound like the right solution?
> The duplication ... does seem silly and harmful...
>
I have a patch which I am testing as we speak. I have placed a default setting in
sys/param.h based on whether sys/config.h sets BYTE_ORDER or not. The same default
setting goes in hash.h in libc/search. Both are protected. This seems to remove the
problem and avoid conflict with Cygwin that defines BYTE_ORDER or the other systems that
provide sys/param.h.
I will repost when my testing is completed and the patch is applied.
-- Jeff J.
More information about the Newlib
mailing list