summaryrefslogtreecommitdiff
path: root/REORG.TODO/sysdeps/ia64/fpu/libm-symbols.h
diff options
context:
space:
mode:
Diffstat (limited to 'REORG.TODO/sysdeps/ia64/fpu/libm-symbols.h')
-rw-r--r--REORG.TODO/sysdeps/ia64/fpu/libm-symbols.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/REORG.TODO/sysdeps/ia64/fpu/libm-symbols.h b/REORG.TODO/sysdeps/ia64/fpu/libm-symbols.h
new file mode 100644
index 0000000000..505131b813
--- /dev/null
+++ b/REORG.TODO/sysdeps/ia64/fpu/libm-symbols.h
@@ -0,0 +1,60 @@
+#ifndef _ISOMAC
+# include <sysdep.h>
+# undef ret /* get rid of the stupid "ret" macro; it breaks br.ret */
+
+/* Support for compatible assembler handling. */
+
+# define ASM_SIZE_DIRECTIVE(name) .size name,.-name
+
+# define LOCAL_LIBM_ENTRY(name) \
+ .proc name; \
+ name:
+
+# define LOCAL_LIBM_END(name) \
+ .endp name; \
+ ASM_SIZE_DIRECTIVE(name)
+
+
+# define RODATA .rodata
+# define LOCAL_OBJECT_START(name) \
+ name:; \
+ .type name, @object
+# define LOCAL_OBJECT_END(name) \
+ ASM_SIZE_DIRECTIVE(name)
+
+# define GLOBAL_LIBM_ENTRY(name) \
+ LOCAL_LIBM_ENTRY(name); \
+ .global name
+# define GLOBAL_LIBM_END(name) LOCAL_LIBM_END(name)
+
+# define INTERNAL_LIBM_ENTRY(name) \
+ GLOBAL_LIBM_ENTRY(__libm_##name); \
+ .global __libm_##name
+# define INTERNAL_LIBM_END(name) GLOBAL_LIBM_END(__libm_##name)
+
+# define WEAK_LIBM_ENTRY(name) \
+ .align 32; \
+ LOCAL_LIBM_ENTRY(__##name); \
+ .global __##name; \
+ __##name:
+# define WEAK_LIBM_END(name) \
+ weak_alias (__##name, name); \
+ .hidden __##name; \
+ LOCAL_LIBM_END(__##name); \
+ ASM_SIZE_DIRECTIVE(__##name); \
+ .type __##name, @function
+
+# define GLOBAL_IEEE754_ENTRY(name) \
+ WEAK_LIBM_ENTRY(name); \
+ .global __ieee754_##name; \
+ .hidden __ieee754_##name; \
+ __ieee754_##name:
+# define GLOBAL_IEEE754_END(name) \
+ WEAK_LIBM_END(name); \
+ ASM_SIZE_DIRECTIVE(__ieee754_##name); \
+ .type __ieee754_##name, @function
+
+# if defined ASSEMBLER && IS_IN (libc)
+# define __libm_error_support HIDDEN_JUMPTARGET(__libm_error_support)
+# endif
+#endif