This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: [PATCH] glibc no-dot-syms support on ppc64 and support for overlapping.opd entries
- From: Ulrich Drepper <drepper at redhat dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Steve Munroe <sjmunroe at us dot ibm dot com>, libc-alpha at sources dot redhat dot com
- Date: Wed, 18 Aug 2004 00:31:14 -0700
- Subject: Re: [PATCH] glibc no-dot-syms support on ppc64 and support for overlapping.opd entries
- Organization: Red Hat, Inc.
- References: <20040816183721.GX22252@devserv.devel.redhat.com>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Something like the attached patch is needed in addition to Jakub's patch.
- --
â Ulrich Drepper â Red Hat, Inc. â 444 Castro St â Mountain View, CA â
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
iD8DBQFBIwXC2ijCOnn/RHQRAhPiAJwLgvIRJXb1TG+cODiEEtySz4UsBwCeOR+Z
XG2/eSSFIERrW5l1QM/esik=
=0Nbh
-----END PGP SIGNATURE-----
Index: nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
===================================================================
RCS file: /cvs/glibc/libc/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h,v
retrieving revision 1.10
diff -u -r1.10 sysdep-cancel.h
--- nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h 6 Jul 2004 04:25:45 -0000 1.10
+++ nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h 18 Aug 2004 07:30:44 -0000
@@ -26,6 +26,12 @@
#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt
+# ifdef HAVE_ASM_GLOBAL_DOT_NAME
+# define DASHDASHPFX(str) .__##str
+# else
+# define DASHDASHPFX(str) __##str
+# endif
+
# undef PSEUDO
# define PSEUDO(name, syscall_name, args) \
.section ".text"; \
@@ -33,12 +39,12 @@
cfi_startproc; \
SINGLE_THREAD_P; \
bne- .Lpseudo_cancel; \
- .type .__##syscall_name##_nocancel,@function; \
- .globl .__##syscall_name##_nocancel; \
- .__##syscall_name##_nocancel: \
+ .type DASHDASHPFX(syscall_name##_nocancel),@function; \
+ .globl DASHDASHPFX(syscall_name##_nocancel); \
+ DASHDASHPFX(syscall_name##_nocancel): \
DO_CALL (SYS_ify (syscall_name)); \
PSEUDO_RET; \
- .size .__##syscall_name##_nocancel,.-.__##syscall_name##_nocancel; \
+ .size DASHDASHPFX(syscall_name##_nocancel),.-DASHDASHPFX(syscall_name##_nocancel); \
.Lpseudo_cancel: \
stdu 1,-128(1); \
cfi_adjust_cfa_offset (128); \