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