Subject: port-alpha/7092: egcs bug on alpha
To: None <gnats-bugs@gnats.netbsd.org>
From: None <root@polaris.garbled.net>
List: netbsd-bugs
Date: 03/06/1999 08:53:16
>Number:         7092
>Category:       port-alpha
>Synopsis:       egcs bug on alpha
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-alpha-maintainer (NetBSD/alpha Portmaster)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Mar  6 08:05:01 1999
>Last-Modified:
>Originator:     Tim Rightnour
>Organization:
Tim Rightnour  -  root@garbled.net
Free Multi-Platform Operating System: http://www.netbsd.org
NetBSD Mailing lists on the web: http://mail-index.netbsd.org/mlist
>Release:        1.3I<NetBSD-current source date>
>Environment:
	
System: NetBSD polaris 1.3.2 NetBSD 1.3.2 (POLARIS) #1: Fri Nov 6 07:41:34 MST 1998 root@:/usr/src/sys/arch/i386/compile/POLARIS i386
system is in fact:
NetBSD giauzar 1.3I NetBSD 1.3I (GIAUZAR) #0: Thu Jan 21 13:56:48 MST 1999     root@giauzar:/usr/src/current/src/sys/arch/alpha/compile/GIAUZAR alpha


>Description:
> I recieved the following while trying to compile "sound_tools" from
> http://www.cstr.ed.ac.uk/projects/festival/
> 
> lattice.cc:1051: Internal compiler error.
> lattice.cc:1051: Please submit a full bug report to `egcs-bugs@cygnus.com'.
> lattice.cc:1051: See <URL:http://egcs.cygnus.com/faq.html#bugreport> for
> details.

	
>How-To-Repeat:
See above

	
>Fix:
(From Richard Henderson (rth@cygnus.com))
The problem was in comparing two CODE_LABELs -- they do have an
embedded string, but it is not for strcmp consumption.  

The following fixes things.

r~

        * jump.c (rtx_renumbered_equal_p): Special case CODE_LABEL.

Index: jump.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/jump.c,v
retrieving revision 1.34.2.2
diff -u -p -d -r1.34.2.2 jump.c
--- jump.c      1998/10/30 23:41:35     1.34.2.2
+++ jump.c      1999/01/18 04:34:13
@@ -4345,6 +4345,10 @@ rtx_renumbered_equal_p (x, y)
     case SYMBOL_REF:
       return XSTR (x, 0) == XSTR (y, 0);
 
+    case CODE_LABEL:
+      /* If we didn't match EQ equality above, they aren't the same.  */
+      return 0;
+
     default:
       break;
     }


	
>Audit-Trail:
>Unformatted: