1#if defined(__i386__)
2# include "autoconf.h" /* ASM_GLOBAL_DIRECTIVE */
3
4# ifndef ASM_GLOBAL_DIRECTIVE
5#  error "No ASM_GLOBAL_DIRECTIVE"
6# endif
7
8#define HAVE_ELF 1
9#define NO_UNDERSCORES 1
10#define __ASSEMBLER__ 1
11#ifndef  __BOUNDED_POINTERS__
12# define __BOUNDED_POINTERS__ 0
13#endif
14
15#ifdef HAVE_ATTRIB_VISIBILITY
16# define HAVE_HIDDEN 1
17#endif
18
19#ifdef __PIC__
20# ifndef  PIC
21#  define PIC __PIC__ /* glibc uses PIC -- gcc3 gives it, but not gcc2 */
22# endif
23#endif
24
25# include "vstr_dbl/glibc/sysdeps/i386/sysdep.h"
26# include "vstr_dbl/glibc/sysdeps/i386/asm-syntax.h"
27# include "vstr_dbl/glibc/sysdeps/generic/bp-sym.h"
28# include "vstr_dbl/glibc/sysdeps/i386/bp-asm.h"
29
30/* from libc-symbols.h -- just need this */
31# ifndef C_SYMBOL_NAME
32#  ifdef NO_UNDERSCORES
33#   define C_SYMBOL_NAME(name) name
34#  else
35#   define C_SYMBOL_NAME(name) _##name
36#  endif
37# endif
38
39
40# define __mpn_add_n    vstr__fmt_dbl_mpn_add_n
41# define __mpn_addmul_1 vstr__fmt_dbl_mpn_addmul_1
42# define __mpn_mul_1    vstr__fmt_dbl_mpn_mul_1
43# define __mpn_sub_n    vstr__fmt_dbl_mpn_sub_n
44# define __mpn_submul_1 vstr__fmt_dbl_mpn_submul_1
45# define __mpn_lshift   vstr__fmt_dbl_mpn_lshift
46# define __mpn_rshift   vstr__fmt_dbl_mpn_rshift
47
48#ifdef HAVE_ELF /* code for L define */
49#define VSTR__ASM_L(name)         .L##name
50#else
51#define VSTR__ASM_L(name)         name
52#endif
53
54/* #define HAVE_i686 1 */
55/* TODO: Maybe bother to set this up ...
56 * do 3 libraries and get the dynamic linker to do the cool stuff ?
57 * ... it's correct for i386, so I don't really care
58 */
59# if   defined(HAVE_i686)
60#  undef  PARMS
61#  undef  SIZE
62#  undef  L
63#  define L(x) VSTR__ASM_L(add_n ## x)
64#  include "vstr_dbl/glibc/sysdeps/i386/i686/add_n.S"
65#  undef  PARMS
66#  undef  SIZE
67#  undef  L
68#  define L(x) VSTR__ASM_L(addmul_1 ## x)
69#  include "vstr_dbl/glibc/sysdeps/i386/i586/addmul_1.S"
70#  undef  PARMS
71#  undef  SIZE
72#  undef  L
73#  define L(x) VSTR__ASM_L(mul_1 ## x)
74#  include "vstr_dbl/glibc/sysdeps/i386/i586/mul_1.S"
75#  undef  PARMS
76#  undef  SIZE
77#  undef  L
78#  define L(x) VSTR__ASM_L(sub_n ## x)
79#  include "vstr_dbl/glibc/sysdeps/i386/i586/sub_n.S"
80#  undef  PARMS
81#  undef  SIZE
82#  undef  L
83#  define L(x) VSTR__ASM_L(submul_1 ## x)
84#  include "vstr_dbl/glibc/sysdeps/i386/i586/submul_1.S"
85#  undef  PARMS
86#  undef  SIZE
87#  undef  L
88#  define L(x) VSTR__ASM_L(lshift ## x)
89#  include "vstr_dbl/glibc/sysdeps/i386/i586/lshift.S"
90#  undef  PARMS
91#  undef  SIZE
92#  undef  L
93#  define L(x) VSTR__ASM_L(rshift ## x)
94#  include "vstr_dbl/glibc/sysdeps/i386/i586/rshift.S"
95# elif defined(HAVE_i586)
96#  undef  PARMS
97#  undef  SIZE
98#  undef  L
99#  define L(x) VSTR__ASM_L(add_n ## x)
100#  include "vstr_dbl/glibc/sysdeps/i386/i586/add_n.S"
101#  undef  PARMS
102#  undef  SIZE
103#  undef  L
104#  define L(x) VSTR__ASM_L(addmul_1 ## x)
105#  include "vstr_dbl/glibc/sysdeps/i386/i586/addmul_1.S"
106#  undef  PARMS
107#  undef  SIZE
108#  undef  L
109#  define L(x) VSTR__ASM_L(mul_1 ## x)
110#  include "vstr_dbl/glibc/sysdeps/i386/i586/mul_1.S"
111#  undef  PARMS
112#  undef  SIZE
113#  undef  L
114#  define L(x) VSTR__ASM_L(sub_n ## x)
115#  include "vstr_dbl/glibc/sysdeps/i386/i586/sub_n.S"
116#  undef  PARMS
117#  undef  SIZE
118#  undef  L
119#  define L(x) VSTR__ASM_L(submul_1 ## x)
120#  include "vstr_dbl/glibc/sysdeps/i386/i586/submul_1.S"
121#  undef  PARMS
122#  undef  SIZE
123#  undef  L
124#  define L(x) VSTR__ASM_L(lshift ## x)
125#  include "vstr_dbl/glibc/sysdeps/i386/i586/lshift.S"
126#  undef  PARMS
127#  undef  SIZE
128#  undef  L
129#  define L(x) VSTR__ASM_L(rshift ## x)
130#  include "vstr_dbl/glibc/sysdeps/i386/i586/rshift.S"
131# else
132#  undef  PARMS
133#  undef  SIZE
134#  undef  L
135#  define L(x) VSTR__ASM_L(add_n ## x)
136#  include "vstr_dbl/glibc/sysdeps/i386/add_n.S"
137#  undef  PARMS
138#  undef  SIZE
139#  undef  L
140#  define L(x) VSTR__ASM_L(addmul_1 ## x)
141#  include "vstr_dbl/glibc/sysdeps/i386/addmul_1.S"
142#  undef  PARMS
143#  undef  SIZE
144#  undef  L
145#  define L(x) VSTR__ASM_L(mul_1 ## x)
146#  include "vstr_dbl/glibc/sysdeps/i386/mul_1.S"
147#  undef  PARMS
148#  undef  SIZE
149#  undef  L
150#  define L(x) VSTR__ASM_L(sub_n ## x)
151#  include "vstr_dbl/glibc/sysdeps/i386/sub_n.S"
152#  undef  PARMS
153#  undef  SIZE
154#  undef  L
155#  define L(x) VSTR__ASM_L(submul_1 ## x)
156#  include "vstr_dbl/glibc/sysdeps/i386/submul_1.S"
157#  undef  PARMS
158#  undef  SIZE
159#  undef  L
160#  define L(x) VSTR__ASM_L(lshift ## x)
161#  include "vstr_dbl/glibc/sysdeps/i386/lshift.S"
162#  undef  PARMS
163#  undef  SIZE
164#  undef  L
165#  define L(x) VSTR__ASM_L(rshift ## x)
166#  include "vstr_dbl/glibc/sysdeps/i386/rshift.S"
167# endif
168
169#else
170# error "No asm files for arch"
171#endif
172