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/18409] New: Random build failures on x32


https://sourceware.org/bugzilla/show_bug.cgi?id=18409

            Bug ID: 18409
           Summary: Random build failures on x32
           Product: glibc
           Version: 2.21
            Status: NEW
          Severity: normal
          Priority: P2
         Component: build
          Assignee: unassigned at sourceware dot org
          Reporter: hjl.tools at gmail dot com
                CC: carlos at redhat dot com, roland at gnu dot org
  Target Milestone: ---

commit c14874927b499ddfdbb03745bb32bfc778b8595f
Author: Roland McGrath <roland@hack.frob.com>
Date:   Tue May 22 16:00:50 2012 -0700

    syscalls.list support for vDSO IFUNCs, use it for x32 gettimeofday and
time.

added

\$(foreach p,\$(sysd-rules-targets),\$(objpfx)\$(patsubst %,\$p,$file).os): \\
                \$(..)sysdeps/unix/make-syscalls.sh\
        \$(make-target-directory)

to sysdeps/unix/make-syscalls.sh which generates

#### CALL=gettimeofday NUMBER=(0x40000000 + 96) ARGS=i:pP SOURCE=-
ifeq (,$(filter gettimeofday,$(unix-syscalls)))
unix-syscalls += gettimeofday
$(foreach p,$(sysd-rules-targets),$(foreach
o,$(object-suffixes-noshared),$(objpfx)$(patsubst %,$p,gettimeofday)$o)): \
                $(..)sysdeps/unix/make-syscalls.sh
        $(make-target-directory)
        (echo '#define SYSCALL_NAME gettimeofday'; \
         echo '#define SYSCALL_NARGS 2'; \
         echo '#define SYSCALL_SYMBOL __gettimeofday'; \
         echo '#include <syscall-template.S>'; \
         echo 'weak_alias (__gettimeofday, gettimeofday)'; \
         echo 'libc_hidden_weak (gettimeofday)'; \
        ) | $(compile-syscall) $(foreach p,$(patsubst
%gettimeofday,%,$(basename $(@F))),$($(p)CPPFLAGS))
$(foreach p,$(sysd-rules-targets),$(objpfx)$(patsubst %,$p,gettimeofday).os): \
                $(..)sysdeps/unix/make-syscalls.sh     
$(make-target-directory)
                                                  ^^^^^^^^^ Missing newline
        (echo '#include <dl-vdso.h>'; \
         echo 'extern void *__gettimeofday_ifunc (void) __asm
("__gettimeofday");'; \
         echo 'void *'; \
         echo '__gettimeofday_ifunc (void)'; \
         echo '{'; \
         echo '  PREPARE_VERSION_KNOWN (symver, LINUX_2_6);'; \
         echo '  return _dl_vdso_vsym ("__vdso_gettimeofday", &symver);'; \
         echo '}'; \
         echo 'asm (".type __gettimeofday, %gnu_indirect_function");'; \
         echo 'asm (".globl __GI___gettimeofday\n"'; \
         echo '     "__GI___gettimeofday = __gettimeofday");'; \
         echo 'weak_alias (__gettimeofday, gettimeofday)'; \
         echo 'libc_hidden_weak (gettimeofday)'; \
        ) | $(compile-stdin.c) $(foreach p,$(patsubst
%gettimeofday,%,$(basename $(@F))),$($(p)CPPFLAGS))
endif

-- 
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]