[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: regex.c not 64-bit clean (?)
From: |
Santiago Vila |
Subject: |
Re: regex.c not 64-bit clean (?) |
Date: |
Wed, 14 Jun 2006 17:25:40 +0200 (CEST) |
> > make[3]: Entering directory `/home/sanvila/tmp/m4/lib'
> > gcc -DHAVE_CONFIG_H -I. -I. -I.. -Wall -Werror -c strnlen1.c
> > gcc -DHAVE_CONFIG_H -I. -I. -I.. -Wall -Werror -c xalloc-die.c
> > In file included from /usr/include/stdlib.h:433,
> > from xalloc-die.c:26:
> > /usr/include/sys/types.h:110: error: two or more data types in declaration
> > specifiers
> > make[3]: *** [xalloc-die.o] Error 1
>
> Sounds like we have a gnulib bug on our hands, in xalloc-die.
>
> OK, remind me again what 'uname -a', 'gcc --version', and 'config.guess'
> report. Also, what does 'sed -ne 90,110p /usr/include/sys/types.h' show?
[ Note: I'm doing all the tests on a "Debian unstable" chroot, since that's
where I have gcc 4.1 available. There may be bugs not in cvs m4 or gnulib ]
$ uname -a
Linux merulo 2.6.14-dsa-mckinley-smp #1 SMP Mon Dec 12 13:41:53 MST 2005 ia64
GNU/Linux
$ gcc --version
gcc (GCC) 4.1.2 20060604 (prerelease) (Debian 4.1.1-2)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ /usr/share/misc/config.guess
ia64-unknown-linux-gnu
$ sed -ne 90,110p /usr/include/sys/types.h
typedef __off64_t off_t;
# endif
# define __off_t_defined
#endif
#if defined __USE_LARGEFILE64 && !defined __off64_t_defined
typedef __off64_t off64_t;
# define __off64_t_defined
#endif
#ifndef __pid_t_defined
typedef __pid_t pid_t;
# define __pid_t_defined
#endif
#if (defined __USE_SVID || defined __USE_XOPEN) && !defined __id_t_defined
typedef __id_t id_t;
# define __id_t_defined
#endif
#ifndef __ssize_t_defined
typedef __ssize_t ssize_t;
> Really nice would be narrowing in on what the preprocessor saw:
>
> $ cd lib
> $ gcc -E -DHAVE_CONFIG_H -I. -I.. xalloc-die.c
>
> and figure where in the output that line from stdlib was showing up.
$ cd lib
$ gcc -E -DHAVE_CONFIG_H -I. -I.. xalloc-die.c > Output1
Output1 attached, as it's somewhat big.
> > This is on a debian machine with architecture "ia64". Unfortunately,
> > I am not root, so I can't change anything in the build environment
> > (in fact I've had to do the cvs and bootstrap parts in another machine).
>
> Meanwhile, the original question was whether the gnulib version of regex.c
> solved the 64-bit bugs present in the years-old version that m4 1.4.4
> used. Now that you have gnulib checked out, try:
>
> $ cd gnulib
> $ CFLAGS='-Wall -Werror' gnulib-tool --test regex
$ cd gnulib
$ CFLAGS='-Wall -Werror' ./gnulib-tool --test regex >& ../Output2
Similar error.
Output2 attached as well.
Output1
Description: Text document
Output2
Description: Text document