This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC 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]

[tree-ssa] Failure to build glibc


Using tree-ssa from yesterday, I tried to build glibc for x86-64:

/opt/gcc/tree-ssa-20020619-branch/bin/gcc dl-deps.c -c -std=gnu99 -O2 -Wall -Winline -Wstrict-prototypes -Wwrite-strings -g      -I../include -I. -I/usr/src/aj/build/libc/tree-ssa/elf -I.. -I../libio  -I/usr/src/aj/build/libc/tree-ssa -I../sysdeps/x86_64/elf -I../linuxthreads/sysdeps/unix/sysv/linux/x86_64 -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/x86_64 -I../sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/x86_64 -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/x86_64/fpu -I../sysdeps/x86_64 -I../sysdeps/wordsize-64 -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  -D_LIBC_REENTRANT -include ../include/libc-symbols.h       -o /usr/src/aj/build/libc/tree-ssa/elf/dl-deps.o -MD -MP -MF /usr/src/aj/build/libc/tree-ssa/elf/dl-deps.o.dt
dl-deps.c: In function `_dl_map_object_deps':
dl-deps.c:240: error: continue statement not within loop or switch
dl-deps.c:285: error: continue statement not within loop or switch
dl-deps.c: At top level:
../stdio-common/_itoa.h:40: warning: inlining failed in call to `_itoa_word'
dl-deps.c:76: warning: called from here
make[2]: *** [/usr/src/aj/build/libc/tree-ssa/elf/dl-deps.o] Error 1

This is wrong, the continue is in a for loop.  I'm appending
preprocessed source code.

the construct is:

   for (d = l->l_ld; d->d_tag != 0; ++d)
     if (__builtin_expect (d->d_tag, 1) == 1)
       {

  struct link_map *dep;
  int err;


  name = ({ const char *__str = (strtab + d->d_un.d_val); const char *__result = __str; size_t __cnt = ({ size_t __cnt = 0; const char *__sf = (__extension__ (__builtin_constant_p ('$') && ('$') == '\0' ? (char *) __rawmemchr (__str, '$') : strchr (__str, '$'))); if (__builtin_expect (__sf != ((void *)0), 0)) __cnt = _dl_dst_count (__sf, 0); __cnt; }); if (__cnt != 0) { char *__newp; if (__libc_enable_secure) _dl_signal_error (0, __str, ((void *)0), "DST not allowed in SUID/SGID programs"); __newp = (char *) __builtin_alloca (({ size_t origin_len; size_t __len = (strlen (__str)); if ((l)->l_origin == ((void *)0)) { ((void) (((l)->l_name[0] == '\0') ? 0 : (__assert_fail ("(l)->l_name[0] == '\\0'", "dl-deps.c", 240, __PRETTY_FUNCTION__), 0))); (l)->l_origin = _dl_get_origin (); origin_len = ((l)->l_origin && (l)->l_origin != (char *) -1 ? strlen ((l)->l_origin) : 0); } else origin_len = (l)->l_origin == (char *) -1 ? 0 : strlen ((l)->l_origin); __len + __cnt * ((((origin_len)>(_dl_platformlen))?(origin_len):(_dl_platformlen)) - 7); })); __result = _dl_dst_substitute (l, __str, __newp, 0); if (*__result == '\0') { if (0) _dl_signal_error (0, __str, ((void *)0), "empty dynamics string token substitution"); else { if (__builtin_expect (_dl_debug_mask & (1 << 0), 0)) _dl_debug_printf ("cannot load auxiliary `%s' because of empty dynamic string token " "substitution\n", __str); continue; } } } __result; });

Andreas

Attachment: dl-deps.i.bz2
Description: BZip2 compressed data

-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj

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