Module: xenomai-2.5
Branch: master
Commit: 8cfc1103fe1cf9e700698e8230baf562ffb5cf06
URL:    
http://git.xenomai.org/?p=xenomai-2.5.git;a=commit;h=8cfc1103fe1cf9e700698e8230baf562ffb5cf06

Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org>
Date:   Sat Mar 13 17:50:17 2010 +0100

x86 syscalls: make __xn_get_eip a macro

Avoids multiple definitions when building with -std=gnu9x

---

 include/asm-x86/syscall.h |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/include/asm-x86/syscall.h b/include/asm-x86/syscall.h
index 36dcd59..9fb1455 100644
--- a/include/asm-x86/syscall.h
+++ b/include/asm-x86/syscall.h
@@ -162,12 +162,12 @@ asm (".L__X'%ebx = 1\n\t"
      ".endif\n\t"
      ".endm\n\t");
 
-__attribute__((always_inline))
-extern inline void __xn_get_eip(void **dest)
-{
-addr:
-       *dest = &&addr;
-}
+#define __xn_get_eip(dest)                     \
+       ({                                      \
+               __label__ __here;               \
+         __here:                               \
+               *dest = &&__here;               \
+       })
 
 static inline void __xn_get_ebp(void **dest)
 {


_______________________________________________
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git

Reply via email to