Add Changelog ...
[glibc.git] / sysdeps / ia64 / fpu / libm-symbols.h
blob81084bd62e239946b33b225362c72b42b97ef15b
1 #include <sysdep.h>
2 #undef ret /* get rid of the stupid "ret" macro; it breaks br.ret */
4 /* Support for compatible assembler handling. */
6 #define ASM_SIZE_DIRECTIVE(name) .size name,.-name
7 #define ASM_TYPE_DIRECTIVE(name,T) .type name,T
9 #define LOCAL_LIBM_ENTRY(name) \
10 .proc name; \
11 name:
13 #define LOCAL_LIBM_END(name) \
14 .endp name; \
15 ASM_SIZE_DIRECTIVE(name)
18 #define RODATA .rodata
19 #define LOCAL_OBJECT_START(name) \
20 name:; \
21 ASM_TYPE_DIRECTIVE(name, @object)
22 #define LOCAL_OBJECT_END(name) \
23 ASM_SIZE_DIRECTIVE(name)
25 #define GLOBAL_LIBM_ENTRY(name) \
26 LOCAL_LIBM_ENTRY(name); \
27 .global name
28 #define GLOBAL_LIBM_END(name) LOCAL_LIBM_END(name)
30 #define INTERNAL_LIBM_ENTRY(name) \
31 GLOBAL_LIBM_ENTRY(__libm_##name); \
32 .global __libm_##name
33 #define INTERNAL_LIBM_END(name) GLOBAL_LIBM_END(__libm_##name)
35 #define WEAK_LIBM_ENTRY(name) \
36 .align 32; \
37 LOCAL_LIBM_ENTRY(__##name); \
38 .global __##name; \
39 __##name:
40 #define WEAK_LIBM_END(name) \
41 weak_alias (__##name, name); \
42 .hidden __##name; \
43 LOCAL_LIBM_END(__##name); \
44 ASM_SIZE_DIRECTIVE(__##name); \
45 ASM_TYPE_DIRECTIVE(__##name, @function)
47 #define GLOBAL_IEEE754_ENTRY(name) \
48 WEAK_LIBM_ENTRY(name); \
49 .global __ieee754_##name; \
50 .hidden __ieee754_##name; \
51 __ieee754_##name:
52 #define GLOBAL_IEEE754_END(name) \
53 WEAK_LIBM_END(name); \
54 ASM_SIZE_DIRECTIVE(__ieee754_##name); \
55 ASM_TYPE_DIRECTIVE(__ieee754_##name, @function)
57 #if defined ASSEMBLER && !defined NOT_IN_libc
58 # define __libm_error_support HIDDEN_JUMPTARGET(__libm_error_support)
59 #endif