diff options
Diffstat (limited to 'REORG.TODO/sysdeps/ia64/fpu/libm-symbols.h')
-rw-r--r-- | REORG.TODO/sysdeps/ia64/fpu/libm-symbols.h | 60 |
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 |