This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, master, updated. glibc-2.16-ports-merge-164-g86e1477
- From: vapier at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 12 Aug 2012 18:50:08 -0000
- Subject: 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