summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@hack.frob.com>2012-11-30 13:48:39 -0800
committerRoland McGrath <roland@hack.frob.com>2012-11-30 13:48:39 -0800
commit48085d142e3879a31af25a10316104bb7092eb1c (patch)
tree91a577deceba6a49dcd25cf519fdf97a76e9f0f8
parent1a538b9f15420661205cc2d6314b465384a88a7e (diff)
downloadglibc-48085d142e3879a31af25a10316104bb7092eb1c.tar.gz
Fix type-punning warning in powerpc64 gmon-start.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/powerpc/powerpc64/entry.h6
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index f888bb5862..beca929735 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-11-30 Roland McGrath <roland@hack.frob.com>
+
+ * sysdeps/powerpc/powerpc64/entry.h (TEXT_START): Define using a
+ second, differently-typed declaration, rather than a cast.
+
2012-11-30 Siddhesh Poyarekar <siddhesh@redhat.com>
* sunrpc/rpc/svc.h (__svc_accept_failed): Move declaration...
diff --git a/sysdeps/powerpc/powerpc64/entry.h b/sysdeps/powerpc/powerpc64/entry.h
index 2a54fe728d..b1d4b7f1a8 100644
--- a/sysdeps/powerpc/powerpc64/entry.h
+++ b/sysdeps/powerpc/powerpc64/entry.h
@@ -1,5 +1,5 @@
/* Finding the entry point and start of text. PowerPC64 version.
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -30,4 +30,6 @@ extern void _start (void);
to keep profiling records. We can't copy the ia64 scheme as our
entry poiny address is really the address of the function
descriptor, not the actual function entry. */
-#define TEXT_START (((long int *) ENTRY_POINT)[0])
+#define TEXT_START \
+ ({ extern unsigned long int _start_as_data[] asm ("_start"); \
+ _start_as_data[0]; })