[committed] BZ #18409: Remove a trailing `\' in make-syscalls.sh
Commit Message
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.
Comments
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
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.
From d9efd775ba51916b58b899d8b1c8501105a830de Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Wed, 13 May 2015 09:11:12 -0700
Subject: [PATCH] Remove a trailing `\' in make-syscalls.sh
[BZ #18409]
* sysdeps/unix/make-syscalls.sh: Remove a trailing `\'.
---
ChangeLog | 5 +++++
NEWS | 2 +-
sysdeps/unix/make-syscalls.sh | 2 +-
3 files changed, 7 insertions(+), 2 deletions(-)
@@ -1,3 +1,8 @@
+2015-05-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ [BZ #18409]
+ * sysdeps/unix/make-syscalls.sh: Remove a trailing `\'.
+
2015-05-13 Szabolcs Nagy <szabolcs.nagy@arm.com>
* sysdeps/aarch64/tls-macros.h (TLS_GD): Add "cc" to the clobber
@@ -17,7 +17,7 @@ Version 2.22
18007, 18019, 18020, 18029, 18030, 18032, 18036, 18038, 18039, 18042,
18043, 18046, 18047, 18068, 18080, 18093, 18100, 18104, 18110, 18111,
18125, 18128, 18138, 18185, 18197, 18206, 18210, 18211, 18247, 18287,
- 18319, 18333, 18346, 18397.
+ 18319, 18333, 18346, 18397, 18409.
* Cache information can be queried via sysconf() function on s390 e.g. with
_SC_LEVEL1_ICACHE_SIZE as argument.
@@ -274,7 +274,7 @@ while read file srcfile caller syscall args strong weak; do
vdso_symver=`echo "$vdso_symver" | sed 's/\./_/g'`
echo "\
\$(foreach p,\$(sysd-rules-targets),\$(objpfx)\$(patsubst %,\$p,$file).os): \\
- \$(..)sysdeps/unix/make-syscalls.sh\
+ \$(..)sysdeps/unix/make-syscalls.sh
\$(make-target-directory)
(echo '#include <dl-vdso.h>'; \\
echo 'extern void *${strong}_ifunc (void) __asm (\"${strong}\");'; \\
--
1.9.3