public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: target/5107: ICE when building an ARM/Thumb cross compiler for/on HP-UX.
@ 2002-03-15  3:14 rearnsha
  0 siblings, 0 replies; 9+ messages in thread
From: rearnsha @ 2002-03-15  3:14 UTC (permalink / raw)
  To: Klaus.k.pedersen, gcc-bugs, gcc-prs, hans_peter_jepsen,
	Richard.Earnshaw, nobody, rearnsha

Synopsis: ICE when building an ARM/Thumb cross compiler for/on HP-UX.

Responsible-Changed-From-To: unassigned->rearnsha
Responsible-Changed-By: rearnsha
Responsible-Changed-When: Fri Mar 15 03:14:13 2002
Responsible-Changed-Why:
    Mine
State-Changed-From-To: open->closed
State-Changed-By: rearnsha
State-Changed-When: Fri Mar 15 03:14:13 2002
State-Changed-Why:
    This was a bug in the native HPUX version of GCC.  It has since
    been fixed.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5107


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: target/5107: ICE when building an ARM/Thumb cross compiler for/on  HP-UX.
@ 2002-03-04 17:36 Craig Rodrigues
  0 siblings, 0 replies; 9+ messages in thread
From: Craig Rodrigues @ 2002-03-04 17:36 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR target/5107; it has been noted by GNATS.

From: Craig Rodrigues <rodrigc@mediaone.net>
To: hans_peter_jepsen@danfoss.com, gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org,
   Klaus.k.pedersen@nokia.com, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org,
   Richard.Earnshaw@arm.com
Cc:  
Subject: Re: target/5107: ICE when building an ARM/Thumb cross compiler for/on 
 HP-UX.
Date: Mon, 04 Mar 2002 20:36:07 -0500

 PR 5827 was marked as a duplicate of this one:
 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5827
 
 Richard Earnshaw looked quite a lot at this from the ARM side,
 and determined that there was something wrong in the
 PA-RISC optimizer.
 
 Could a PA-RISC person take a look?
 
 
 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5107
 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: target/5107: ICE when building an ARM/Thumb cross compiler  for/on  HP-UX.
@ 2001-12-17  6:36 Klaus Pedersen
  0 siblings, 0 replies; 9+ messages in thread
From: Klaus Pedersen @ 2001-12-17  6:36 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR target/5107; it has been noted by GNATS.

From: Klaus Pedersen <klaus.k.pedersen@nokia.com>
To: Richard.Earnshaw@arm.com
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: target/5107: ICE when building an ARM/Thumb cross compiler  for/on 
 HP-UX.
Date: Mon, 17 Dec 2001 15:25:54 +0100

 Looking at the code again. I think that there is a bug.
 
 >     for (i = 0; i < 25; i++)
 >       if ((val & (mask << i)) == val)
 >         break;
 > 
 >     if (i == 0)
 >       FAIL;
 
 Consider "val = 0x55", which can be represented as 0x55 << 0, but
 calling the function with this value causes the function FAIL to
 be called.
 
 On the other hand, FAIL isn't called when passing the constant 0x101, 
 which can't be represented, therefor I think that:
 
 >     if (i == 0)
 >       FAIL;
 
 should read:
 
 >     if (i == 25)
 >       FAIL;
 
 
 BR, Klaus Pedersen
 
 
 
 ext Richard Earnshaw wrote:
 > 
 > Right, I've tracked this down to what I believe is the mis-compiled
 > function.
 > 
 > The arm.md file defines the split pattern
 > 
 > (define_split
 >   [(set (match_operand:SI 0 "register_operand" "")
 >         (match_operand:SI 1 "const_int_operand" ""))]
 >   "TARGET_THUMB && CONST_OK_FOR_THUMB_LETTER (INTVAL (operands[1]),
 > 'K')"
 >   [(set (match_dup 0) (match_dup 1))
 >    (set (match_dup 0) (ashift:SI (match_dup 0) (match_dup 2)))]
 >   "
 >   {
 >     unsigned HOST_WIDE_INT val = INTVAL (operands[1]);
 >     unsigned HOST_WIDE_INT mask = 0xff;
 >     int i;
 > 
 >     for (i = 0; i < 25; i++)
 >       if ((val & (mask << i)) == val)
 >         break;
 > 
 >     if (i == 0)
 >       FAIL;
 > 
 >     operands[1] = GEN_INT (val >> i);
 >     operands[2] = GEN_INT (i);
 >   }"
 > ...
 > 
 > With the current sources (as of 15/12/2001) this is gen_split_415().
 > 
 > The body of the for() loop in this pattern is never executing.
 > Consequently the "if (i == 0)" clause is true and the pattern fails.
 > Clearly this is incorrect behaviour when val is 65536.
 > 
 > You might be able to work around this problem by building the compiler
 > with a lower optimization level.  Try
 >         make all CFLAGS="-g".
 > 
 > So over the the pa maintainers.  Sorry, I don't know pa code well enough
 > 
 > to even begin to work out why this is failing.
 > 
 > R.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: target/5107: ICE when building an ARM/Thumb cross compiler  for/on  HP-UX.
@ 2001-12-17  2:36 Klaus Pedersen
  0 siblings, 0 replies; 9+ messages in thread
From: Klaus Pedersen @ 2001-12-17  2:36 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR target/5107; it has been noted by GNATS.

From: Klaus Pedersen <klaus.k.pedersen@nokia.com>
To: Richard.Earnshaw@arm.com
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: target/5107: ICE when building an ARM/Thumb cross compiler  for/on 
 HP-UX.
Date: Mon, 17 Dec 2001 11:33:03 +0100

 Thanks a lot for tracking this down.
 
 Did you put the bug in gnats?
 
 The following program will provoke the error with "-O2", but runs 
 without error with "-O1" on HP PA:
 
 ---
 int main()
 {
     int operands[10] = {0, 65536};
     unsigned int val = operands[1];
     unsigned int mask = 0xff;
     int i;
     
     for (i = 0; i < 25; i++)
       if ((val & (mask << i)) == val)
         break;
 
     if (i == 0)
       puts("Fail");
 
     return 0;
 }
 ---
 
 Pretty frightening, that code this simple doesn't compile correctly!
 
 (Now I am looking forward to a emacs that doesn't crash!).
 
 BR, Klaus Pedersen
 
 
 ext Richard Earnshaw wrote:
 > 
 > Right, I've tracked this down to what I believe is the mis-compiled
 > function.
 > 
 > The arm.md file defines the split pattern
 > 
 > (define_split
 >   [(set (match_operand:SI 0 "register_operand" "")
 >         (match_operand:SI 1 "const_int_operand" ""))]
 >   "TARGET_THUMB && CONST_OK_FOR_THUMB_LETTER (INTVAL (operands[1]),
 > 'K')"
 >   [(set (match_dup 0) (match_dup 1))
 >    (set (match_dup 0) (ashift:SI (match_dup 0) (match_dup 2)))]
 >   "
 >   {
 >     unsigned HOST_WIDE_INT val = INTVAL (operands[1]);
 >     unsigned HOST_WIDE_INT mask = 0xff;
 >     int i;
 > 
 >     for (i = 0; i < 25; i++)
 >       if ((val & (mask << i)) == val)
 >         break;
 > 
 >     if (i == 0)
 >       FAIL;
 > 
 >     operands[1] = GEN_INT (val >> i);
 >     operands[2] = GEN_INT (i);
 >   }"
 > ...
 > 
 > With the current sources (as of 15/12/2001) this is gen_split_415().
 > 
 > The body of the for() loop in this pattern is never executing.
 > Consequently the "if (i == 0)" clause is true and the pattern fails.
 > Clearly this is incorrect behaviour when val is 65536.
 > 
 > You might be able to work around this problem by building the compiler
 > with a lower optimization level.  Try
 >         make all CFLAGS="-g".
 > 
 > So over the the pa maintainers.  Sorry, I don't know pa code well enough
 > 
 > to even begin to work out why this is failing.
 > 
 > R.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: target/5107: ICE when building an ARM/Thumb cross compiler  for/on HP-UX.
@ 2001-12-15  8:46 Richard Earnshaw
  0 siblings, 0 replies; 9+ messages in thread
From: Richard Earnshaw @ 2001-12-15  8:46 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR target/5107; it has been noted by GNATS.

From: Richard Earnshaw <rearnsha@arm.com>
To: Klaus Pedersen <klaus.k.pedersen@nokia.com>
Cc: Richard.Earnshaw@arm.com, gcc-gnats@gcc.gnu.org
Subject: Re: target/5107: ICE when building an ARM/Thumb cross compiler 
 for/on HP-UX.
Date: Sat, 15 Dec 2001 16:37:36 +0000

 Right, I've tracked this down to what I believe is the mis-compiled 
 function.
 
 The arm.md file defines the split pattern
 
 (define_split 
   [(set (match_operand:SI 0 "register_operand" "")
         (match_operand:SI 1 "const_int_operand" ""))]
   "TARGET_THUMB && CONST_OK_FOR_THUMB_LETTER (INTVAL (operands[1]), 'K')"
   [(set (match_dup 0) (match_dup 1))
    (set (match_dup 0) (ashift:SI (match_dup 0) (match_dup 2)))]
   "
   {
     unsigned HOST_WIDE_INT val = INTVAL (operands[1]);
     unsigned HOST_WIDE_INT mask = 0xff;
     int i;
     
     for (i = 0; i < 25; i++)
       if ((val & (mask << i)) == val)
         break;
 
     if (i == 0)
       FAIL;
 
     operands[1] = GEN_INT (val >> i);
     operands[2] = GEN_INT (i);
   }"
 ...
 
 
 With the current sources (as of 15/12/2001) this is gen_split_415().
 
 The body of the for() loop in this pattern is never executing.  
 Consequently the "if (i == 0)" clause is true and the pattern fails.  
 Clearly this is incorrect behaviour when val is 65536.
 
 You might be able to work around this problem by building the compiler 
 with a lower optimization level.  Try
 	make all CFLAGS="-g".
 
 
 So over the the pa maintainers.  Sorry, I don't know pa code well enough 
 to even begin to work out why this is failing.
 
 R.
 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: target/5107: ICE when building an ARM/Thumb cross compiler  for/on HP-UX.
@ 2001-12-14 10:16 Richard Earnshaw
  0 siblings, 0 replies; 9+ messages in thread
From: Richard Earnshaw @ 2001-12-14 10:16 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR target/5107; it has been noted by GNATS.

From: Richard Earnshaw <rearnsha@arm.com>
To: Klaus Pedersen <klaus.k.pedersen@nokia.com>
Cc: Richard.Earnshaw@arm.com, gcc-gnats@gcc.gnu.org
Subject: Re: target/5107: ICE when building an ARM/Thumb cross compiler 
 for/on HP-UX.
Date: Fri, 14 Dec 2001 18:06:10 +0000

 > Yes, it seems you are right, I tried this program:
 > 
 > 	long __muldi3(void)
 > 	{
 > 		return 65536;
 > 	}
 > - and even this simple program generates the ICE.
 
 OK, that reduces the problem a bit, and confirms my basic suspicions.
 
 > Does the error have any connection to these warnings that is generated
 > when parsing the arm.md file? (there are some references to 
 > define_split)
 > ---
 > ./genrecog ../../gcc-20011203/gcc/config/arm/arm.md > tmp-recog.c
 > ../../gcc-20011203/gcc/config/arm/arm.md:595: warning: constraints not
 > supported in define_peephole2
 
 This isn't related to your problem.
 
 > How do I force configure to use the native compiler? Is it enough to
 > set the CC enviroment variable before configuring?
 
 Yes, set the CC environment variable; but,
 
 > 
 > OK, it seems that we don't have a native ANSI compiler, the "bundled C
 > compiler" stops at the first ANSI construct, function prototypes!
 > 
 > How can HP get away with that?
 
 Good question.  I think HP's response will be something along the lines of
 
 "That compiler is only intended for those people who need to customise and 
 link a new kernel for their particular machine."
 > 
 > Besides this try, I have only used gcc. This is a selection:
 > 
 
 OK.  I strongly suspect a bug in your native (HPUX) GCC, which is causing 
 a miscompilation of the ARM code, though it is a little surprising that so 
 many variants should all produce similar effects.
 
 
 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: target/5107: ICE when building an ARM/Thumb cross compiler  for/on  HP-UX.
@ 2001-12-14  9:56 Klaus Pedersen
  0 siblings, 0 replies; 9+ messages in thread
From: Klaus Pedersen @ 2001-12-14  9:56 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR target/5107; it has been noted by GNATS.

From: Klaus Pedersen <klaus.k.pedersen@nokia.com>
To: Richard.Earnshaw@arm.com
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: target/5107: ICE when building an ARM/Thumb cross compiler  for/on 
 HP-UX.
Date: Fri, 14 Dec 2001 18:50:28 +0100

 ext Richard Earnshaw wrote:
 > It's most likely in a "split_all_insns" pass, which should turn the
 > pseudo instruction
 > 
 >         set r2 = 65536
 > 
 > into the real thumb instructions
 > 
 >         set r2 = 128
 >         set r2 = r2 << 9
 
 Yes, it seems you are right, I tried this program:
 
 	long __muldi3(void)
 	{
 		return 65536;
 	}
 
 with
 	 ./xgcc -c -mthumb -B. test.c
 
 - and even this simple program generates the ICE.
 
 Does the error have any connection to these warnings that is generated
 when parsing the arm.md file? (there are some references to 
 define_split)
 ---
 ./genrecog ../../gcc-20011203/gcc/config/arm/arm.md > tmp-recog.c
 ../../gcc-20011203/gcc/config/arm/arm.md:595: warning: constraints not
 supported in define_peephole2
 ../../gcc-20011203/gcc/config/arm/arm.md:595: warning: constraints not
 supported in define_peephole2
 ../../gcc-20011203/gcc/config/arm/arm.md:595: warning: constraints not
 supported in define_peephole2
 ../../gcc-20011203/gcc/config/arm/arm.md:595: warning: constraints not
 supported in define_peephole2
 ../../gcc-20011203/gcc/config/arm/arm.md:2333: warning: constraints not
 supported in define_split
 ../../gcc-20011203/gcc/config/arm/arm.md:2333: warning: constraints not
 supported in define_split
 ../../gcc-20011203/gcc/config/arm/arm.md:2333: warning: constraints not
 supported in define_split
 ../../gcc-20011203/gcc/config/arm/arm.md:2333: warning: constraints not
 supported in define_split
 ../../gcc-20011203/gcc/config/arm/arm.md:2333: warning: constraints not
 supported in define_split
 ---
 
 
 
 [...]
  
 > What *native* compiler where you using to build your cross-compiler?
 > gcc?
 > if so, which version?  I used the HP compiler and as mentioned, didn't
 > see a problem (but that can't build the c++ compiler).
 
 How do I force configure to use the native compiler? Is it enough to
 set the CC enviroment variable before configuring?
 
 OK, it seems that we don't have a native ANSI compiler, the "bundled C
 compiler" stops at the first ANSI construct, function prototypes!
 
 ---
 /bin/cc -c -DCROSS_COMPILE -DIN_GCC    -g   -DHAVE_CONFIG_H    -I. -I.
 -I../../gcc-20011203/gcc -I../../gcc-20011203/gcc/.
 -I../../gcc-20011203/gcc/config -I../../gcc-20011203/gcc/../include \
         ../../gcc-20011203/gcc/config/arm/arm.c -o arm.o
 (Bundled) cc: warning 480: The -g option is available only with the
 C/ANSI C product; ignored.
 (Bundled) cc: "../../gcc-20011203/gcc/config/arm/arm.c", line 1057:
 error 1705: Function prototypes are an ANSI feature.
 [...]
 gmake[1]: *** [arm.o] Error 1
 ---
 
 How can HP get away with that?
 It looks as if I am going to find a native ANSI C compiler.
 So I guess that this means that there are a serious problem in the
 HP backend (this might explain why our emacs and xemacs sometimes
 crash!).
 
 Besides this try, I have only used gcc. This is a selection:
 
 ---
 Reading specs from
 /opt/net/local/gcc2953/lib/gcc-lib/hppa1.1-hp-hpux11.00/2.95.3/specs
 gcc version 2.95.3 20010315 (TWW)
 ---
 Reading specs from
 /opt/net/local/gcc302/lib/gcc-lib/hppa1.1-hp-hpux11.00/3.0.2/specs
 Configured with: ../configure --enable-haifa --with-gnu-as
 --with-included-gettext --enable-shared --enable-languages=c,c++,f77
 --enable-threads=posix --prefix=/opt/net/local/gcc302
 --with-local-prefix=/opt/net/local/gcc302
 Thread model: posix
 gcc version 3.0.2
 ---
 (this crashes in other ways)
 Reading specs from
 /users/contrib/pkgs/gcc/gcc-2.8.1/HP-UX/B.11.00/lib/gcc-lib/hppa1.1-hp-hpux11.00/2.8.1/specs
 gcc version 2.8.1
 ---
 Reading specs from
 /users/contrib/pkgs/gcc/gcc-2.95.2/HP-UX/B.10.20/lib/gcc-lib/hppa1.1-hp-hpux10.20/2.95.2/specs
 gcc version 2.95.2 19991024 (release)
 ---
 Reading specs from
 /opt/net/local/gcc30/lib/gcc-lib/hppa1.1-hp-hpux11.00/3.0/specs
 Configured with: ../configure --enable-haifa --with-gnu-as
 --with-included-gettext --enable-shared --enable-languages=c,c++,f77
 --enable-threads=posix --prefix=/opt/net/local/gcc30
 --with-local-prefix=/opt/net/local/gcc30
 Thread model: posix
 gcc version 3.0
 ---
 and the current snapshot.
 ---
 
 
 BR, Klaus
 
 ext Richard Earnshaw wrote:
 > 
 > > I am trying to build an ARM/THUMB cross compiler on HP-UX 11 and
 > > HP-UX 10.20. It doesn't work, even with the latest snapshot.
 > 
 > Hmm, I built just the C compiler on our HPUX-11 machine and didn't see
 > this problem...
 > 
 > > When xgcc is building the "thumb libgcc2" version of muldi3 it
 > > stops with an internal error:
 > >
 > > -------------
 > > ../../gcc-20011203/gcc/libgcc2.c: In function `__muldi3':
 > > ../../gcc-20011203/gcc/libgcc2.c:367: could not split insn
 > >
 > > (insn 175 70 72 (set (reg:SI 2 r2)
 > >         (const_int 65536 [0x10000])) 176 {*thumb_movsi_insn} (nil)
 > >     (nil))
 > 
 > The compiler certainly has a define_split that should match this (and
 > that
 > is indeed what happens on the Sun dump you posted).
 > 
 > > When you compare the dumps from the machines side-by-side, you
 > > will notice that there are not a single pair that are equal !
 > > -------------
 > > coicxxx -> diff hp-dumps/libgcc2.i.00.rtl sun-dumps/libgcc2.i.00.rtl
 > > 16c16
 > > < (note 9 7 15 7bf703c0 NOTE_INSN_BLOCK_BEG)
 > > ---
 > > > (note 9 7 15 4003c0 NOTE_INSN_BLOCK_BEG)
 > > 26c26
 > > < (note 19 17 22 7bf70380 NOTE_INSN_BLOCK_BEG)
 > > ---
 > > > (note 19 17 22 400380 NOTE_INSN_BLOCK_BEG)
 > > [...]
 > 
 > These are pointers (don't know why they are useful, and yes, they do
 > make
 > comparing across machines a pain).  So there isn't a problem here.  The
 > problem first shows up in dump 23 (ie some between postreload and
 > flow2).
 > It's most likely in a "split_all_insns" pass, which should turn the
 > pseudo
 > instruction
 > 
 >         set r2 = 65536
 > 
 > into the real thumb instructions
 > 
 >         set r2 = 128
 >         set r2 = r2 << 9
 > 
 > > My configure string:
 > > -------------
 > > ../gcc-20011203/configure \
 > >      --prefix=/opt/arm-elf-gcc --target=arm-elf --nfp \
 > >      --enable-languages=c,c++ --with-dwarf2 --enable-target-optspace \
 > >      --with-as=/opt/arm-elf-gcc/bin/arm-elf-as \
 > >      --with-ld=/opt/arm-elf-gcc/bin/arm-elf-ld
 > 
 > What *native* compiler where you using to build your cross-compiler?
 > gcc?
 > if so, which version?  I used the HP compiler and as mentioned, didn't
 > see
 > a problem (but that can't build the c++ compiler).


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: target/5107: ICE when building an ARM/Thumb cross compiler  for/on HP-UX.
@ 2001-12-14  2:56 Richard Earnshaw
  0 siblings, 0 replies; 9+ messages in thread
From: Richard Earnshaw @ 2001-12-14  2:56 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR target/5107; it has been noted by GNATS.

From: Richard Earnshaw <rearnsha@arm.com>
To: Klaus.k.pedersen@nokia.com
Cc: gcc-gnats@gcc.gnu.org, Richard.Earnshaw@arm.com
Subject: Re: target/5107: ICE when building an ARM/Thumb cross compiler 
 for/on HP-UX.
Date: Fri, 14 Dec 2001 10:53:25 +0000

 > I am trying to build an ARM/THUMB cross compiler on HP-UX 11 and
 > HP-UX 10.20. It doesn't work, even with the latest snapshot.
 
 Hmm, I built just the C compiler on our HPUX-11 machine and didn't see 
 this problem...
 
 
 > When xgcc is building the "thumb libgcc2" version of muldi3 it
 > stops with an internal error:
 > 
 > -------------
 > ../../gcc-20011203/gcc/libgcc2.c: In function `__muldi3':
 > ../../gcc-20011203/gcc/libgcc2.c:367: could not split insn
 > 
 > (insn 175 70 72 (set (reg:SI 2 r2)
 >         (const_int 65536 [0x10000])) 176 {*thumb_movsi_insn} (nil)
 >     (nil))
 
 The compiler certainly has a define_split that should match this (and that 
 is indeed what happens on the Sun dump you posted).
 
 > When you compare the dumps from the machines side-by-side, you
 > will notice that there are not a single pair that are equal !
 > -------------
 > coicxxx -> diff hp-dumps/libgcc2.i.00.rtl sun-dumps/libgcc2.i.00.rtl
 > 16c16
 > < (note 9 7 15 7bf703c0 NOTE_INSN_BLOCK_BEG)
 > ---
 > > (note 9 7 15 4003c0 NOTE_INSN_BLOCK_BEG)
 > 26c26
 > < (note 19 17 22 7bf70380 NOTE_INSN_BLOCK_BEG)
 > ---
 > > (note 19 17 22 400380 NOTE_INSN_BLOCK_BEG)
 > [...]
 
 These are pointers (don't know why they are useful, and yes, they do make 
 comparing across machines a pain).  So there isn't a problem here.  The 
 problem first shows up in dump 23 (ie some between postreload and flow2).  
 It's most likely in a "split_all_insns" pass, which should turn the pseudo 
 instruction
 
 	set r2 = 65536
 
 into the real thumb instructions
 
 	set r2 = 128
 	set r2 = r2 << 9
 
 
 > My configure string:
 > -------------
 > ../gcc-20011203/configure \
 >      --prefix=/opt/arm-elf-gcc --target=arm-elf --nfp \
 >      --enable-languages=c,c++ --with-dwarf2 --enable-target-optspace \
 >      --with-as=/opt/arm-elf-gcc/bin/arm-elf-as \
 >      --with-ld=/opt/arm-elf-gcc/bin/arm-elf-ld
 
 What *native* compiler where you using to build your cross-compiler? gcc? 
 if so, which version?  I used the HP compiler and as mentioned, didn't see 
 a problem (but that can't build the c++ compiler).
 
 
 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* target/5107: ICE when building an ARM/Thumb cross compiler for/on HP-UX.
@ 2001-12-13 14:46 Klaus.k.pedersen
  0 siblings, 0 replies; 9+ messages in thread
From: Klaus.k.pedersen @ 2001-12-13 14:46 UTC (permalink / raw)
  To: gcc-gnats


>Number:         5107
>Category:       target
>Synopsis:       ICE when building an ARM/Thumb cross compiler for/on HP-UX.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Thu Dec 13 14:46:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Klaus Pedersen
>Release:        all - at least from 2.95 and up
>Organization:
>Environment:
HP-UX 11, HP-UX 10.20, gcc 2.95.2, to current snapshot 

I have tried a wide selection of HP boxes (thanks to rodrigc@gcc.gnu.org,
who claims that he doesn't have any problems on HP). - from personal
workstations:
  HP-UX coicxxx B.11.00 A 9000/785 2014470784 two-user license 
to N-class servers:
  HP-UX caswxxx B.11.00 U 9000/800 600309332 unlimited-user license
in 3 differend contries.
>Description:
See also bootstrap/3479, closed by rodrigc@gcc.gnu.org

I am trying to build an ARM/THUMB cross compiler on HP-UX 11 and
HP-UX 10.20. It doesn't work, even with the latest snapshot.

When xgcc is building the "thumb libgcc2" version of muldi3 it
stops with an internal error:

-------------
../../gcc-20011203/gcc/libgcc2.c: In function `__muldi3':
../../gcc-20011203/gcc/libgcc2.c:367: could not split insn

(insn 175 70 72 (set (reg:SI 2 r2)
        (const_int 65536 [0x10000])) 176 {*thumb_movsi_insn} (nil)
    (nil))
../../gcc-20011203/gcc/libgcc2.c:367: Internal compiler error in final_scan_insn, at final.c:2928
-------------

I ran the compiler with -save-temps, to get the preprocessed file,
and it is now possible for me to reproduce the error with :
-------------
./xgcc -B. -O2 -fno-inline -mthumb -daP -c libgcc2.i -o _muldi3.o
-------------
I have attached libgcc2.i, as well as the dumps I created when running
this command on both Sun and HP.

I assume that the dumps are independent of the architecture that
produces them.

When you compare the dumps from the machines side-by-side, you
will notice that there are not a single pair that are equal !
-------------
coicxxx -> diff -qs hp-dumps/ sun-dumps/
Files hp-dumps/libgcc2.i.00.rtl and sun-dumps/libgcc2.i.00.rtl differ
Files hp-dumps/libgcc2.i.01.sibling and sun-dumps/libgcc2.i.01.sibling differ
[...]
-------------

When examining libgcc2.i.00.rtl, that the differences are pretty
supecious:
-------------
coicxxx -> diff hp-dumps/libgcc2.i.00.rtl sun-dumps/libgcc2.i.00.rtl
16c16
< (note 9 7 15 7bf703c0 NOTE_INSN_BLOCK_BEG)
---
> (note 9 7 15 4003c0 NOTE_INSN_BLOCK_BEG)
26c26
< (note 19 17 22 7bf70380 NOTE_INSN_BLOCK_BEG)
---
> (note 19 17 22 400380 NOTE_INSN_BLOCK_BEG)
[...]
-------------
(hopefully the number isn't a pointer - because then I just made
a fool of myself ;-) BTW, where are the documentation? - I looked
in print-rtl.c in an attempt to track down the problem.

But there are lots of other interresting differences, hopefully it
will mean something for you!

I haven't had any problem on neither Linux nor Sun.
./xgcc -B. -O2 -fno-inline -mthumb -daP -c libgcc2.i -o _muldi3.o


My configure string:
-------------
../gcc-20011203/configure \
     --prefix=/opt/arm-elf-gcc --target=arm-elf --nfp \
     --enable-languages=c,c++ --with-dwarf2 --enable-target-optspace \
     --with-as=/opt/arm-elf-gcc/bin/arm-elf-as \
     --with-ld=/opt/arm-elf-gcc/bin/arm-elf-ld
-------------
>How-To-Repeat:
(for example)

Configure
-------------
../gcc-20011203/configure \
     --prefix=/opt/arm-elf-gcc --target=arm-elf --nfp \
     --enable-languages=c,c++ --with-dwarf2 --enable-target-optspace \
     --with-as=/opt/arm-elf-gcc/bin/arm-elf-as \
     --with-ld=/opt/arm-elf-gcc/bin/arm-elf-ld
-------------
to get gcc/xgcc, then compile "libgcc2.i" from the
attachment, with:  
-------------
./xgcc -B. -O2 -fno-inline -mthumb -daP -c libgcc2.i -o _muldi3.o
-------------
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/x-tar; name="gcc-20011203-test.tar.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="gcc-20011203-test.tar.gz"

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
C6/69f8DlkTQyQBYBwA=


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2002-03-15 11:14 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-03-15  3:14 target/5107: ICE when building an ARM/Thumb cross compiler for/on HP-UX rearnsha
  -- strict thread matches above, loose matches on Subject: below --
2002-03-04 17:36 Craig Rodrigues
2001-12-17  6:36 Klaus Pedersen
2001-12-17  2:36 Klaus Pedersen
2001-12-15  8:46 Richard Earnshaw
2001-12-14 10:16 Richard Earnshaw
2001-12-14  9:56 Klaus Pedersen
2001-12-14  2:56 Richard Earnshaw
2001-12-13 14:46 Klaus.k.pedersen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).