while ur at it can u ( if u havent allready ) fix a LD bug related to the alpha. the .dynsym section should be cleared out on the alpha before use. Some entries in the table are not cleared when the table becomes populated, and random numbers are left within the table. An example would be the libdl.so distributed with the 6cd jewel set. It has bogus entries that causes gdb to go core. I had posted this patch before, but dont know what happened to it - if anything. in bfd/elflink.h @ 2733 u should use a zmalloc /* Set the size of the .dynsym and .hash sections. We counted the number of dynamic symbols in elf_link_add_object_symbols. We will build the contents of .dynsym and .hash when we build the final symbol table, because until then we do not know the correct value to give the symbols. We built the .dynstr section as we went along in elf_link_add_object_symbols. */ s = bfd_get_section_by_name (dynobj, ".dynsym"); BFD_ASSERT (s != NULL); s->_raw_size = dynsymcount * sizeof (Elf_External_Sym); s->contents = (bfd_byte *) bfd_zalloc (output_bfd, s->_raw_size); /* [gb] */ /* memset( s->contents, 0xff, s->_raw_size); */ /* [gb] insure corruption */ if (s->contents == NULL && s->_raw_size != 0) return false; /* The first entry in .dynsym is a dummy symbol. */ Richard Henderson wrote: > On Fri, Sep 18, 1998 at 10:12:18AM -0400, Bret Orsburn wrote: > > (Dynamic linkage of a very large library under RedHat Alpha Linux 5.1 + > > egcs-1.1b + glibc-2.0.7-19). > > Yep, a binutils bug fixed day before yesterday. The problem being > that there were missing RELATIVE dynamic relocations for the secondary > .got.plt entries that get created when the initial .got subsegment > gets too big. > > H.J. put out a new binutils minor release containing the fix.