[gnu.g++.bug] Bug in newld, with fix.

bryan@UUNET.UU.NET (Bryan Boreham) (09/04/89)

I think the fix speaks for itself. Does nobody else out there have
more than 120 global constructors?

Bryan.


kewill% diff -c newld.c~ newld.c
*** newld.c~    Sun Jul 23 16:57:04 1989
--- newld.c     Mon Sep  4 10:44:23 1989
***************
*** 1941,1947 ****
              if (ctor_size >= ctor_size_max)
                {
                  ctor_size_max <<= 1;
!                 ctor_vec = (symbol **)xrealloc (ctor_vec, ctor_size_max);
                }
              ctor_vec[ctor_size++] = sp;
            }
--- 1941,1947 ----
              if (ctor_size >= ctor_size_max)
                {
                  ctor_size_max <<= 1;
!                 ctor_vec = (symbol **)xrealloc (ctor_vec, ctor_size_max * sizeof (symbol *));
                }
              ctor_vec[ctor_size++] = sp;
            }
***************
*** 1950,1956 ****
              if (dtor_size >= dtor_size_max)
                {
                  dtor_size_max <<= 1;
!                 dtor_vec = (symbol **)xrealloc (dtor_vec, dtor_size_max);
                }
              dtor_vec[dtor_size++] = sp;
            }
--- 1950,1956 ----
              if (dtor_size >= dtor_size_max)
                {
                  dtor_size_max <<= 1;
!                 dtor_vec = (symbol **)xrealloc (dtor_vec, dtor_size_max * sizeof (symbol *));
                }
              dtor_vec[dtor_size++] = sp;
            }