This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
[PATCH] arm: fix cfi errors with newer binutils
- From: Mike Frysinger <vapier at gentoo dot org>
- To: libc-ports at sourceware dot org
- Date: Mon, 2 Jan 2012 17:45:45 -0500
- Subject: [PATCH] arm: fix cfi errors with newer binutils
When building code that uses the PSEUDO() in sysdep-cancel.h with
newer binutils, we hit many failures like this:
../sysdeps/unix/syscall-template.S: Assembler messages:
../sysdeps/unix/syscall-template.S:82: Error: CFI instruction used without previous .cfi_startproc
../sysdeps/unix/syscall-template.S:82: Error: CFI instruction used without previous .cfi_startproc
../sysdeps/unix/syscall-template.S:82: Error: CFI instruction used without previous .cfi_startproc
../sysdeps/unix/syscall-template.S:82: Error: CFI instruction used without previous .cfi_startproc
make[2]: *** [build/misc/select.o] Error 1
Change the local nocancl version to use the ENTRY/END macros rather
than open coding it so we get automatic cfi handling.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-01-02 Mike Frysinger <vapier@gentoo.org>
* sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h (PSEUDO): Change
.type/.globl/label to ENTRY(). Change .size to END().
---
sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h b/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
index 9c80771..76d9677 100644
--- a/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
@@ -28,12 +28,10 @@
# define PSEUDO(name, syscall_name, args) \
.section ".text"; \
PSEUDO_PROLOGUE; \
- .type __##syscall_name##_nocancel,%function; \
- .globl __##syscall_name##_nocancel; \
- __##syscall_name##_nocancel: \
+ ENTRY (__##syscall_name##_nocancel); \
DO_CALL (syscall_name, args); \
PSEUDO_RET; \
- .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \
+ END (__##syscall_name##_nocancel); \
ENTRY (name); \
SINGLE_THREAD_P; \
DOARGS_##args; \
--
1.7.6.1