This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports 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]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]