Cannot build recent snapshots on UnixWare 2.1.2

H.J. Lu hjl@lucon.org
Sun Oct 26 16:30:00 GMT 1997


> 
> 
> On my UnixWare 2.1.2 (SVR4.2MP) system, I'm having the same difficulty
> building snapshot 971023 as I had building 971016; the result of the
> stage1 compiler will not work.  I had previously built the 970910
> snapshot with no difficulty.  I cannot build the 971023 snapshot using 
> either the native compiler or gcc.
> 

Can you try this patch?


H.J.
---
Fri Oct 17 08:28:19 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)

	* frame.c (count_fdes, add_fdes): Skip linked once FDE entries.

Sat Oct 11 17:24:53 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)

	* toplev.c (rest_of_compilation): Don't defer thunks.

Index: toplev.c
===================================================================
RCS file: /home/work/cvs/gnu/egcs/gcc/toplev.c,v
retrieving revision 1.1.1.6
diff -u -r1.1.1.6 toplev.c
--- toplev.c	1997/10/24 01:16:14	1.1.1.6
+++ toplev.c	1997/10/24 01:21:06
@@ -3046,7 +3074,8 @@
 
       /* If we can, defer compiling inlines until EOF.
 	 save_for_inline_copying can be extremely expensive.  */
-      if (inlineable && ! decl_function_context (decl))
+      if (inlineable && !current_function_is_thunk
+	  && ! decl_function_context (decl))
 	DECL_DEFER_OUTPUT (decl) = 1;
 
       /* If function is inline, and we don't yet know whether to
Index: frame.c
===================================================================
RCS file: /home/work/cvs/gnu/egcs/gcc/frame.c,v
retrieving revision 1.1.1.3
diff -u -r1.1.1.3 frame.c
--- frame.c	1997/10/09 17:28:50	1.1.1.3
+++ frame.c	1997/10/17 23:04:44
@@ -217,8 +217,9 @@
 
   for (count = 0; this_fde->length != 0; this_fde = next_fde (this_fde))
     {
-      /* Skip CIEs.  */
-      if ((uaddr)(this_fde->CIE_pointer) == (uaddr)-1)
+      /* Skip CIEs and linked once FDE entries.  */
+      if ((uaddr)(this_fde->CIE_pointer) == (uaddr)-1
+	  || !this_fde->pc_begin)
 	continue;
 
       ++count;
@@ -237,8 +238,9 @@
 
   for (; this_fde->length != 0; this_fde = next_fde (this_fde))
     {
-      /* Skip CIEs.  */
-      if ((uaddr)(this_fde->CIE_pointer) == (uaddr)-1)
+      /* Skip CIEs and linked once FDE entries.  */
+      if ((uaddr)(this_fde->CIE_pointer) == (uaddr)-1
+	  || !this_fde->pc_begin)
 	continue;
 
       fde_insert (array, i++, this_fde);



More information about the Gcc mailing list