Jean-Pierre Flori on Mon, 25 Mar 2013 10:53:28 +0100


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Building PARI/GP on Debian sparc


Hi,

2013/3/18 Bill Allombert <Bill.Allombert@math.u-bordeaux1.fr>:
> On Thu, Mar 14, 2013 at 06:23:52PM +0100, Bill Allombert wrote:
>> On Thu, Mar 14, 2013 at 05:43:42PM +0100, Jean-Pierre Flori wrote:
>> > Dear all,
>> >
>> > I tried to build PARI 2.5.3 on a ultrasparc computer running Debian
>> > (64 bit kernel, trying to build everything 32 bits, not sure it would
>> > have any influence on the following) and had to find workarounds for
>> > the following problems:
>> > * got a bunch of "Error: Hardware capability "mul32" not enabled for
>> > "umul"." and similar errors, apprently you have to give more clues to
>> > the assembler, for instance setting CFLAGS="-mcpu=v9" solves this,
>>
>> Yes, Debian default ABI is 'supersparc' but your system advertises itself
>> as a ultrasparc so PARI try to use the microsparc ABI.
>>
>> > * option "-mimpure-text" is passed if the arch is sparc* but that's
>> > only supported by a GCC targetting Solaris, so I modified the right
>> > file in the config dir.
>
> As you can see in the log, gcc 4.6.3 support -mimpure-text on sparc.
> <https://buildd.debian.org/status/fetch.php?pkg=pari&arch=sparc&ver=2.5.1-2&stamp=1338810814>
>
> Which version of gcc did you use ?
>
Here is some info on the system:
$ uname -a
Linux lame5 3.2.0-3-sparc64-smp #1 SMP Mon Jul 23 05:25:29 UTC 2012
sparc64 GNU/Linux
$ cat /etc/debian_version
7.0

With a first self compiled FSF gcc 4.7.2 I get
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/infres/post/flori/sage-5.7-lame5/local/libexec/gcc/sparc-unknown-linux-gnu/4.7.2/lto-wrapper
Target: sparc-unknown-linux-gnu
Configured with: ../src/configure
--prefix=/infres/post/flori/sage-5.7-lame5/local
--with-local-prefix=/infres/post/flori/sage-5.7-lame5/local
--with-gmp=/infres/post/flori/sage-5.7-lame5/local
--with-mpfr=/infres/post/flori/sage-5.7-lame5/local
--with-mpc=/infres/post/flori/sage-5.7-lame5/local --with-system-zlib
--disable-multilib --disable-nls
Thread model: posix
gcc version 4.7.2 (GCC)
$ cat test.c
int main(){ return 0;}
$ gcc -mimpure-text -o test test.c
gcc: error: unrecognized command line option '-mimpure-text'

Same result with a Debian 4.6.3 system-wide one (sligthly more recent
than the one which seems to be used in the log you posted):
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/sparc-linux-gnu/4.6/lto-wrapper
Target: sparc-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian
4.6.3-14' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.6 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--enable-gnu-unique-object --enable-plugin --enable-objc-gc
--enable-targets=all --with-long-double-128 --enable-checking=release
--build=sparc-linux-gnu --host=sparc-linux-gnu
--target=sparc-linux-gnu
Thread model: posix
gcc version 4.6.3 (Debian 4.6.3-14)
$ gcc -mimpure-text -o test test.c
cc1: error: unrecognized command line option â-mimpure-textâ

+++++++++++++

On another Debian/sparc (gcc63 on GCC compile farm), i get no problems
with the system wide Debian 4.3.2 GCC:
$ uname -a
Linux deluxe 2.6.26-2-sparc64-smp #1 SMP Sun Mar 4 22:02:58 UTC 2012
sparc64 GNU/Linux
$ cat /etc/debian_version
5.0.10
$ gcc -v
Using built-in specs.
Target: sparc-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian
4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3
--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc
--enable-mpfr --with-cpu=v8 --with-long-double-128
--enable-checking=release --build=sparc-linux-gnu
--host=sparc-linux-gnu --target=sparc-linux-gnu
Thread model: posix
gcc version 4.3.2 (Debian 4.3.2-1.1)
$ gcc -mimpure-text test.c -o test

But trouble with a more recent FSF one:
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/home/jpflori/sage-5.7/local/libexec/gcc/sparc-unknown-linux-gnu/4.6.3/lto-wrapper
Target: sparc-unknown-linux-gnu
Configured with: ../src/configure
--prefix=/home/jpflori/sage-5.7/local
--with-local-prefix=/home/jpflori/sage-5.7/local
--with-gmp=/home/jpflori/sage-5.7/local
--with-mpfr=/home/jpflori/sage-5.7/local
--with-mpc=/home/jpflori/sage-5.7/local --with-system-zlib
--disable-multilib
Thread model: posix
gcc version 4.6.3 (GCC)
$ gcc -o test test.c -mimpure-text
cc1: error: unrecognized command line option â-mimpure-textâ

+++++++++++++

Just for info, on a Solaris system, with a self-compiled FSF GCC
4.6.3, no problems:
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/infres/post/flori/sage-5.7-infres2/local/libexec/gcc/sparc-sun-solaris2.10/4.6.3/lto-wrapper
Target: sparc-sun-solaris2.10
Configured with: ../src/configure
--prefix=/infres/post/flori/sage-5.7-infres2/local
--with-local-prefix=/infres/post/flori/sage-5.7-infres2/local
--with-gmp=/infres/post/flori/sage-5.7-infres2/local
--with-mpfr=/infres/post/flori/sage-5.7-infres2/local
--with-mpc=/infres/post/flori/sage-5.7-infres2/local
--with-system-zlib --disable-multilib --with-as=/usr/ccs/bin/as
--with-ld=/usr/ccs/bin/ld
Thread model: posix
gcc version 4.6.3 (GCC)
$ gcc -mimpure-text -o test test.c

And with the Sun provided GCC, no problem as well:
$ gcc -v
Reading specs from
/usr/local/packages/gcc3/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.3/specs
Configured with:
/sfw10/builds/build/sfw10-patch/usr/src/cmd/gcc/gcc-3.4.3/configure
--prefix=/usr/sfw --with-as=/usr/ccs/bin/as --without-gnu-as
--with-ld=/usr/ccs/bin/ld --without-gnu-ld --enable-languages=c,c++
--enable-shared
Thread model: posix
gcc version 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
$ gcc -mimpure-text -o test test.c

+++++++++++++

So it may be the case the support was dropped from non Solaris
targetting recent GCC?
See http://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=0c7243ae4c6a5c19049e95e24be527694ddd248a
which looks related.
> Cheers,
> Bill.
>

Best,
JP

-- 
Jean-Pierre Flori