Karim BELABAS on Sat, 15 Mar 2003 11:02:28 +0100 (MET) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: CVS build fails on Solaris gcc |
On Mon, 3 Mar 2003, Ilya Zakharevich wrote: > kernel.o: In function `divll': > kernel.o(.text+0x5c): undefined reference to `hiremainder' > kernel.o(.text+0x60): undefined reference to `hiremainder' > kernel.o(.text+0x7c): undefined reference to `hiremainder' It was due to an unfortunate oversight: some (old) non-inline assembler code was surrounded by #ifndef __GNUC__ [ Thx for the tip, Igor! ], since with gcc we use a (better) inline assembler. But my recent kernel patches (uniform interface for all kernels) require that the corresponding symbols be properly defined in the library, in case somebody compiles with a different compiler. In fact, compiling with a non-gcc compiler then linking with a gcc-compiled libpari failed on many architecture. I did not detect your problem on my machine (gcc-2.95.*) because __GNUC__ was not passed to cpp when preprocessing .S files. It breaks with gcc3. I have removed the spurious conditional inclusion, so it should work now. Karim. -- Karim Belabas Tel: (+33) (0)1 69 15 57 48 Dép. de Mathématiques, Bât. 425 Fax: (+33) (0)1 69 15 60 19 Université Paris-Sud http://www.math.u-psud.fr/~belabas/ F-91405 Orsay (France) http://www.parigp-home.de/ [PARI/GP]