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

GNU C Library master sources branch master updated. glibc-2.27.9000-23-gf886c16


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  f886c16ca5d1f35bd77946c3a93b6149b05f38f0 (commit)
      from  8f4bf93fb9c15097db552a3427e169cdec6107c4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=f886c16ca5d1f35bd77946c3a93b6149b05f38f0

commit f886c16ca5d1f35bd77946c3a93b6149b05f38f0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Feb 5 06:13:31 2018 -0800

    i386: Use __glibc_likely/__glibc_likely in dl-machine.h
    
    The differences in elf/dl-reloc.os are
    
    --- before    	2018-02-05 03:53:31.970492246 -0800
    +++ after     	2018-02-05 03:53:49.719902340 -0800
    @@ -1202,9 +1202,9 @@ _dl_relocate_object:
     	movl	-60(%ebp), %eax
     	testl	%eax, %eax
     	je	.L249
    -	movl	8(%eax), %eax
    -	movl	8(%ebx), %esi
    -	cmpl	%esi, %eax
    +	movl	8(%eax), %esi
    +	movl	8(%ebx), %eax
    +	cmpl	%eax, %esi
     	ja	.L284
     	jb	.L707
     .L285:
    @@ -2255,7 +2255,7 @@ _dl_relocate_object:
     	cmpl	$6, %edi
     	movl	$4, %edx
     	je	.L132
    -	cmpl	%ecx, %eax
    +	cmpl	%eax, %ecx
     	je	.L350
     	cmpl	$7, %edi
     	je	.L419
    @@ -2735,7 +2735,7 @@ _dl_relocate_object:
     	je	.L120
     .L121:
     	movl	-96(%ebp), %edx
    -	movl	$640, 8(%esp)
    +	movl	$639, 8(%esp)
     	leal	__PRETTY_FUNCTION__.9431@GOTOFF(%edx), %eax
     	movl	%eax, 12(%esp)
     	leal	.LC9@GOTOFF(%edx), %eax
    @@ -3454,10 +3454,10 @@ _dl_relocate_object:
     	movl	-152(%ebp), %eax
     	movl	%eax, 4(%esp)
     	call	_dl_dprintf
    -	movl	-60(%ebp), %eax
    -	movl	8(%ebx), %esi
    +	movl	8(%ebx), %eax
    +	movl	-60(%ebp), %ebx
     	movl	-112(%ebp), %edx
    -	movl	8(%eax), %eax
    +	movl	8(%ebx), %esi
     	jmp	.L285
     .L713:
     	movl	%esi, (%esp)
    
    	* sysdeps/i386/dl-machine.h (elf_machine_rel): Replace
    	__builtin_expect with __glibc_likely and __glibc_unlikely.
    	(elf_machine_rela): Likewise.
    	(elf_machine_lazy_rel): Likewise.

diff --git a/ChangeLog b/ChangeLog
index a175e0b..be74f2f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2018-02-05  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* sysdeps/i386/dl-machine.h (elf_machine_rel): Replace
+	__builtin_expect with __glibc_likely and __glibc_unlikely.
+	(elf_machine_rela): Likewise.
+	(elf_machine_lazy_rel): Likewise.
+
+2018-02-05  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Replace
 	__builtin_expect with __glibc_likely and __glibc_unlikely.
 	(elf_machine_lazy_rel): Likewise.
diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h
index 5171499..3d6fb9b 100644
--- a/sysdeps/i386/dl-machine.h
+++ b/sysdeps/i386/dl-machine.h
@@ -323,10 +323,9 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
       Elf32_Addr value = sym_map == NULL ? 0 : sym_map->l_addr + sym->st_value;
 
       if (sym != NULL
-	  && __builtin_expect (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC,
-			       0)
-	  && __builtin_expect (sym->st_shndx != SHN_UNDEF, 1)
-	  && __builtin_expect (!skip_ifunc, 1))
+	  && __glibc_unlikely (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC)
+	  && __glibc_likely (sym->st_shndx != SHN_UNDEF)
+	  && __glibc_likely (!skip_ifunc))
 	{
 # ifndef RTLD_BOOTSTRAP
 	  if (sym_map != map
@@ -456,8 +455,8 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
 	    /* This can happen in trace mode if an object could not be
 	       found.  */
 	    break;
-	  if (__builtin_expect (sym->st_size > refsym->st_size, 0)
-	      || (__builtin_expect (sym->st_size < refsym->st_size, 0)
+	  if (__glibc_unlikely (sym->st_size > refsym->st_size)
+	      || (__glibc_unlikely(sym->st_size < refsym->st_size)
 		  && GLRO(dl_verbose)))
 	    {
 	      const char *strtab;
@@ -504,9 +503,9 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
       Elf32_Addr value = sym == NULL ? 0 : sym_map->l_addr + sym->st_value;
 
       if (sym != NULL
-	  && __builtin_expect (sym->st_shndx != SHN_UNDEF, 1)
-	  && __builtin_expect (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC, 0)
-	  && __builtin_expect (!skip_ifunc, 1))
+	  && __glibc_likely (sym->st_shndx != SHN_UNDEF)
+	  && __glibc_unlikely (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC)
+	  && __glibc_likely (!skip_ifunc))
 	value = ((Elf32_Addr (*) (void)) value) ();
 
       switch (ELF32_R_TYPE (reloc->r_info))
@@ -601,8 +600,8 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
 	    /* This can happen in trace mode if an object could not be
 	       found.  */
 	    break;
-	  if (__builtin_expect (sym->st_size > refsym->st_size, 0)
-	      || (__builtin_expect (sym->st_size < refsym->st_size, 0)
+	  if (__glibc_unlikely (sym->st_size > refsym->st_size)
+	      || (__glibc_unlikely (sym->st_size < refsym->st_size)
 		  && GLRO(dl_verbose)))
 	    {
 	      const char *strtab;
@@ -663,7 +662,8 @@ elf_machine_lazy_rel (struct link_map *map,
   /* Check for unexpected PLT reloc type.  */
   if (__glibc_likely (r_type == R_386_JMP_SLOT))
     {
-      if (__builtin_expect (map->l_mach.plt, 0) == 0)
+      /* Prelink has been deprecated.  */
+      if (__glibc_likely (map->l_mach.plt == 0))
 	*reloc_addr += l_addr;
       else
 	*reloc_addr = (map->l_mach.plt

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                 |    7 +++++++
 sysdeps/i386/dl-machine.h |   24 ++++++++++++------------
 2 files changed, 19 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


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