This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 32-bit glibc build broken?


On Fri, Aug 27, 2010 at 5:35 PM, Paul Pluzhnikov <ppluzhnikov@google.com> wrote:
> On Fri, Aug 27, 2010 at 5:11 PM, Roland McGrath <roland@redhat.com> wrote:
>> Fixed.
>
> Thanks!
>
> The i686 build is still failing for me, but this looks like a GCC bug
> (I am using GCC from SVN @163591, sync'd this morning):
>
> /home/ppluzhnikov/gcc-svn-install/bin/gcc -m32
> ../sysdeps/i386/i686/multiarch/strstr-c.c -c -std=gnu99 -fgnu89-inline
> -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -g
> -Wstrict-prototypes -mpreferred-stack-boundary=2 ?-Wa,-mtune=i686
> -I../include -I/home/ppluzhnikov/glibc-git/build32/string
> -I/home/ppluzhnikov/glibc-git/build32 -I../sysdeps/i386/elf
> -I../nptl/sysdeps/unix/sysv/linux/i386/i686
> -I../sysdeps/unix/sysv/linux/i386/i686
> -I../nptl/sysdeps/unix/sysv/linux/i386
> -I../sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux
> -I../nptl/sysdeps/pthread -I../sysdeps/pthread
> -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common
> -I../sysdeps/unix/mman -I../sysdeps/unix/inet
> -I../sysdeps/unix/sysv/i386 -I../nptl/sysdeps/unix/sysv
> -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix
> -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu
> -I../sysdeps/i386/i686/multiarch -I../nptl/sysdeps/i386/i686
> -I../sysdeps/i386/i686 -I../sysdeps/i386/i486
> -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu
> -I../nptl/sysdeps/i386 -I../sysdeps/i386 -I../sysdeps/wordsize-32
> -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64
> -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754
> -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl ?-I..
> -I../libio -I. ?-D_LIBC_REENTRANT -include ../include/libc-symbols.h
> ? ?-o /home/ppluzhnikov/glibc-git/build32/string/strstr-c.o -MD -MP
> -MF /home/ppluzhnikov/glibc-git/build32/string/strstr-c.o.dt -MT
> /home/ppluzhnikov/glibc-git/build32/string/strstr-c.o
>
> In file included from ../sysdeps/i386/i686/multiarch/strstr-c.c:8:0:
> ../string/strstr.c:90:1: warning: data definition has no type or
> storage class [enabled by default]
> ../string/strstr.c:90:1: warning: type defaults to ‘int’ in
> declaration of ‘__hidden_ver1’ [enabled by default]
> ../string/strstr.c:90:1: warning: parameter names (without types) in
> function declaration [enabled by default]
> ../string/strstr.c:90:1: internal compiler error: tree check: expected
> tree that contains ‘decl minimal’ structure, have ‘tree_list’ in
> start_decl, at c-decl.c:4056
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://gcc.gnu.org/bugs.html> for instructions.
> make: *** [/home/ppluzhnikov/glibc-git/build32/string/strstr-c.o] Error 1
>
>
> However, the preprocessed file doesn't look correct either:
> ...
> # 41 "../string/strstr.c" 2
> # 51 "../string/strstr.c"
> char *
> __strstr_ia32 (const char *haystack_start, const char *needle_start)
> {
> ?const char *haystack = haystack_start;
> ?const char *needle = needle_start;
> ?size_t needle_len;
> ?size_t haystack_len;
> ?_Bool ok = 1;
> ...
> ?return two_way_long_needle ((const unsigned char *) haystack, haystack_len,
> ? ? ? ? (const unsigned char *) needle, needle_len);
> }
> __hidden_ver1 (__strstr_ia32, __GI_strstr, __strstr_ia32);
>
> GCC crashes on the last line (line 90). Shouldn't __hidden_ver1 have
> been expanded?
>

This patch fixes it.


-- 
H.J.
--
2010-08-30  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i686/multiarch/strstr-c.c (libc_hidden_builtin_def):
	Redefine only if SHARED is defined.

Attachment: libc-foo-1.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]