This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [committed, PATCH] BZ #18409: Remove a trailing `\' in make-syscalls.sh
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Wed, 13 May 2015 12:34:19 -0700
- Subject: Re: [committed, PATCH] BZ #18409: Remove a trailing `\' in make-syscalls.sh
- Authentication-results: sourceware.org; auth=none
- References: <CAMe9rOoRSZwvvkZQJQp=n_VqkgoDj=X8sK6v+BFXBFLfCpq2Jg at mail dot gmail dot com> <5553A664 dot 8090904 at linaro dot org>
On Wed, May 13, 2015 at 12:30 PM, Adhemerval Zanella
<adhemerval.zanella@linaro.org> wrote:
> Hi
>
> On 13-05-2015 13:20, H.J. Lu wrote:
>> 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
>>
>> This only affected x32. I checked in this patch after tested on
>> x32.
>>
>> Adhemerval, can you check if your problem with dash in
>>
>> https://sourceware.org/ml/libc-alpha/2015-04/msg00277.html
>>
>> is fixed by this?
>>
>> Thanks.
>
> I have been testing another more complete fix pointed out by Joseph [1]
> and it fixes the x32 build with dash issue I was seeing. Shouldn't we
> push this one?
>
> [1] https://sourceware.org/ml/libc-alpha/2015-02/msg00396.html
Well, this part is the same as the one I checked in:
\$(foreach p,\$(sysd-rules-targets),\$(objpfx)\$(patsubst %,\$p,$file).os): \\
- \$(..)sysdeps/unix/make-syscalls.sh\
+ \$(..)sysdeps/unix/make-syscalls.sh
At minimum, that patch should be rebased.
--
H.J.