[committed] BZ #18409: Remove a trailing `\' in make-syscalls.sh

Message ID CAMe9rOoRSZwvvkZQJQp=n_VqkgoDj=X8sK6v+BFXBFLfCpq2Jg@mail.gmail.com
State Committed
Headers

Commit Message

H.J. Lu May 13, 2015, 4:20 p.m. UTC
  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

Adhemerval Zanella May 13, 2015, 7:30 p.m. UTC | #1
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
  
H.J. Lu May 13, 2015, 7:34 p.m. UTC | #2
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.
  

Patch

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(-)

diff --git a/ChangeLog b/ChangeLog
index 1e4d6f8..dc7431b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/NEWS b/NEWS
index f4fe47f..91027bd 100644
--- a/NEWS
+++ b/NEWS
@@ -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.
diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh
index e3596b6..910a22c 100644
--- a/sysdeps/unix/make-syscalls.sh
+++ b/sysdeps/unix/make-syscalls.sh
@@ -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