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.18-670-g063b2ac


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  063b2acbce83549df82ab30f5af573f1b9c4bd19 (commit)
      from  21fea2e228c4e6f83bf51133de72f70fc61a6b6c (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=063b2acbce83549df82ab30f5af573f1b9c4bd19

commit 063b2acbce83549df82ab30f5af573f1b9c4bd19
Author: Paul Pluzhnikov <ppluzhnikov@google.com>
Date:   Thu Dec 19 10:25:23 2013 -0800

    Cleanup compile warnings.
    
    2013-12-19  Paul Pluzhnikov  <ppluzhnikov@google.com>
    
    	* elf/dl-misc.c (ptr_to_signal_safe_allocator_header): New function.
    	(__signal_safe_memalign, __signal_safe_free): Use it.
    	(__signal_safe_realloc): Likewise.

diff --git a/ChangeLog b/ChangeLog
index c391d70..d76ae06 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-12-19  Paul Pluzhnikov  <ppluzhnikov@google.com>
+
+	* elf/dl-misc.c (ptr_to_signal_safe_allocator_header): New function.
+	(__signal_safe_memalign, __signal_safe_free): Use it.
+	(__signal_safe_realloc): Likewise.
+
 2013-12-19  Joseph Myers  <joseph@codesourcery.com>
 
 	* manual/texinfo.tex: Update to version 2013-11-26.10 with
diff --git a/elf/dl-misc.c b/elf/dl-misc.c
index cec65d0..e5c76a7 100644
--- a/elf/dl-misc.c
+++ b/elf/dl-misc.c
@@ -380,15 +380,23 @@ struct __signal_safe_allocator_header
   void *start;
 };
 
+static inline struct __signal_safe_allocator_header *
+ptr_to_signal_safe_allocator_header (void *ptr)
+{
+  return (struct __signal_safe_allocator_header *)
+    ((char *) (ptr) - sizeof (struct __signal_safe_allocator_header));
+}
+
 void *weak_function
 __signal_safe_memalign (size_t boundary, size_t size)
 {
   struct __signal_safe_allocator_header *header;
+
   if (boundary < sizeof (*header))
     boundary = sizeof (*header);
 
   /* Boundary must be a power of two.  */
-  if (boundary & (boundary - 1) == 0)
+  if ((boundary & (boundary - 1)) == 0)
     return NULL;
 
   size_t pg = GLRO (dl_pagesize);
@@ -432,9 +440,9 @@ __signal_safe_memalign (size_t boundary, size_t size)
 	  actual = (void *) ((start_pg - 1) * pg);
 	}
       char *start = (void *) (start_pg * pg);
-      header = start - sizeof (*header);
-
+      header = ptr_to_signal_safe_allocator_header (start);
     }
+
   header->size = actual_size;
   header->start = actual;
   void *ptr = header;
@@ -456,7 +464,8 @@ __signal_safe_free (void *ptr)
   if (ptr == NULL)
     return;
 
-  struct __signal_safe_allocator_header *header = ((char *) ptr) - sizeof (*header);
+  struct __signal_safe_allocator_header *header
+    = ptr_to_signal_safe_allocator_header (ptr);
   int ret = munmap (header->start, header->size);
 
   assert (ret == 0);
@@ -473,7 +482,8 @@ __signal_safe_realloc (void *ptr, size_t size)
   if (ptr == NULL)
     return __signal_safe_malloc (size);
 
-  struct __signal_safe_allocator_header *header = ((char *) ptr) - sizeof (*header);
+  struct __signal_safe_allocator_header *header
+    = ptr_to_signal_safe_allocator_header (ptr);
   size_t old_size = header->size;
   if (old_size - sizeof (*header) >= size)
     return ptr;

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

Summary of changes:
 ChangeLog     |    6 ++++++
 elf/dl-misc.c |   20 +++++++++++++++-----
 2 files changed, 21 insertions(+), 5 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]