[parisc-linux] FWD: Bug#162690: [parisc]gcc 3.x produces openssl test code that SEGVs with -march=2.0 and optimization >0

John David Anglin dave@hiauly1.hia.nrc.ca
Sat, 28 Sep 2002 18:32:57 -0400 (EDT)


> Package: gcc
> 
> Running Debian unstable on PA-RISC platform  (C160 Workstation with 160MHz
> PA-8000 CPU)
> 
> Compiling openssl 0.9.6g with any level of optimization for PA1.1 produces
> code that passes all tests ("make test") and benchmarks ("openssl speed")
> successfully.  Using -march=2.0 flag produces code that only runs
> successfully at optimization level "-O0"  Any higher optimization fails some
> of the test suite (reliably in test/exptest.c for instance).

There is a known issue with the assembler and linker with PA-RISC 2.0 code.
The relocations generated for floating-point loads and stores are wrong
in some cases.  Until this problem is fixed, I don't recommend using
-march=2.0.  This is part of the reason the default architecture is
still PA-RISC 1.1.  I don't think you can build gcc with -march=2.0
either.  There isn't a huge benefit in PA-RISC 2.0 in 32-bit mode.

I believe that this is not a problem with the 64-bit assembler and
linker.  However, there isn't a 64-bit userspace yet :(

If you think that you can contribute to resolving these issues, then
I encourage you to investigate further and determine what causes
the seg faults.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)