This is the mail archive of the glibc-bugs@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]

[Bug build/15711] New: Endless loop building misc/bits/syscall.d in glibc 2.17


http://sourceware.org/bugzilla/show_bug.cgi?id=15711

            Bug ID: 15711
           Summary: Endless loop building misc/bits/syscall.d in glibc
                    2.17
           Product: glibc
           Version: 2.17
            Status: NEW
          Severity: normal
          Priority: P2
         Component: build
          Assignee: unassigned at sourceware dot org
          Reporter: carlos.velasco at nimastelecom dot com
                CC: carlos at redhat dot com

When building glibc 2.17 I stepped into an endless loop building
"misc/bits/syscall.d".

===
make[2]: Leaving directory `/compile/glibc-2.17/misc'
make[2]: Entering directory `/compile/glibc-2.17/misc'
/bin/install -c -m 644 ../include/stdc-predef.h /usr/include/stdc-predef.h
{ \
 echo '/* Generated at libc build time from kernel syscall list.  */';\
 echo ''; \
 echo '#ifndef _SYSCALL_H'; \
 echo '# error "Never use <bits/syscall.h> directly; include <sys/syscall.h>
instead."'; \
 echo '#endif'; \
 echo ''; \
  \
 echo ''; \
   gcc -m64 -E -MD -MP -MF /compile/glibc-build/misc/bits/syscall.d-t32 -MT
'/compile/glibc-build/misc/bits/syscall.h
/compile/glibc-build/misc/bits/syscall.d' -x c 
../sysdeps/unix/sysv/linux/sys/syscall.h -D__i386__ -U__x86_64__ -D_LIBC -dM |
sed -n 's@^#define __NR_\([^ ]*\) .*$@#define SYS_\1 __NR_\1@p' | LC_ALL=C sort
> /compile/glibc-build/misc/bits/syscall.h.new32;  echo '#if !defined
__x86_64__'; cat /compile/glibc-build/misc/bits/syscall.h.new32; echo '#endif';
rm -f /compile/glibc-build/misc/bits/syscall.h.new32;   gcc -m64 -E -MD -MP -MF
/compile/glibc-build/misc/bits/syscall.d-t64 -MT
'/compile/glibc-build/misc/bits/syscall.h
/compile/glibc-build/misc/bits/syscall.d' -x c 
../sysdeps/unix/sysv/linux/sys/syscall.h -U__i386__ -D__x86_64__ -U__ILP32__
-D__LP64__ -D_LIBC -dM | sed -n 's@^#define __NR_\([^ ]*\) .*$@#define SYS_\1
__NR_\1@p' | LC_ALL=C sort > /compile/glibc-build/misc/bits/syscall.h.new64; 
echo '#if defined __x86_64__ && defined __LP64__'; cat
/compile/glibc-build/misc/bits/syscall.h.new64; echo '#endif'; rm -f
/compile/glibc-build/misc/bits/syscall.h.new64;   gcc -m64 -E -MD -MP -MF
/compile/glibc-build/misc/bits/syscall.d-tx32 -MT
'/compile/glibc-build/misc/bits/syscall.h
/compile/glibc-build/misc/bits/syscall.d' -x c 
../sysdeps/unix/sysv/linux/sys/syscall.h -U__i386__ -D__x86_64__ -D__ILP32__
-U__LP64__ -D_LIBC -dM | sed -n 's@^#define __NR_\([^ ]*\) .*$@#define SYS_\1
__NR_\1@p' | LC_ALL=C sort > /compile/glibc-build/misc/bits/syscall.h.newx32; 
echo '#if defined __x86_64__ && defined __ILP32__'; cat
/compile/glibc-build/misc/bits/syscall.h.newx32; echo '#endif'; rm -f
/compile/glibc-build/misc/bits/syscall.h.newx32;  \
} > /compile/glibc-build/misc/bits/syscall.h.new
mv -f /compile/glibc-build/misc/bits/syscall.h.new
/compile/glibc-build/misc/bits/syscall.h
sed -e 's@ /compile/glibc-build/@ $(common-objpfx)@g' -e
's@^/compile/glibc-build/@$(common-objpfx)@g' \
 /compile/glibc-build/misc/bits/syscall.d-t32
/compile/glibc-build/misc/bits/syscall.d-t64
/compile/glibc-build/misc/bits/syscall.d-tx32 >
/compile/glibc-build/misc/bits/syscall.d-t3
rm -f /compile/glibc-build/misc/bits/syscall.d-t32
/compile/glibc-build/misc/bits/syscall.d-t64
/compile/glibc-build/misc/bits/syscall.d-tx32
mv -f /compile/glibc-build/misc/bits/syscall.d-t3
/compile/glibc-build/misc/bits/syscall.d
make[2]: Leaving directory `/compile/glibc-2.17/misc'
make[2]: Entering directory `/compile/glibc-2.17/misc'
/bin/install -c -m 644 ../include/stdc-predef.h /usr/include/stdc-predef.h
{ \
 echo '/* Generated at libc build time from kernel syscall list.  */';\
 echo ''; \
 echo '#ifndef _SYSCALL_H'; \
 echo '# error "Never use <bits/syscall.h> directly; include <sys/syscall.h>
instead."'; \
 echo '#endif'; \
 echo ''; \
  \
 echo ''; \
   gcc -m64 -E -MD -MP -MF /compile/glibc-build/misc/bits/syscall.d-t32 -MT
'/compile/glibc-build/misc/bits/syscall.h
/compile/glibc-build/misc/bits/syscall.d' -x c 
../sysdeps/unix/sysv/linux/sys/syscall.h -D__i386__ -U__x86_64__ -D_LIBC -dM |
sed -n 's@^#define __NR_\([^ ]*\) .*$@#define SYS_\1 __NR_\1@p' | LC_ALL=C sort
> /compile/glibc-build/misc/bits/syscall.h.new32;  echo '#if !defined
__x86_64__'; cat /compile/glibc-build/misc/bits/syscall.h.new32; echo '#endif';
rm -f /compile/glibc-build/misc/bits/syscall.h.new32;   gcc -m64 -E -MD -MP -MF
/compile/glibc-build/misc/bits/syscall.d-t64 -MT
'/compile/glibc-build/misc/bits/syscall.h
/compile/glibc-build/misc/bits/syscall.d' -x c 
../sysdeps/unix/sysv/linux/sys/syscall.h -U__i386__ -D__x86_64__ -U__ILP32__
-D__LP64__ -D_LIBC -dM | sed -n 's@^#define __NR_\([^ ]*\) .*$@#define SYS_\1
__NR_\1@p' | LC_ALL=C sort > /compile/glibc-build/misc/bits/syscall.h.new64; 
echo '#if defined __x86_64__ && defined __LP64__'; cat
/compile/glibc-build/misc/bits/syscall.h.new64; echo '#endif'; rm -f
/compile/glibc-build/misc/bits/syscall.h.new64;   gcc -m64 -E -MD -MP -MF
/compile/glibc-build/misc/bits/syscall.d-tx32 -MT
'/compile/glibc-build/misc/bits/syscall.h
/compile/glibc-build/misc/bits/syscall.d' -x c 
../sysdeps/unix/sysv/linux/sys/syscall.h -U__i386__ -D__x86_64__ -D__ILP32__
-U__LP64__ -D_LIBC -dM | sed -n 's@^#define __NR_\([^ ]*\) .*$@#define SYS_\1
__NR_\1@p' | LC_ALL=C sort > /compile/glibc-build/misc/bits/syscall.h.newx32; 
echo '#if defined __x86_64__ && defined __ILP32__'; cat
/compile/glibc-build/misc/bits/syscall.h.newx32; echo '#endif'; rm -f
/compile/glibc-build/misc/bits/syscall.h.newx32;  \
} > /compile/glibc-build/misc/bits/syscall.h.new
mv -f /compile/glibc-build/misc/bits/syscall.h.new
/compile/glibc-build/misc/bits/syscall.h
sed -e 's@ /compile/glibc-build/@ $(common-objpfx)@g' -e
's@^/compile/glibc-build/@$(common-objpfx)@g' \
 /compile/glibc-build/misc/bits/syscall.d-t32
/compile/glibc-build/misc/bits/syscall.d-t64
/compile/glibc-build/misc/bits/syscall.d-tx32 >
/compile/glibc-build/misc/bits/syscall.d-t3
rm -f /compile/glibc-build/misc/bits/syscall.d-t32
/compile/glibc-build/misc/bits/syscall.d-t64
/compile/glibc-build/misc/bits/syscall.d-tx32
mv -f /compile/glibc-build/misc/bits/syscall.d-t3
/compile/glibc-build/misc/bits/syscall.d
make[2]: Leaving directory `/compile/glibc-2.17/misc'
make[2]: Entering directory `/compile/glibc-2.17/misc'
/bin/install -c -m 644 ../include/stdc-predef.h /usr/include/stdc-predef.h
{ \
 echo '/* Generated at libc build time from kernel syscall list.  */';\
 echo ''; \
 echo '#ifndef _SYSCALL_H'; \
 echo '# error "Never use <bits/syscall.h> directly; include <sys/syscall.h>
instead."'; \
 echo '#endif'; \
 echo ''; \
  \
 echo ''; \
   gcc -m64 -E -MD -MP -MF /compile/glibc-build/misc/bits/syscall.d-t32 -MT
'/compile/glibc-build/misc/bits/syscall.h
/compile/glibc-build/misc/bits/syscall.d' -x c 
../sysdeps/unix/sysv/linux/sys/syscall.h -D__i386__ -U__x86_64__ -D_LIBC -dM |
sed -n 's@^#define __NR_\([^ ]*\) .*$@#define SYS_\1 __NR_\1@p' | LC_ALL=C sort
> /compile/glibc-build/misc/bits/syscall.h.new32;  echo '#if !defined
__x86_64__'; cat /compile/glibc-build/misc/bits/syscall.h.new32; echo '#endif';
rm -f /compile/glibc-build/misc/bits/syscall.h.new32;   gcc -m64 -E -MD -MP -MF
/compile/glibc-build/misc/bits/syscall.d-t64 -MT
'/compile/glibc-build/misc/bits/syscall.h
/compile/glibc-build/misc/bits/syscall.d' -x c 
../sysdeps/unix/sysv/linux/sys/syscall.h -U__i386__ -D__x86_64__ -U__ILP32__
-D__LP64__ -D_LIBC -dM | sed -n 's@^#define __NR_\([^ ]*\) .*$@#define SYS_\1
__NR_\1@p' | LC_ALL=C sort > /compile/glibc-build/misc/bits/syscall.h.new64; 
echo '#if defined __x86_64__ && defined __LP64__'; cat
/compile/glibc-build/misc/bits/syscall.h.new64; echo '#endif'; rm -f
/compile/glibc-build/misc/bits/syscall.h.new64;   gcc -m64 -E -MD -MP -MF
/compile/glibc-build/misc/bits/syscall.d-tx32 -MT
'/compile/glibc-build/misc/bits/syscall.h
/compile/glibc-build/misc/bits/syscall.d' -x c 
../sysdeps/unix/sysv/linux/sys/syscall.h -U__i386__ -D__x86_64__ -D__ILP32__
-U__LP64__ -D_LIBC -dM | sed -n 's@^#define __NR_\([^ ]*\) .*$@#define SYS_\1
__NR_\1@p' | LC_ALL=C sort > /compile/glibc-build/misc/bits/syscall.h.newx32; 
echo '#if defined __x86_64__ && defined __ILP32__'; cat
/compile/glibc-build/misc/bits/syscall.h.newx32; echo '#endif'; rm -f
/compile/glibc-build/misc/bits/syscall.h.newx32;  \
} > /compile/glibc-build/misc/bits/syscall.h.new
mv -f /compile/glibc-build/misc/bits/syscall.h.new
/compile/glibc-build/misc/bits/syscall.h
sed -e 's@ /compile/glibc-build/@ $(common-objpfx)@g' -e
's@^/compile/glibc-build/@$(common-objpfx)@g' \
 /compile/glibc-build/misc/bits/syscall.d-t32
/compile/glibc-build/misc/bits/syscall.d-t64
/compile/glibc-build/misc/bits/syscall.d-tx32 >
/compile/glibc-build/misc/bits/syscall.d-t3
rm -f /compile/glibc-build/misc/bits/syscall.d-t32
/compile/glibc-build/misc/bits/syscall.d-t64
/compile/glibc-build/misc/bits/syscall.d-tx32
mv -f /compile/glibc-build/misc/bits/syscall.d-t3
/compile/glibc-build/misc/bits/syscall.d
make[2]: Leaving directory `/compile/glibc-2.17/misc'
===

Debugging (make -d) shows that loop is caused by a prerequisite:
Prerequisite `/usr/include/stdc-predef.h' is newer than target
`/compile/glibc-build/misc/bits/syscall.d'

The problem is that this header is installed just before making this target:
Invoking recipe from ../Makerules:1072 to update target
`/usr/include/stdc-predef.h'.
/bin/install -c -m 644 ../include/stdc-predef.h /usr/include/stdc-predef.h

So this creates an endless loop.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


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