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.16-ports-merge-164-g86e1477


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  86e1477c1a10dac35634f5bb44f8e0adb7992a3d (commit)
       via  3447612d3ce9f6903c19526595c3acf0043daf80 (commit)
      from  121dce05fe25ed878088fa7351c840a303182c65 (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://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=86e1477c1a10dac35634f5bb44f8e0adb7992a3d

commit 86e1477c1a10dac35634f5bb44f8e0adb7992a3d
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sun Aug 12 14:44:36 2012 -0400

    ia64: drop ASM_TYPE_DIRECTIVE usage
    
    Matches what we've done in the rest of the tree.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ports/ChangeLog.ia64 b/ports/ChangeLog.ia64
index 943df8d..744f9bb 100644
--- a/ports/ChangeLog.ia64
+++ b/ports/ChangeLog.ia64
@@ -1,3 +1,11 @@
+2012-08-12  Mike Frysinger  <vapier@gentoo.org>
+
+	* sysdeps/ia64/fpu/libm-symbols.h (ASM_TYPE_DIRECTIVE): Remove.
+	(LOCAL_OBJECT_START): Do not use ASM_TYPE_DIRECTIVE.
+	(WEAK_LIBM_END): Likewise.
+	(GLOBAL_IEEE754_END): Likewise.
+	* sysdeps/ia64/fpu/libm_tan.S: Likewise.
+
 2012-08-10  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/ia64/nptl/dl-sysdep.h
diff --git a/ports/sysdeps/ia64/fpu/libm-symbols.h b/ports/sysdeps/ia64/fpu/libm-symbols.h
index 81084bd..0df8076 100644
--- a/ports/sysdeps/ia64/fpu/libm-symbols.h
+++ b/ports/sysdeps/ia64/fpu/libm-symbols.h
@@ -4,7 +4,6 @@
 /* Support for compatible assembler handling.  */
 
 #define ASM_SIZE_DIRECTIVE(name) .size name,.-name
-#define ASM_TYPE_DIRECTIVE(name,T) .type name,T
 
 #define LOCAL_LIBM_ENTRY(name)			\
 	.proc name;				\
@@ -18,7 +17,7 @@
 #define RODATA		.rodata
 #define LOCAL_OBJECT_START(name)		\
    name:;					\
-   ASM_TYPE_DIRECTIVE(name, @object)
+   .type name, @object
 #define LOCAL_OBJECT_END(name)			\
    ASM_SIZE_DIRECTIVE(name)
 
@@ -42,7 +41,7 @@
  .hidden __##name;				\
 	LOCAL_LIBM_END(__##name);		\
  ASM_SIZE_DIRECTIVE(__##name);			\
- ASM_TYPE_DIRECTIVE(__##name, @function)
+ .type __##name, @function
 
 #define GLOBAL_IEEE754_ENTRY(name)		\
 	WEAK_LIBM_ENTRY(name);			\
@@ -52,7 +51,7 @@
 #define GLOBAL_IEEE754_END(name)			\
 	WEAK_LIBM_END(name);				\
  ASM_SIZE_DIRECTIVE(__ieee754_##name);			\
- ASM_TYPE_DIRECTIVE(__ieee754_##name, @function)
+ .type __ieee754_##name, @function
 
 #if defined ASSEMBLER && !defined NOT_IN_libc
 # define __libm_error_support	HIDDEN_JUMPTARGET(__libm_error_support)
diff --git a/ports/sysdeps/ia64/fpu/libm_tan.S b/ports/sysdeps/ia64/fpu/libm_tan.S
index 655a864..b267f13 100644
--- a/ports/sysdeps/ia64/fpu/libm_tan.S
+++ b/ports/sysdeps/ia64/fpu/libm_tan.S
@@ -689,7 +689,7 @@
 .align 128
 
 TAN_BASE_CONSTANTS:
-ASM_TYPE_DIRECTIVE(TAN_BASE_CONSTANTS,@object)
+.type TAN_BASE_CONSTANTS, @object
 data4    0x4B800000, 0xCB800000, 0x38800000, 0xB8800000 // two**24, -two**24
                                                         // two**-14, -two**-14
 data4    0x4E44152A, 0xA2F9836E, 0x00003FFE, 0x00000000 // two_by_pi

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=3447612d3ce9f6903c19526595c3acf0043daf80

commit 3447612d3ce9f6903c19526595c3acf0043daf80
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sun Jan 1 02:36:32 2012 -0500

    arm: handle unaligned ABS relocs
    
    When relocating a misaligned R_ARM_ABS32, glibc currently crashes.
    
    URL: https://bugs.gentoo.org/394237
    URL: http://gcc.gnu.org/PR51456
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index 34d606d..6775af4 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,3 +1,9 @@
+2012-08-12  Mike Frysinger  <vapier@gentoo.org>
+
+	* sysdeps/arm/dl-machine.h (elf_machine_rel) [R_ARM_ABS32]: Declare
+	a new unaligned struct.  Cast reloc_addr to that when updating the
+	value it points to.
+
 2012-08-09  Roland McGrath  <roland@hack.frob.com>
 
 	* sysdeps/arm/arm-features.h: Document ARM_ASSUME_NO_IWMMXT.
diff --git a/ports/sysdeps/arm/dl-machine.h b/ports/sysdeps/arm/dl-machine.h
index fe39a5e..ca66e83 100644
--- a/ports/sysdeps/arm/dl-machine.h
+++ b/ports/sysdeps/arm/dl-machine.h
@@ -413,6 +413,10 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
 	  break;
 	case R_ARM_ABS32:
 	  {
+	    struct unaligned
+	      {
+		Elf32_Addr x;
+	      } __attribute__((packed, may_alias));
 # ifndef RTLD_BOOTSTRAP
 	   /* This is defined in rtld.c, but nowhere in the static
 	      libc.a; make the reference weak so static programs can
@@ -431,7 +435,8 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
 		 used while loading those libraries.  */
 	      value -= map->l_addr + refsym->st_value;
 # endif
-	    *reloc_addr += value;
+	    /* Support relocations on mis-aligned offsets.  */
+	    ((struct unaligned *) reloc_addr)->x += value;
 	    break;
 	  }
 	case R_ARM_TLS_DESC:

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

Summary of changes:
 ports/ChangeLog.arm                   |    6 ++++++
 ports/ChangeLog.ia64                  |    8 ++++++++
 ports/sysdeps/arm/dl-machine.h        |    7 ++++++-
 ports/sysdeps/ia64/fpu/libm-symbols.h |    7 +++----
 ports/sysdeps/ia64/fpu/libm_tan.S     |    2 +-
 5 files changed, 24 insertions(+), 6 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]