This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: x86 PIC regressions
- To: "H.J. Lu" <hjl at lucon dot org>
- Subject: Re: x86 PIC regressions
- From: Robert Lipe <robertl at dgii dot com>
- Date: Wed, 2 Sep 1998 01:35:30 -0500
- Cc: egcs at cygnus dot com
- References: <19980827135954.O3677@dgii.com> <m0zE4KM-00038xC@ocean.lucon.org>
H.J. Lu wrote:
> >
> > Sometime in the last few days in the trunk, x86 has regressed on
> > PIC testcases. Since few exercise this, I suspect it hasn't been
> > noticed in the common 'make check' cases. I've verified this on both
> > i686-linux-gnu and i686-pc-sco3.2v5.0.4. I updated the tree about
> > noonish CDT on 8/27.
> >
> > While this failure case is only one of several, one quick way to
> > watch it break is:
> >
> > make check-gcc RUNTESTFLAGS="--tool_opts -fPIC execute.exp=930106-1.c"
> >
>
> This is what I got for egcs 1.1 prerelease on i586-linux-gnu. However,
> I have quite a few patches installed. One of them is
>
> Fri Aug 28 05:06:06 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
>
> * config/gcc/i386.md (movsf, movdf, movxf): Accept no constants
> if -fPIC and -fomit-frame-pointer.
This must not be the one. I just applied that patch to my tree on
my i686-pc-linux-gnu, rebuilt it, and reran the above command. The
compiler still hari-karis:
Executing on host: /home/robertl/tmp/negcs/gcc/xgcc -B/home/robertl/tmp/negcs/gc
c/ /play/egcs/gcc/testsuite/gcc.c-torture/execute/930106-1.c -w -O0 -fPIC -l
m -o /home/robertl/tmp/negcs/gcc/testsuite/930106-1.x0
compiler exited with status 1
output is:
/play/egcs/gcc/testsuite/gcc.c-torture/execute/930106-1.c: In function `main':
/play/egcs/gcc/testsuite/gcc.c-torture/execute/930106-1.c:27: internal error--un
recognizable insn:
(insn 12 11 13 (set:DF (reg:DF 23)
(mem/u:DF (symbol_ref/u:SI ("*.LC0")))) -1 (nil)
(expr_list:REG_EQUAL (const_double:DF (mem/u:DF (symbol_ref/u:SI ("*.LC0")))
0 0 1073790976)
(nil)))
/play/egcs/gcc/toplev.c:1360: Internal compiler error in function fatal_insn
FAIL: gcc.c-torture/execute/930106-1.c compilation, -O0
Were the failures you cite below from a straight make check, or did you
add the -fPIC stuff as described above?
> FAIL: gcc.c-torture/execute/980506-2.c execution, -O2
> FAIL: gcc.c-torture/execute/980506-2.c execution, -O2 -g
> FAIL: gcc.c-torture/execute/980506-2.c execution, -Os
> FAIL: gcc.c-torture/execute/980526-1.c execution, -O2 -fomit-frame-pointer -finline-functions
> FAIL: gcc.c-torture/execute/ieee/980619-1.c execution, -O1
> FAIL: gcc.c-torture/execute/ieee/980619-1.c execution, -O2
> FAIL: gcc.c-torture/execute/ieee/980619-1.c execution, -O2 -fomit-frame-pointer -finline-functions
> FAIL: gcc.c-torture/execute/ieee/980619-1.c execution, -O2 -fomit-frame-pointer -finline-functions -funroll-loops
> FAIL: gcc.c-torture/execute/ieee/980619-1.c execution, -O2 -fomit-frame-pointer -finline-functions -funroll-all-loops
> FAIL: gcc.c-torture/execute/ieee/980619-1.c execution, -O2 -g
> FAIL: gcc.c-torture/execute/ieee/980619-1.c execution, -Os
> FAIL: gcc.dg/980626-1.c (test for excess errors)
> FAIL: gcc.dg/clobbers.c execution test