This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] VAX ELF PIC support (take 2).


Hi Matt,

Since this is a large and complex change, I decided to test it.  Sorry,
about the delay but I had to work out some updates for an ultrix build
with 3.4.  Mostly, these are include hacks.

I hit a problem with your patch which appear related to the changes
made to GO_IF_LEGITIMATE_ADDRESS or print_operand_address.

stage1/xgcc -Bstage1/ -B/usr/local/vax-dec-ultrix4.3/bin/ -c   -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Werror -fno-common   -DHAVE_CONFIG_H    -I. -I. -I../../gcc/gcc -I../../gcc/gcc/. -I../../gcc/gcc/../include  ../../gcc/gcc/cppcharset.c -o cppcharset.o
../../gcc/gcc/cppcharset.c: In function `_cpp_valid_ucn':

../../gcc/gcc/cppcharset.c:771: internal compiler error: in print_operand_address, at config/vax/vax.c:386

We have the following insn being output:

(gdb) p debug_rtx (insn)
(insn 322 450 328 ../../gcc/gcc/cppcharset.c:767 (set (reg:SI 0 r0 [orig:121 <variable>.flags ] [121])
        (zero_extend:SI (mem/s/u:HI (plus:SI (plus:SI (mult:SI (reg/v:SI 2 r2 [orig:66 md ] [66])
			    (const_int 2 [0x2]))
			(reg:SI 8 r8 [136]))
		    (const:SI (plus:SI (symbol_ref:SI ("ucnranges") [flags 0x2] <var_decl 00658af4 ucnranges>)
			    (const_int 4 [0x4])))) [4 <variable>.flags+0 S2 A16]))) 30 {zero_extendhisi2} (nil)
    (expr_list:REG_DEAD (reg/v:SI 2 r2 [orig:66 md ] [66])
	(nil)))

(gdb) p debug_rtx (x)
(plus:SI (plus:SI (mult:SI (reg/v:SI 2 r2 [orig:66 md ] [66])
            (const_int 2 [0x2]))
	(reg:SI 8 r8 [136]))
    (const:SI (plus:SI (symbol_ref:SI ("ucnranges") [flags 0x2] <var_decl 00658af4 ucnranges>)
	(const_int 4 [0x4]))))

(gdb) p debug_rtx (addr)
(plus:SI (mult:SI (reg/v:SI 2 r2 [orig:66 md ] [66])
        (const_int 2 [0x2]))
    (reg:SI 8 r8 [136]))

(gdb) p debug_rtx (reg1)
(reg:SI 8 r8 [136])

(gdb) p debug_rtx (breg)
(nil)

(gdb) p debug_rtx (ireg)
(mult:SI (reg/v:SI 2 r2 [orig:66 md ] [66])
    (const_int 2 [0x2]))

(gdb) p legitimate_address_p (HImode, x, 0)
$10 = 1

I'm going to try a baseline build so I can see the current state of things.

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]