Annotation of binutils/ChangeLog, revision 1.1.1.4

1.1.1.4 ! root        1: Wed Apr 17 15:33:33 1991  Per Bothner  (bothner at pogo.gnu.ai.mit.edu)
        !             2: 
        !             3:        * Make version number be 1.9.
        !             4: 
        !             5: Wed Apr 10 18:19:15 1991  Per Bothner  (bothner at pogo.gnu.ai.mit.edu)
        !             6: 
        !             7:        * strip.c (xmalloc): Handle allocation request of 0 (make it 1).
        !             8: 
        !             9: Tue Apr  9 13:40:31 1991  Per Bothner  (bothner at pogo.gnu.ai.mit.edu)
        !            10: 
        !            11:        * strip.c (rewrite_file_symbols): Instead of tell(fd),
        !            12:        use the more portable lseek(fd, 0L, 1).
        !            13: 
        !            14: Mon Apr  8 17:31:17 1991  Per Bothner  (bothner at pogo.gnu.ai.mit.edu)
        !            15: 
        !            16:        * Makefile: Replaced mis-spelled and obsolete -DPIGNAL_MISSING
        !            17:        by -DSYS_SIGLIST_MISSING in sample CFLAGS for COFF systems.
        !            18: 
        !            19: Sun Mar 31 23:06:42 1991  Per Bothner  (bothner at pogo.gnu.ai.mit.edu)
        !            20: 
        !            21:        * Increment version number to 1.8.
        !            22: 
        !            23: Fri Mar 29 15:29:55 1991  Per Bothner  (bothner at pogo.gnu.ai.mit.edu)
        !            24: 
        !            25:        * ld.c (do_relocation_warnings): Add some paranoia checking
        !            26:        in case of a corrupted binary.
        !            27: 
        !            28: Thu Mar 28 17:21:24 1991  Per Bothner  (bothner at pogo.gnu.ai.mit.edu)
        !            29: 
        !            30:        * ld.c (subfile_wanted_p): Not quite as minimalist:
        !            31:        If a subfile defines a common that is needed (i.e. currently
        !            32:        undefined), don't load the subfile, just define the undefined
        !            33:        symbol as a common.
        !            34:        This brings back some of the logic from Roland's change.
        !            35:        It is needed to handle a dubious libc.a in SunOS.
        !            36: 
        !            37: Sat Mar 23 13:25:07 1991  Per Bothner  (bothner at pogo.gnu.ai.mit.edu)
        !            38: 
        !            39:        * ld.c (subfile_wanted_p): Try a minimalist approach:
        !            40:        Treat an existing common definition as a true definition
        !            41:        wrt the decision as to whether a subfile is needed -
        !            42:        i.e. don't pull in the subfile in that case.
        !            43: 
        !            44: Tue Mar 19 01:01:34 1991  Per Bothner  (bothner at mole.ai.mit.edu)
        !            45: 
        !            46:        * ld.c (subfile_wanted_p): A compromise solution, suggested by Mike:
        !            47:        Restore the old #if 1 behavior, with the following changes:
        !            48:        + allow a library member to grow a common symbol only if some other
        !            49:        library member is already known to reference that symbol
        !            50:        + allow a library member to replace a common symbol with some other
        !            51:        definition if some other library member is already known to
        !            52:        reference that symbol.
        !            53: 
        !            54: Sun Mar 17 00:47:44 1991  Per Bothner  (bothner at pogo.ai.mit.edu)
        !            55: 
        !            56:        * Makefile: Add $(LIBS) to dependencies for most programs,
        !            57:        to make sure signame.o and alloca.o get built when needed.
        !            58:        * ar.c: Don't include fcntl.h again if USG.
        !            59:        * ar.c: Initialize program_name variable.
        !            60:        * ar.c:  Changes from Arnold Robbins <[email protected]>:
        !            61:         "gnu ar didn't properly use just the trailing component
        !            62:         of filenames.  If creating an archive, it would put members in
        !            63:         with names like ./foo.  If updating an archive with a member
        !            64:          foo with /some/path/foo, the new file would get appended to
        !            65:          the archive instead of replacing the old one."
        !            66:        So add basename routine to skip directory prefix, and use it
        !            67:        to name archive elements with just the basename.
        !            68:        Also some System V stuff:
        !            69:        "System V machines (of course) use a slightly different version
        !            70:         of the archive format header, and allow a leading '-' on the
        !            71:         flags.  Also, the temp file name didn't allow for 14 character
        !            72:         file names."
        !            73:        I (Per) incorporated these changes. It seemed reasonable to always
        !            74:        allow an initial '-' to the flags.
        !            75:        * ar.c: Improved argc/argv/usage() checking.
        !            76:        * ar.c: Unlink if we fail to open after "touch" for create.
        !            77:        * gprof.c: Reformat, adding white space between = and &.
        !            78:        Without it, pcc thinks it's an old-style &=.
        !            79:        * ld.c: Code for ns32000 from Jyrki Kuoppala <[email protected]>,
        !            80:        some of it by Ian Dall.
        !            81:        * ld.c (subfile_wanted_p): For now, undo the change made for 1.7.
        !            82:        (It causes problems, and anyway I'm unconvinced by the justification.)
        !            83:        * ranlib.c (main): Removed emulation of psignal when PSIGNAL_MISSING
        !            84:        is defined, since there is a version in signame.c.
        !            85: 
        !            86: Thu Mar  7 17:29:09 1991  Mike Haertel  (mike at ducky)
        !            87: 
        !            88:        * a.out.gnu.h [sequent && i386]:  Changes to support the
        !            89:        sequent symmetry.
        !            90:        * ar.c (update_symdefs):  Loop to original_num_symdefs rather
        !            91:        than nsymdefs, since the latter changes inside the loop.
        !            92:        * gprof.c (main):  Divide by (nhist - 1) to get the correct
        !            93:        histogram increment.
        !            94:        * hp-bin/hpxt.c (process_archive_entry):  Deal correctly with
        !            95:        names containing '/'.
        !            96:        * ld.c [tek4300, LARMAG]:  Add UTek support.
        !            97:        [hp300]: Mark the filename symbol with N_FN|N_EXT not N_TEXT.
        !            98:        (deduce_file_type):  Remove forward reference to coffheader.
        !            99:        (read_a_out_header):  Likewise.
        !           100:        (read_a_out_header) [NMAGIC]:  Adjust orig_data_address when
        !           101:        reading NMAGIC files.
        !           102:        (enter_global_ref):  Update symbol's last_library_ref for
        !           103:        use by subfile_wanted_p().
        !           104:        (subfile_wanted_p):  Never use a library member to define
        !           105:        a common symbol unless some other library member already known
        !           106:        to be needed references that symbol.
        !           107:        (do_file_warnings):  Warn for multiply defined N_ABS symbols.
        !           108:        (do_warnings:  Warn if -e entry symbol is never defined.
        !           109:        (perform_relocation):  Make sure we never carry out of the
        !           110:        relocation masked bits.
        !           111:        (getsym):  Clear last_library_ref to NULL when initializing
        !           112:        a new symbol, for subfile_wanted_p().
        !           113:        ranlib.c [PSIGNAL_MISSING]:  Don't use psignal().
        !           114:        strip.c (file_close):  Use -1 for invalid descriptor flag value.
        !           115:        (read_file_symbols):  Close the file if an error occurs.
        !           116:        (rewrite_file_symbols):  Use ~ prefixed temp file to avoid
        !           117:        problems with 14 character limits on file names.  Use open()
        !           118:        instead of creat() since the file will need to be read later.
        !           119:        Be sure to close all input files.  Cast lseek() arguments
        !           120:        correctly.
        !           121: 
        !           122: Wed Nov 28 23:42:48 1990  Jim Kingdon and Roland McGrath  ([email protected])
        !           123: 
        !           124:        * ld.c (subfile_wanted_p): If the subfile has a common def of
        !           125:        a symbol already defined as common, look at the subfile's def
        !           126:        to find the largest-sized common def.  But do not include the
        !           127:        subfile if the symbol is already defined at all.
        !           128: 
        !           129: Mon Oct 15 13:07:24 1990  Mike Haertel  (mike at albert.ai.mit.edu)
        !           130: 
        !           131:        * ld.c (digest_symbols):  Align the end of the data segment
        !           132:        to sizeof (double) after allocating set vectors, not before.    
        !           133: 
        !           134: Wed Sep 26 12:51:05 EDT 1990   Jay Fenlason ([email protected])
        !           135: 
        !           136:        * gprof.c  When closing /dev/kmem, use fclose instead of ck_fclose
        !           137:        because some systems erroniously return NOT_OWNER on close. . .
        !           138: 
        !           139: Mon Sep  3 18:14:35 1990  Mike Haertel  (mike at wookumz.ai.mit.edu)
        !           140: 
        !           141:        * ar.c (insert_in_map): Always insert __.SYMDEF at the front
        !           142:        of the archive.
        !           143: 
        !           144: Mon Aug 13 19:01:27 1990  Chris Hanson  (cph at kleph)
        !           145: 
        !           146:        * ranlib.c (main): Remove emulation of `psignal' from last
        !           147:        change.  There is already an emulation that was accidentally
        !           148:        omitted from the last release.
        !           149: 
        !           150: Thu Aug  9 13:57:53 1990  Chris Hanson  (cph at kleph)
        !           151: 
        !           152:        * hp-bin/ioutil.c (iou_open): Remove external declaration of
        !           153:        `open', which conflicts with that supplied in hp-ux 7.0.
        !           154: 
        !           155:        * hp-bin/hpxt.c: Add compile-time test that signals an error
        !           156:        if this file is compiled on the wrong kind of machine.
        !           157: 
        !           158:        * nm.c (getpagesize): Add emulation for USG machines.  This is
        !           159:        needed for GNU malloc, and perhaps should be placed there
        !           160:        instead.
        !           161: 
        !           162:        * strip.c, ar.c: Make conditionalization of BSD features be
        !           163:        more selective.  Previously these features were not used if
        !           164:        USG was defined -- but HP-UX supports them.
        !           165: 
        !           166:        * ranlib.c (main): Add emulation of `psignal' for USG
        !           167:        machines.
        !           168: 
        !           169: Tue Jul 10 02:07:08 1990  David J. MacKenzie  (djm at apple-gunkies)
        !           170: 
        !           171:        * ar.c: Remove unused variables.
        !           172:        (copy_out_member): Declare `outname' as char *.
        !           173:        Use `program_name' instead of hardcoded "ar" in messages.
        !           174: 
        !           175:        * robotussin.c: Use `program_name' instead of hardcoded
        !           176:        "robotussin" in messages.
        !           177: 
        !           178:        * objdump.c: Indent.  Declare a lot of functions void.
        !           179:        Improve comments.  Rename option variables to reflect their
        !           180:        meanings rather than the short option names.
        !           181:        Use error instead of fprintf and perror.  Include filename in messages.
        !           182:        (main): Exit with 0 status normally.  Change +reloc to +relocation.
        !           183:        (dump_file): Renamed from doit.
        !           184:        (dump_reloc1): Do nothing if sun and sparc (structure isn't defined).
        !           185:        (getpagesize): Add emulations for USG and sparc, copied from ld.c.
        !           186: 
        !           187:        * size.c: Declare some functions void.  Use `program_name'
        !           188:        instead of hardcoded "size" in messages.
        !           189: 
        !           190:        * gprof.c, robotussin.c: Use VPRINTF_MISSING, to be consistent
        !           191:        with error.c.
        !           192: 
        !           193:        * nm.c: Declare some functions void.  Remove unused variables.
        !           194: 
        !           195:        * strip.c: Declare some functions void.
        !           196:        Make `strip_symbols' and `discard_locals' enums instead of ints.
        !           197:        Remove unused variables.
        !           198:        (fatal, error_with_file, usage): Use `program_name' instead of
        !           199:        hardcoded "strip".
        !           200:        (main): Set `program_name'.
        !           201:        (error, error_with_file, perror_file, perror_name, fatal,
        !           202:        print_file_name, prline_file_name): Replace with a single
        !           203:        `error' function, and change callers.
        !           204: 
        !           205: Fri Jul  6 01:22:26 1990  David J. MacKenzie  (djm at apple-gunkies)
        !           206: 
        !           207:        * ranlib.c (main): Print usage message if no files given.
        !           208:        (usage): New function.
        !           209:        Global: Use `program_name' instead of hardcoded "ranlib" in
        !           210:        messages. 
        !           211: 
        !           212: Thu Jul  5 11:31:12 1990  David J. MacKenzie  (djm at apple-gunkies)
        !           213: 
        !           214:        * Makefile (dist): Put the list of files to distribute into
        !           215:        the Makefile instead of ARCHLIST.  Include signame.c and not TAGS.
        !           216:        (ranlib): Link with signame.o.
        !           217: 
        !           218: Thu Jun 28 17:03:51 1990  Mike Haertel  (mike at ducky)
        !           219: 
        !           220:        * ld.c: (compute_mach_o_section_offsets):  Bug fix for -r.
        !           221:        (relocate_file_addresses): Replace ~N_EXT with N_TYPE,
        !           222:        undoing earlier change which broke -g.
        !           223: 
        !           224: Wed Jun 20 13:34:11 1990  Mike Haertel  (mike at thor.acc.stolaf.edu)
        !           225: 
        !           226:        * gprof.c: Make qsort compare functions take const void *
        !           227:        arguments for compatibility with the standard.
        !           228: 
        !           229: Tue Jun 19 19:23:41 1990  Mike Haertel  (mike at ducky)
        !           230: 
        !           231:        * ld.c: (do_file_warnings, do_relocation_warnings):
        !           232:        Always print the object file name in error messages,
        !           233:        even if we also know a source file name.  Use
        !           234:        print_file_name() to properly print the names of
        !           235:        files that came from libraries.
        !           236:        (getpagesize): Fake getpagesize() for sun 4's.
        !           237: 
        !           238: Wed Jun 13 13:11:21 1990  Mike Haertel  (mike at ducky)
        !           239: 
        !           240:        * Makefile: (ld): Link the demangler.
        !           241:        * cplus-dem.c: Don't include <memory.h> on NeXT.
        !           242:        * ld.c: Include <sys/resource.h> unless USG.
        !           243:        (demangler): New variable; unconditionally set
        !           244:        to cplus_demangle().  This is different from how
        !           245:        ld++ did it, but conditionalizing on whether -lg++
        !           246:        is specified seems too much of a kludge.  The
        !           247:        demangler will only demangle names that look like
        !           248:        they came from g++ anyway.
        !           249:        (main): Attempt to raise the stack limit so we
        !           250:        don't barf on large files.
        !           251:        (decode_command): Add new option `-nostdlib', with
        !           252:        new flag `no_standard_dirs'.
        !           253:        (file_open): Eliminate unused variable `p'.
        !           254:        Deal with the case of no standard library dirs.
        !           255:        (enter_file_symbols): Eliminate unused `lowest_set_vector'.
        !           256:        (enter_global_ref): Logically and nlist.n_type with
        !           257:        ~N_EXT rather than N_TYPE; otherwise, e.g.,  <stab.h>'s
        !           258:        N_FUN would get turned into N_TEXT, which we don't want.
        !           259:        (subfile_wanted_p): Eliminate Kingdon's "if the user
        !           260:        declares 'int pipe;' we don't want to get 'pipe()'
        !           261:        from the library" bugfix, because (first of all)
        !           262:        it breaks g++, and secondly, it was generally wrong.
        !           263:        If the user declares "int errno;" and the library
        !           264:        declares "int errno = 0;" we want to get the library's
        !           265:        version.  The proper fix will require some thought.
        !           266:        (digest_symbols): Eliminated unused variable `erred'.
        !           267:        (relocate_file_addresses): Use ~N_EXT instead of N_TYPE.
        !           268:        (address_to_line): Likewise.
        !           269:        (do_relocation_warnings): Eliminate unused variables
        !           270:        `next' and `source'.  Use the demangler to print names.
        !           271:        (do_file_warnings): Use the demangler when possible.
        !           272:        (do_warnings): Eliminate unused variable `i'.
        !           273:        (initialize_a_out_data_start): If no entry symbol
        !           274:        was given, set it to "start", if sequent.
        !           275:        (perform_relocation): Eliminate variable `data_input_address'
        !           276:        performing copy propogation by hand to the one place it
        !           277:        was used.  Get rid of misleading comments.
        !           278:        (coptxtrel): Use ~N_EXT instead of N_TYPE.
        !           279:        (copdatrel): Likewise.
        !           280:        (write_syms): Likewise.
        !           281: 
        !           282: Tue Jun 12 11:16:26 1990  Mike Haertel  (mike at ducky)
        !           283: 
        !           284:        * Makefile: Use $(CFLAGS) when linking.
        !           285:        * ar.c: (struct member_desc): date is long.
        !           286:        (scan): Fully initialize member_desc.
        !           287:        (delete_from_map): Clobber info.name instead
        !           288:        of unlinking from list.
        !           289:        (update_symdefs): Only install new symdefs for
        !           290:        members that *have* them.
        !           291:        Changes for MACH_O:
        !           292:        (read_header_info): New function.
        !           293:        (make_new_symdefs): Use it.
        !           294:        * gprof.c: fread() returns size_t for ANSI.
        !           295:        Declare qsort() properly for ANSI.
        !           296:        Move #include <assert.h> to the top.
        !           297:        size_t is an unsigned int.
        !           298:        Changes for MACH_O:
        !           299:        (read_header_info): New function.
        !           300:        (main): Use it.
        !           301:        (badsym): Allow N_SECT symbols.
        !           302:        (fatal): Print a space after the colon.
        !           303:        * ld.c: Changes for MACH_O:
        !           304:        (struct file_entry):  New fields containing header
        !           305:        info but no explicit struct exec, as well as file type info.
        !           306:        Also section ordinals for Mach-O files.
        !           307:        (output_file_type): New global variable.
        !           308:        (output_style): New global variable, also supersedes
        !           309:        the flag relocatable_output.
        !           310:        Removed a.out specific stuff from global variables.
        !           311:        (output_*_offset): New global variables initialized
        !           312:        according to the output file type.
        !           313:        (decode_command): Remove a.out specific stuff.
        !           314:        (deduce_file_type): New function.
        !           315:        (read_a_out_header): New function.
        !           316:        (read_mach_o_header): New function.
        !           317:        (read_header): Use the above functions.
        !           318:        (read_entry_symbols): Use new file_entry fields;
        !           319:        call translate_mach_o_symbols().
        !           320:        (read_entry_strings): Use new file_entry fields;
        !           321:        no longer deduce symseg presence.
        !           322:        (read_file_symbols): Use deduce_file_type().
        !           323:        (enter_file_symbols): Use new file_entry fields.
        !           324:        Display N_INDR refs differently.  Move default: in
        !           325:        display switch out of #ifdef sequent.
        !           326:        (contains_symbol): Use new file_entry fields.
        !           327:        (symdef_library): Use xmalloc().  Remember to
        !           328:        free subentry->strings, but only if we allocated them.
        !           329:        (process_subentry): Use new file_entry fields.
        !           330:        (subfile_wanted_p): Likewise.
        !           331:        (digest_symbols): Use new functions initialize_text_start()
        !           332:        and initialize_data_start().  Remove a.out specific stuff.
        !           333:        (consider_file_section_lengths): Use new file_entry fields.
        !           334:        (relocate_file_addresses): Use new file_entry fields.
        !           335:        (describe_file_sections): Likewise.
        !           336:        (list_file_locals): Likewise.
        !           337:        (next_debug_entry): Likewise.
        !           338:        (init_debug_scan): Likewise.
        !           339:        (do_relocation_warnings): Likewise.
        !           340:        (do_file_warnings): Likewise.
        !           341:        (do_warnings): Use new global output_style.
        !           342:        (initialize_a_out_text_start): New function.
        !           343:        (initialize_a_out_data_start): New function.
        !           344:        (compute_a_out_section_offsets): New function.
        !           345:        (compute_more_a_out_section_offsets): New function.
        !           346:        (write_a_out_header): New function.
        !           347:        (translate_mach_o_symbols): New function.
        !           348:        (translate_mach_o_relocation): New function.
        !           349:        (initialize_mach_o_text_start): New function.
        !           350:        (initialize_mach_o_data_start): New function.
        !           351:        (compute_mach_o_section_offsets): New function.
        !           352:        (compute_more_mach_o_section_offsets): New function.
        !           353:        (write_mach_o_header): New function.
        !           354:        (generate_mach_o_symbols): New function.
        !           355:        (generate_mach_o_relocations): New function.
        !           356:        (initialize_text_start): New function switch on
        !           357:        ouput_file_type.
        !           358:        (initialize_data_start): Likewise.
        !           359:        (compute_section_offsets): Likewise.
        !           360:        (compute_more_section_offsets): Likewise.
        !           361:        (write_header): Switch on output_file_type.
        !           362:        (write_output): Use the above functions.  Bug fix
        !           363:        for umask().
        !           364:        (write_text):  Use output_text_offset.
        !           365:        (text_offset): No longer used.
        !           366:        (read_file_relocation): Use new file_entry fields.
        !           367:        Call translate_mach_o_relocation() for Mach-O input files.
        !           368:        (copy_text): Likewise.
        !           369:        (write_data): Use output_data_offset.
        !           370:        (copy_data): Use new file_entry fields.  Call
        !           371:        translate_mach_o_relocation() for Mach-O input files.
        !           372:        (perform_relocation): Use new file_entry fields.
        !           373:        (write_rel): Use output_*rel_offset.
        !           374:        (coptxtrel): Use new file_entry fields.  Call
        !           375:        generate_mach_o_relocations() for Mach-O output files.
        !           376:        (copdatrel): Likewise.
        !           377:        (write_string_table): Use output_strs_{offset,size}.
        !           378:        (write_syms):Use output_{syms,strs}_{offset,size}.
        !           379:        Use n_sect field if N_SECT is defined.  Call
        !           380:        generate_mach_o_symbols() for Mach-O output files.
        !           381:        (write_file_syms): Likewise.
        !           382:        (write_symsegs): Use output_symseg_offset.
        !           383:        (write_file_symseg): Use new file_entry fields.
        !           384:        Changes for NeXT:
        !           385:        (N_TXTADDR): Provide version for NeXT.
        !           386:        (N_DATADDR): Provide version for NeXT.
        !           387:        (enter_global_ref): Deal with NeXT N_INDR weirdness.
        !           388:        (compute_a_out_section_offsets): Likewise.
        !           389:        (CPU_TYPE, et al): Mach-O info for the NeXT.
        !           390:        (compute_mach_o_section_offsets): Deal with N_INDR
        !           391:        strangeness.
        !           392:        (write_rel): Likewise.
        !           393:        (coptxtrel): Likewise.
        !           394:        (copdatrel): Likewise.
        !           395:        (write_syms): Likewise.
        !           396:        (symtab_init): Deal with NeXT shared library strangeness.
        !           397:        * nm.c: Changes for MACH_O:
        !           398:        (do_one_file): Remove a.out specific stuff.
        !           399:        (read_header_info): New function.
        !           400:        (do_one_rel_file): Use it.
        !           401:        (read_header): Removed.
        !           402:        (print_one_symbol): Deal with Mach-O section ordinals.
        !           403:        * size.c: Changes for MACH_O:
        !           404:        (do_one_file): Remove a.out specific stuff.
        !           405:        (read_header_info): New function.
        !           406:        (do_one_rel_file): Use it.
        !           407:        (read_header): Removed.
        !           408:        * strip.c: Changes for MACH_O:
        !           409:        (struct file_entry): Remove struct exec; add generic
        !           410:        fields to contain necessary information.
        !           411:        (main): Use new file_entry fields.
        !           412:        (file_open): Remove a.out specific stuff.
        !           413:        (read_header): Use new file_entry fields.  Handle
        !           414:        Mach-O files.
        !           415:        (read_entry_symbols): Use new file_entry fields.
        !           416:        (count_file_symbols): Likewise.
        !           417:        (rewrite_file_symbols): Likewise.
        !           418:        (write_file_syms): Likewise.
        !           419:        (modify_relocation): Likewise.
        !           420: 
        !           421: Mon May 28 16:25:59 1990  Mike Haertel  (mike at apple-gunkies)
        !           422: 
        !           423:        * Copied the binutils home to work on.  So please anyone
        !           424:        else don't make any changes!!!!
        !           425: 
        !           426:        * Removed gprof.texinfo from ARCHLIST because the file
        !           427:        it was symbolically linked to mysteriously disappeared.
        !           428: 
        !           429: Mon May 21 18:39:33 1990  Jim Kingdon  (kingdon at mole.ai.mit.edu)
        !           430: 
        !           431:        * Makefile (clean): Also remove $(archpfx)*.o.
        !           432: 
        !           433:        * nm.c (print_one_symbol): Cast n_other and n_desc to unsigned
        !           434:        before passing to printf.
        !           435: 
        !           436: Tue May 15 15:19:49 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
        !           437: 
        !           438:        * ARCHLIST: Add signame.h.
        !           439: 
        !           440: Sun May  6 23:41:35 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
        !           441: 
        !           442:        * Makefile (dist): Don't make an uncompressed tar file.
        !           443: 
        !           444: Sat Apr  7 22:58:27 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
        !           445: 
        !           446:        * Makefile (MALLOC): Add.
        !           447:        ARCHLIST: Add gmalloc.c.
        !           448:        gmalloc.c: New file linked from ../lib/malloc.
        !           449: 
        !           450: Fri Apr  6 00:02:22 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
        !           451: 
        !           452:        * Makefile: Make objdump depend on a.out.gnu.h.
        !           453: 
        !           454:        * gprof.c: Remove never-used declaration of getopt.
        !           455: 
        !           456:        * gprof.c: Add REMOVE_TIME_IF_THERE to not complain on gcc-compiled
        !           457:        programs.
        !           458: 
        !           459: Tue Mar 20 15:41:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           460: 
        !           461:        * hp-bin/mkhplib: Create a dummy libg.a.
        !           462: 
        !           463: Thu Mar  1 14:22:02 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
        !           464: 
        !           465:        * ld.c (classify_arg, decode_option): Functions removed, with
        !           466:        some of the code moved to decode_command.
        !           467:        (decode_command): Use getopt_long_only instead of custom arg parser.
        !           468:        (usage, fatal, fatal_with_file): Use `progname' instead
        !           469:        of hardcoded name.
        !           470:        (usage): If STRING is null, don't print it.
        !           471: 
        !           472:        * Makefile: Link ld with GNU_GETOPT_LONG.
        !           473: 
        !           474: Wed Feb 28 14:32:06 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
        !           475: 
        !           476:        * ranlib.c (main): Call psignal() with arguments in the correct order.
        !           477:        signame.c, signame.h: New files (linked from ../lib).
        !           478:        ranlib.c: Include signame.h.
        !           479: 
        !           480:        * Makefile: Make sure LIBS is after every program which
        !           481:        uses GNU_GETOPT_LONG (for alloca()).
        !           482: 
        !           483: Thu Feb 15 23:35:07 1990  Jim Kingdon  (kingdon at mole.ai.mit.edu)
        !           484: 
        !           485:        * ar.c (mywrite): New function which checks for errors.
        !           486:        All over: Use it instead of write.
        !           487:        (perror_with_name): If errno >= sys_nerr, print "unknown error"
        !           488:        not "can't open".
        !           489:        (extract_member): Use ferror to check for error.
        !           490: 
        !           491: Tue Feb 13 14:29:24 EST 1990   Jay Fenlason ([email protected])
        !           492: 
        !           493:        * strip.c (rewrite_file_symbols)  Seek to the right place in
        !           494:        COFF files.  A three line patch from Eliot Dresselhaus
        !           495:        ([email protected]).
        !           496: 
        !           497: Wed Jan 31 22:15:11 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
        !           498: 
        !           499:        * hp-include: Remove sys/fcntl.h
        !           500: 
        !           501:        * nm.c [USG], ar.c [LOCKS]: Include <fcntl.h> not <sys/fcntl.h>.
        !           502: 
        !           503: Fri Jan 26 20:13:12 1990  Mike Haertel  (mike at rice-chex)
        !           504: 
        !           505:        * Makefile: Removed references to GNU CC in copyright notice.
        !           506: 
        !           507: Thu Jan 11 03:32:52 1990  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
        !           508: 
        !           509:        * ARCHLIST: Include ARCHLIST in distribution.
        !           510: 
        !           511:        * ranlib.c: If X_OK is not defined, define it (for USG).
        !           512:        (main, touch_symdefs): Include program name in error messages.
        !           513: 
        !           514:        * strip.c (xmalloc): Don't check for size != 0.
        !           515:        (usage): New function.
        !           516:        (main): Call usage instead of fprintf or fatal.
        !           517: 
        !           518: Wed Jan 10 15:06:00 1990  Jim Kingdon  (kingdon at pogo)
        !           519: 
        !           520:        * ld.c (subfile_wanted_p): Never use a library to satisfy a
        !           521:        program's common symbol.
        !           522: 
        !           523:        * ld.c (symtab_init) [sun]: Use symbol_define for __DYNAMIC.
        !           524:        [sequent]: Same for _i387_flt.
        !           525: 
        !           526: Wed Jan 10 01:44:58 1990  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
        !           527: 
        !           528:        * size.c (main): Exit with 0 status normally, instead of garbage.
        !           529:        * strip.c (main): Make -g a recognized option. Document -g in
        !           530:        usage message.  Exit with 0 status normally.
        !           531:        * nm.c (main): Exit with 0 status normally.
        !           532:        * gprof.c (main): Ditto.
        !           533: 
        !           534: Mon Jan  8 00:06:55 1990  Mike Haertel  (mike at rice-chex)
        !           535: 
        !           536:        * strip.c (main):  Made -g a synonym for -S (strip debugging
        !           537:        symbols) for greater mnemonic value.
        !           538: 
        !           539: Thu Dec 28 02:41:37 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
        !           540: 
        !           541:        * objdump.c, ld.c, nm.c, size.c (xmalloc, xrealloc): Take the
        !           542:        change to return 0 if size is 0 back out.  bfox convinced me
        !           543:        that, assuming that programs do not allocate 0 bytes
        !           544:        intentionally, printing an error message if they try makes
        !           545:        it easier to track down the bug.
        !           546: 
        !           547: Sat Dec 23 00:49:43 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
        !           548: 
        !           549:        * ld.c (usage): Mention some options that were missing from the
        !           550:        usage message.
        !           551: 
        !           552:        * ranlib.c (main): stbf wasn't defined.  Use access instead
        !           553:        of stat, since it tests for execute permission.
        !           554: 
        !           555: Fri Dec 22 23:38:15 1989  David J. MacKenzie  (djm at rice-chex)
        !           556: 
        !           557:        * ar.c, ld.c, nm.c: Put various alloca declaration stuff in
        !           558:        one place, and declare it as char * if not GNU C or sparc.
        !           559: 
        !           560:        * ld.c, nm.c, size.c (xmalloc, xrealloc): Return char *, not int.
        !           561:        Ok to return 0 if 0 bytes requested (ANSI C).
        !           562:        Fix declarations for [x][re]alloc.
        !           563: 
        !           564:        * strip.c (main): Combine fprintf calls for usage.
        !           565: 
        !           566: Fri Dec 22 11:23:26 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           567: 
        !           568:        * ranlib.c (main): Look for ar in /usr/local/gnubin first.
        !           569:        Rename `jak' to `junk'.
        !           570:        Move `#define vfork' to start of file.  Don't declare it extern.
        !           571: 
        !           572: Thu Dec 21 17:02:54 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
        !           573: 
        !           574:        * gprof.c (main): Combine fprintf calls in usage message.
        !           575: 
        !           576:        * objdump.c (usage): Combine fprintf calls.
        !           577: 
        !           578:        * robotussin.c (main): Add dashes to usage message to reduce
        !           579:        confusion of three 'f's in a row . . . .
        !           580: 
        !           581:        * nm.c (main): Combine several fprintf calls to make usage
        !           582:        message easier to edit.
        !           583: 
        !           584:        * ld.c (usage): New function to print error message and usage message.
        !           585:        (decode_command, decode_option): Call usage instead of fatal.
        !           586: 
        !           587:        * ar.c (usage): New function to print error message and usage message.
        !           588:        (main): Call usage instead of fatal.
        !           589: 
        !           590: Fri Dec 15 16:05:38 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
        !           591: 
        !           592:        * ld.c (perform_relocation) [CROSS_LINKER]: New code.
        !           593: 
        !           594: Tue Dec 12 00:17:41 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
        !           595: 
        !           596:        * ld.c (symtab_init): Use _edata not __edata.
        !           597: 
        !           598: Mon Dec 11 23:34:51 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
        !           599: 
        !           600:        * ld.c: Always call each_full_file with 2 args.
        !           601: 
        !           602: Mon Dec  4 16:02:43 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
        !           603: 
        !           604:        * Makefile: Define bindir.
        !           605:        (install): Add semicolon to end of 'cp' and 'mv' lines.
        !           606:        (install): Double last '$' in 'mv' line.
        !           607: 
        !           608: Sat Dec  2 13:54:22 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
        !           609: 
        !           610:        * objdump.c (usage): Remove stray newline in message.
        !           611: 
        !           612: Thu Nov 30 21:38:02 1989  David J. MacKenzie  (djm at rice-chex)
        !           613: 
        !           614:        * objdump.c (usage): Update to reflect Jim's change.
        !           615: 
        !           616: Thu Nov 30 19:05:17 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
        !           617: 
        !           618:        * objdump.c (main): Rename +sym-links to +symbols.
        !           619: 
        !           620:        * nm.c (do_one_rel_file): Check for validity of string table
        !           621:        offsets to avoid core dumps on bad input files.
        !           622: 
        !           623:        * ld.c (process_subentry): Remove variable prev and assign
        !           624:        directly to *prev_addr.
        !           625: 
        !           626: Thu Nov 30 15:33:59 1989 Jay Fenlason (hack at gnu.ai.mit.edu)
        !           627: 
        !           628:        * Fixed gprof.c so it would compile and run.  Jim forgot
        !           629:        a } and said FUN1 when he meant EXT1 when he added
        !           630:        the demangle stuff.
        !           631: 
        !           632: Mon Nov 27 18:12:30 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
        !           633: 
        !           634:        * objdump.c: Add page_size.
        !           635:        (main): Set it.
        !           636: 
        !           637: Mon Nov 27 16:35:50 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
        !           638: 
        !           639:        * Makefile (dist): Give up on weird linking schemes for making
        !           640:        the distribution archive, and simply read the list of files to
        !           641:        put in the archive from a file.
        !           642: 
        !           643:        * gprof.c (main): Rename long options:
        !           644:        suppress-local to no-static, suppress-blurbs to brief,
        !           645:        suppress-arg-prof to no-prof, suppress-arg-time to no-time,
        !           646:        arg-prof-only to only-prof, arg-time-only to only-time.
        !           647: 
        !           648: Sun Nov 26 00:46:10 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
        !           649: 
        !           650:        * gprof.c (main): Make long_options static.  Mention long
        !           651:        options in usage message.  Use common code for handling
        !           652:        equivalent long and short named options.
        !           653: 
        !           654: Fri Nov 24 03:44:04 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
        !           655: 
        !           656:        * Makefile (dist): Don't distribute backup files in the hp-bin
        !           657:        and hp-include directories. 
        !           658: 
        !           659:        * strip.c (main): Add null terminating element to
        !           660:        long_options.  Print a usage message if an invalid option is
        !           661:        given. 
        !           662: 
        !           663:        * ranlib.c (main): Add `val' element to long_options elements.
        !           664:        Print a usage message if an invalid option is given.
        !           665: 
        !           666:        * gprof.c (main): Add null terminating element to
        !           667:        long_options.  Mention long options in usage message and exit
        !           668:        if an invalid option is given.
        !           669: 
        !           670:        * nm.c (main): Rename +debug-syms to +all and +reverse-sort to
        !           671:        +reverse.  Add null terminating element to long_options.
        !           672:        Print a usage message if given an invalid option.
        !           673: 
        !           674:        * objdump.c: Add program_name variable.
        !           675:        (main): Rename +syms to +sym-links.  Add null
        !           676:        terminating element to long_options.  Set program_name.
        !           677:        (usage): Mention long options and use program_name.
        !           678:        (xmalloc): New function to allocate memory with error check.
        !           679:        Global: use xmalloc instead of malloc.
        !           680:        Global: Use program_name in error messages.
        !           681: 
        !           682: Mon Nov 20 16:58:25 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
        !           683: 
        !           684:        * objdump.c [!COFF_ENCAPSULATE]: Define N_MAGIC.
        !           685: 
        !           686:        * ld.c (main) [COFF_ENCAPSULATE]: Don't write coff header
        !           687:        for output of ld -A.
        !           688:        (read_file_symbols, read_header): Seek past coff header for
        !           689:        input with just_syms_flag set.
        !           690: 
        !           691: Fri Nov 17 02:45:43 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
        !           692: 
        !           693:        * objdump.c (dump_header) [__GNU_EXEC_MACROS]: Don't access a_info
        !           694:        field of struct exec.
        !           695: 
        !           696:        * objdump.c: Include <a.out.h> not "a.out.gnu.h"
        !           697: 
        !           698:        * objdump.c (main): Make long_options static.
        !           699: 
        !           700: Thu Nov 16 22:55:38 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           701: 
        !           702:        * Makefile (ranlib): Depend on getopt.
        !           703: 
        !           704: Thu Nov 16 11:48:27 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
        !           705: 
        !           706:        * ld.c (decode_option, case 'r'): Set default_magic instead
        !           707:        of magic.
        !           708:        (decode_command): Use default_magic.
        !           709: 
        !           710:        * Makefile (CPLUS_DEM): Use this for nm and gprof.
        !           711: 
        !           712:        * nm.c (print_one_symbol): Use cplus_demangle.
        !           713: 
        !           714:        * gprof.c (many): Use cplus_demangle when printing names.
        !           715: 
        !           716:        * ld.c (copdatrel): Use N_DATADDR(outheader) for correct
        !           717:        behavior under 'ld -r -n'.
        !           718: 
        !           719:        * ld.c (relocate_file_addresses): Use DATA_ADDR_DOT_O
        !           720:        instead of entry->header.a_text.
        !           721: 
        !           722: Wed Nov 15 13:08:49 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
        !           723: 
        !           724:        * ld.c (digest_symbols): When padding data to 8 byte boundary,
        !           725:        set pad_data so that write_data() can write the padding.
        !           726:        Change old computation of pad_data to add to pad_data instead
        !           727:        of assigning into it.
        !           728: 
        !           729:        * ld.c (perform_relocation): Add variable data_input_address
        !           730:        to deal with NMAGIC input files.
        !           731: 
        !           732:        * ld.c (symbol_define): New function.
        !           733:        (symtab_init): Use it.
        !           734: 
        !           735:        * robotussin [sun386]: Merge sun386 changes.
        !           736: 
        !           737: Tue Nov 14 12:52:34 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
        !           738: 
        !           739:        * Makefile (ld): Change ld to $(archpfx)ld.
        !           740: 
        !           741:        * Makefile (objdump): Add GNU_GETOPT_LONG to dependencies.
        !           742: 
        !           743:        * ld.c [pyr, hp300]: Define INITIALIZE_HEADER and N_{TXT,DATA}ADDR.
        !           744: 
        !           745: Sat Nov 11 12:08:21 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
        !           746: 
        !           747:        * ld.c (symtab_init): Don't mess with user-defined "etext".
        !           748:        (digest_symbols): Check for e{text,data}_symbol null.
        !           749: 
        !           750:        * ld.c (main): Call symtab_init after load_symbols.
        !           751: 
        !           752:        * ld.c (write_output): Add call to unlink.
        !           753: 
        !           754: Wed Nov  8 11:19:08 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
        !           755: 
        !           756:        * strip.c (relocation_info_ptr, RELOCATION_INFO_SYMBOL_NUM):
        !           757:        Added.
        !           758:        (modify_relocation): Use them.
        !           759: 
        !           760:        * Makefile (strip): Use GNU_GETOPT_LONG, not GNU_GETOPT.
        !           761: 
        !           762:        * ld.c [sun].  Set machtype based on machtype of object files.
        !           763:        (read_header): Call READ_HEADER_HOOK if defined.
        !           764: 
1.1.1.3   root      765: Fri Nov  3 15:18:15 EST 1989 Jay Fenlason ([email protected])
                    766: 
                    767:        * nm.c (main) make long_options static so it can be compiled with cc.
                    768:        * strip.c (main) ditto.
                    769: 
                    770: Thu Oct 26 12:28:33 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                    771: 
                    772:        * Makefile (install): Supply missing `done'.
                    773: 
                    774: Tue Oct 17 12:50:46 1989  Mike Haertel  (mike at wheat-chex)
                    775: 
                    776:        * ld.c (enter_file_symbols): ignore symbols of type
                    777:        N_SETV | N_EXT.  These shouldn't be here at all should
                    778:        they?
                    779: 
                    780: Mon Oct 16 16:53:03 1989  Joseph Arceneaux  (jla at apple-gunkies.ai.mit.edu)
                    781: 
                    782:        * ld.c (process_subentry): New function called from
                    783:        linear_library.
                    784: 
                    785: Fri Oct  6 10:46:40 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
                    786: 
                    787:        * gprof.c [!HAVE_VPRINTF]: Put in v{f,s}printf emulations.
                    788: 
                    789: Mon Oct  2 17:20:42 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                    790: 
                    791:        * ld.c [sequent] (N_TXTADDR, N_DATADDR): Define these macros.
                    792:        [sequent] (INITIALIZE_HEADER): Define this same as for i386.
                    793:        (RELOC_MEMORY_SUB_P): New customization macro.
                    794:        Define as 0 on sun 4.  Define as 0 for defaults.
                    795:        [sequent] (RELOC_* macros): Definitions for sequent.
                    796:        (decode_command, digest_symbols): Handle case where NMAGIC is undefined.
                    797:        (enter_global_ref) [sequent]: Handle special N_SHUNDF code.
                    798:        (digest_symbols, write_symbols) [sequent]: Adjust outheader.a_text.
                    799:        (perform_relocation): Handle RELOC_MEMORY_SUB_P like ..._ADD_P.
                    800:        (symtab_init) [sequent]: Define symbol `_387_flt' w/ value 0.
                    801: 
                    802: Fri Sep 22 11:06:25 EDT 1989   [email protected]
                    803: 
                    804:        * gprof.c (main) Installed Joy's code for using the long-option names.
                    805: 
                    806: Thu Sep 21 03:24:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                    807: 
                    808:        * ld.c (symtab_init) [sun]: Define __DYNAMIC as 0.
                    809:        (perform_relocation) [RELOC_ADD_EXTRA]:
                    810:        Special handling for relocatable_output case.
                    811:        (read_file_relocation): Fix error message typos.
                    812: 
                    813: Mon Sep 18 14:40:40 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                    814: 
                    815:        * ld.c (digest_symbols): Pad data and bss to 8 byte boundary.
                    816: 
                    817: Fri Sep 15 16:42:33 1989  Roland McGrath  (mcgrath at paris.Berkeley.EDU)
                    818: 
                    819:        * a.out.gnu.h [sony]: Defined SEGMENT_SIZE as 0x2000.
                    820: 
                    821:        * Makefile (ranlib): Include getopt in the link.
                    822:        (objdump): New rule.
                    823:        (install): New rule.
                    824: 
                    825: Fri Sep  1 01:32:01 1989  Roland McGrath  (mcgrath at saffron.Berkeley.EDU)
                    826: 
                    827:        * ranlib.c: Added copyright notice and license info.
                    828: 
1.1.1.4 ! root      829: Wed Aug 30 20:53:21 1989  Roland McGrath  (mcgrath at saffron.Berkeley.EDU)
        !           830: 
        !           831:        * Makefile (LIBS): Also get getopt1.o.
        !           832:        (dist): Include getopt1.c.
        !           833: 
        !           834:        * ranlib.c (main): Move long option array into main, and fixed it so it
        !           835:        will compile.
        !           836: 
        !           837:        * Makefile (dist): Link rather than copy files into the subdir.
        !           838:        Include system.h and getopt.h.
        !           839: 
1.1.1.3   root      840: Thu Aug 24 14:33:48 1989  Randy Smith  (randy at hobbes.ai.mit.edu)
                    841: 
                    842:        * ld.c (do_file_warnings): Don't print out multiple definition
                    843:        warnings at references.
                    844: 
                    845: Mon Aug 21 20:19:08 1989  Roland McGrath  (roland at hobbes.ai.mit.edu)
                    846: 
                    847:        * ar.c (make_new_symdefs): Abort if MAPELT->info.name is nil.
                    848:        (update_symdefs): In the loop that calls make_new_symdefs, reject
                    849:        deleted members (i.e., TAIL->info.name == 0).
                    850: 
                    851:        * ar.c (make_new_symdefs): Return if we fail reading the header or the
                    852:        magic number is bad.
                    853: 
                    854:        * ar.c (make_new_symdefs): Check for ridiculous string table offsets.
                    855: 
                    856:        * ranlib.c (main): If the child ar exits with a signal, print the
                    857:        signal that killed it.
                    858: 
                    859:        * ar.c (make_new_symdefs): Check for a ridiculous string table size.
                    860: 
                    861:        * ar.c (write_archive): When fixing up symdefs, use each member's
                    862:        new_offset rather than data_offset.
                    863: 
                    864:        * ar.c (update_symdefs): When the old archive's string table is too
                    865:        small, die, don't just bitch.
                    866: 
                    867:        * ar.c (update_symdefs): Don't decrement num_old_symdefs when deleting
                    868:        symdefs of deleted members.  After compactifying old symdefs, decrease
                    869:        num_old_symdefs as necessary.
                    870: 
                    871:        * ar.c (update_symdefs): When removing symdefs of deleted members,
                    872:        compare the symdef offsets to the mapelt's data offset, not its header
                    873:        offset.
                    874: 
                    875: Sat Aug 19 08:07:26 1989  Roland McGrath  (roland at hobbes.ai.mit.edu)
                    876: 
                    877:        * ar.c (header_from_map): Print correct message when truncating.
                    878: 
                    879:        * ar.c (find_mapelt_noerror, header_from_map): Truncate to 15 chars,
                    880:        not 16.
                    881: 
                    882:        * ranlib.c (main): Don't do the first ar run an infinite number of
                    883:        times.  One will suffice.
                    884: 
                    885:        * ranlib.c (main): Under -v, echo the ar command before running it.
                    886: 
                    887:        * ar.c (ignore_symdef): New variable.  If nonzero, only do symdef
                    888:        processing if the `s' option is given.
                    889:        (main): If one of the members given on the command line is __.SYMDEF,
                    890:        set ignore_symdef.
                    891:        (scan): If ignore_symdef is nonzero, don't set symdef_exists.
                    892: 
                    893:        * ar.c (find_mapelt_noerror): A mapelt matches NAME if the names are
                    894:        the same for 14 characters and either both end in ".o", or they are the
                    895:        same for as many more characters as they both have (i.e., the longer
                    896:        name is truncated to the length of the shorter name for the
                    897:        comparison).
                    898: 
                    899:        * ar.c (update_symdefs): When correcting a bad string table size,
                    900:        correct the size of the __.SYMDEF member as well.
                    901: 
                    902:        * ar.c (update_symdefs): Keep track of the space in the string table
                    903:        accounted for by deleted members.  If the old archive's string table
                    904:        size was too big, correct it; if it was too small, die.
                    905: 
                    906: Tue Aug 15 00:54:37 1989  Roland McGrath  (roland at apple-gunkies.ai.mit.edu)
                    907: 
                    908:        * ranlib.c (main): Use getopt, and accept new `-v' option, which means
                    909:        to pass `v' to ar.  Use vfork instead of fork.  Look at the status of
                    910:        the children, and exit if it's nonzero.  Also added error checking on
                    911:        several calls.
                    912: 
                    913:        * ar.c (write_archive): Fully initialize the new mapelt for __.SYMDEF.
                    914: 
                    915: Sun Aug        13 00:01:27 1989  Joy Kendall     (jak at hobbes.ai.mit.edu)
                    916: 
                    917:        * strip.c, nm.c, objdump.c:  Installed versions with long
                    918:        named options available, i.e., getopt substituted with 
                    919:        getopt_long.
                    920: 
                    921:        * Makefile: changed GNU_GETOPT to GNU_GETOPT_LONG (need to
                    922:        make sure I did this right)
                    923: 
                    924: Wed Aug  9 00:24:34 1989  Roland McGrath  (roland at hobbes.ai.mit.edu)
                    925: 
                    926:        * ar.c (write_archive): When rewriting the symdef member, seek to its
                    927:        header offset, not its data offset.
                    928: 
                    929:        * ar.c (header_from_map): New function to convert a `struct mapelt' to
                    930:        an ar header.
                    931: 
                    932:        * ar.c: Miscellaneous cosmetic clean-ups.
                    933: 
                    934:        * ar.c (copy_out_member): If truncating the member name, and the
                    935:        desired name (which is too long) ends in ".o", make the written member
                    936:        name end in ".o" as well.
                    937: 
                    938: Tue Aug  8 16:26:49 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                    939: 
                    940:        * ld.c (classify_arg): Added 'V' to the list of possible
                    941:        argument having thingys.
                    942: 
                    943:        * ld.c (do_relocation_warnings, do_file_warnings): Changed
                    944:        messages slightly and removed hack to allow N_WARNING name to
                    945:        be a printf string taking stuff as arguments.
                    946: 
                    947: Mon Aug  7 16:27:04 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                    948: 
                    949:        * ld.c: Created set_element_prefixes (list of symbol name
                    950:        prefixes to force symbols to be treated as set elements).
                    951:        (main): Initialized to 0.
                    952:        (decode_option): -V name recognized as defining a prefix.
                    953:        (set_element_prefixed_p): New function.
                    954:        (enter_file_symbols): Check every symbol to see if it has a
                    955:        prefix; if so, change the type.
                    956:        (subfile_wanted_p): A subfile isn't wanted if the symbol
                    957:        definition indicated is a set element by prefix.
                    958: 
                    959:        * ld.c [N_WARNING]: Changed commenting.
                    960: 
                    961:        * ld.c (do_file_warnings): On the second pass for actual
                    962:        warning symbols, warn only if it isn't a definition and it
                    963:        isn't the reference used by the warning symbol itself.
                    964: 
                    965: Fri Aug  4 13:04:57 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                    966: 
                    967:        * ld.c: Remove the warning field from struct file entry.
                    968:        (enter_file_symbols): Deal with N_WARNING symbols on a
                    969:        per symbol basis instead of a per file basis.
                    970:        (mark_flagged_symbols): Deleted.
                    971:        (do_warnings): Don't call mark_flagged_symbols anymore.
                    972: 
                    973:        * ld.c: Improved commenting on new GNU symbols.
                    974: 
                    975:        * ld.c (subfile_wanted_p): Don't load in files for a set
                    976:        element symbol definition.
                    977: 
                    978: Thu Aug  3 12:54:30 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                    979: 
                    980:        * ld.c (write_output): Checked return code on last chmod and
                    981:        output error if there is one.
                    982: 
                    983: Wed Aug  2 13:26:16 1989  Randy Smith  (randy at hobbes.ai.mit.edu)
                    984: 
                    985:        * ld.c (enter_global_ref): Separate out cases of undefined
                    986:        reference and defining it versus from stuff done whenever you
                    987:        define a symbol.  Clean up assignment to sp->defined.
                    988: 
                    989: Tue Aug  1 23:12:07 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                    990: 
                    991:        * ld.c: Created count common_defined_global_count.
                    992:        (main): Initialized to 0.
                    993:        (symdef_library): Symbol is needed if it isn't defined OR it's
                    994:        defined common.  Don't stop looking till we don't have any
                    995:        more symbols defined as common.
                    996:        (linear_library): Don't stop looking until we have no more
                    997:        symbols defined as common.
                    998:        (subfile_wanted_p): If a symbol is defined common, we want to
                    999:        check for a real definition.  If it used to be undefined and
                   1000:        we've defined it by common, increment CDGC.
                   1001:        (enter_global_ref): If a symbol is defined common and it used
                   1002:        to be undefined, increment CDGC.  If it is defined for real
                   1003:        and it used to be defined common, decrement CDGC and zero
                   1004:        max_common_size (so we can tell that it isn't defined common
                   1005:        any more).  Rewrote logic to be cleaner.
                   1006: 
                   1007: Mon Jul 31 14:52:25 1989  Randy Smith  (randy at hobbes.ai.mit.edu)
                   1008: 
                   1009:        * ld.c (digest_symbols): Reverse the order of the set element
                   1010:        vector so that the elements will be in the order of the input
                   1011:        files to ld.
                   1012: 
                   1013: Mon Jul 31 00:19:05 1989  Roland McGrath  (roland at apple-gunkies.ai.mit.edu)
                   1014: 
                   1015:        * ld.c [sun && sparc]: Don't include alloca.h if !defined(__GNUC__).
                   1016: 
                   1017: Mon Jul 24 19:29:40 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   1018: 
                   1019:        * ld.c (enter_global_ref): Produce a warning message and
                   1020:        rewrite not to be so dangerous if someone is clueless enough
                   1021:        to indirect a symbol to itself.
                   1022: 
                   1023: Fri Jul 14 04:04:19 1989  Roland McGrath  (roland at hobbes.ai.mit.edu)
                   1024: 
                   1025:        * ar.c (write_archive): Don't zero out the count of old symdefs if we
                   1026:        just read some.
                   1027:        (update_symdefs): Don't copy symdefs onto themselves when compacting.
                   1028: 
                   1029: Wed Jul 12 16:16:36 1989  Roland McGrath  (roland at hobbes.ai.mit.edu)
                   1030: 
                   1031:        * ar.c (write_archive): Use read_old_symdefs if the member is there.
                   1032:        (make_new_symdefs): Return if passed a deleted member.
                   1033: 
                   1034:        * ar.c (write_archive): Zero out the info of the new __.SYMDEF member
                   1035:        properly.
                   1036: 
                   1037: Mon Jul 10 22:16:08 1989  Randy Smith  (roland at hobbes.ai.mit.edu)
                   1038: 
                   1039:        * ld.c (enter_global_ref): Put the type of the nlist entry with the
                   1040:        strongest type into the "defined" field of the symbol.  Used this to
                   1041:        determine the first definition of a set element.
                   1042: 
                   1043: Wed Jul  5 17:29:27 1989  Randy Smith  (randy at apple-gunkies.ai.mit.edu)
                   1044: 
                   1045:        * ld.c (do_file_warnings): Find undefined references on second
                   1046:        passes. 
                   1047: 
                   1048: Fri Jun 30 03:32:50 1989  Roland McGrath  (roland at apple-gunkies.ai.mit.edu)
                   1049: 
                   1050:        * ar.c [__GNUC__]: Use __builtin_alloca.
                   1051:        [sparc]: Include <alloca.h>.
                   1052: 
                   1053:        * ar.c (copy_out_member): After writing the header, set the entry's
                   1054:        `data_offset' field to the current file position.
                   1055:        (write_archive): After copying out members, check for any whose data
                   1056:        offsets weren't known when the symdef member was written, fix up the
                   1057:        offsets, and rewrite the symdef member.
                   1058: 
                   1059: Thu Jun 29 21:29:35 1989  Roland McGrath  (roland at apple-gunkies.ai.mit.edu)
                   1060: 
                   1061:        * ar.c (main): Call exit (0), instead of running off the end.
                   1062: 
                   1063: Tue Jun 27 02:11:22 1989  Roland McGrath  (roland at hobbes.ai.mit.edu)
                   1064: 
                   1065:        * ar.c (make_new_symdefs): Rewritten to correctly convert the namelist
                   1066:        to symdefs.
                   1067: 
                   1068:        * ar.c (replace_members): Write the archive if symdef_flag is true and
                   1069:        there is no symdef member.
                   1070: 
                   1071:        * Makefile: Added $(archpfx) where appropriate.
                   1072: 
                   1073:        * ld.c (symdef_library): When decode_library_subfile returns nil
                   1074:        (meaning it hit the end of the library archive), barf.
                   1075: 
                   1076: Mon Jun 26 17:41:38 1989  Randy Smith  (randy at hobbes.ai.mit.edu)
                   1077: 
                   1078:        * ld.c (do_warnings): Take out the blank line printed at the
                   1079:        end of the warning routine.
                   1080: 
                   1081:        * ld.c (do_file_warnings): When looking for multiple
                   1082:        definitions, don't print out references (things that are just
                   1083:        N_EXT).  
                   1084: 
                   1085: Sun Jun 25 15:17:42 1989  Roland McGrath  (roland at hobbes.ai.mit.edu)
                   1086: 
                   1087:        * ar.c (requestedp): Removed unused function.
                   1088:        (find_mapelt): Use find_mapelt_noerror.
                   1089:        (find_mapelt_noerror): Compare only the first 16 chars of names.
                   1090:        (error): Accept more args.
                   1091:        (copy_out_member): Write a message if the member name is truncated.
                   1092: 
                   1093:        * GNUmakefile: Just include Makefile, rather than doing the silly
                   1094:        recursion bit.
                   1095: 
                   1096:        * ar.c (write_archive): Split unlocking and closing into new function
                   1097:        close_archive.
                   1098:        (replace_members): If nothing changed, don't write the archive!
                   1099: 
                   1100:        * ar.c: Only write old Unix style informational messages
                   1101:        (x - foo, a - bar, etc.).  1003.2 requires it (sigh).
                   1102: 
                   1103: Wed Jun 21 21:45:57 1989  Roland McGrath  (roland at hobbes.ai.mit.edu)
                   1104: 
                   1105:        * ar.c (insert_in_map): Only write one message under -v.
                   1106:        (print_descr): Use puts instead of printf where applicable.
                   1107: 
                   1108:        * ar.c (copy_out_member): Don't say "copying ... to new archive" under
                   1109:        -v.  This amounts to listing the entire archive with each insertion.
                   1110: 
                   1111:        * Makefile (ranlib.o): Use $(bindir)/ar rather than `pwd`/ar.
                   1112: 
                   1113: Tue Jun 20 18:46:42 1989  Roland McGrath  (roland at hobbes.ai.mit.edu)
                   1114: 
                   1115:        * ar.c (main): The `u' flag implies the `r' operation.
                   1116: 
                   1117: Mon Jun 12 19:12:37 1989  Jay Fenlason  (hack at apple-gunkies.ai.mit.edu)
                   1118: 
                   1119:        * nm.c  Fixed #ifndef N_WARNING to actually compile correctly.
                   1120: 
                   1121:        * ld.c (N_TXTADDR, N_DATADDR): Changed #ifdef vax to
                   1122:        #if defined(vax) || defined(sony_news)
                   1123:        so that it'll compile on the Sony's.
                   1124: 
                   1125: Tue Jun  6 15:27:10 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   1126: 
                   1127:        * ld.c (print_files_defining_symbol): Eliminated.
                   1128:        (main): Zero the first cmdline references after it is allocated.
                   1129:        (add_cmdline_ref): Make sure that we don't overwrite the end of the
                   1130:        array. 
                   1131: 
                   1132: Sun May 28 15:15:42 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   1133: 
                   1134:        * nm.c (,print_one_symbol): Added code to handle N_WARNING.
                   1135: 
                   1136: Thu May 11 20:26:23 1989  Mike Haertel  (mike at apple-gunkies.ai.mit.edu)
                   1137: 
                   1138:        * ld.c (read_file_symbols): Use a struct exec instead of an int
                   1139:        for magic number checking.
                   1140:        * nm.c (do_one_file): Similar change.
                   1141:        * size.c (do_one_file): Similar change.
                   1142:        * strip.c (file_open): Similar change.  
                   1143: 
                   1144: Thu May 11 16:33:51 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1145: 
                   1146:        * ar.c (update_symdefs): Detect null pointer in info.name.
                   1147: 
                   1148: Thu May  4 01:53:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1149: 
                   1150:        * Makefile: Provide $(LIBS) when linking strip.
                   1151: 
                   1152: Mon May  1 16:40:27 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   1153: 
                   1154:        * ld.c (main): Change return from main to be exit from main
                   1155:        (supported on more systems).
                   1156: 
                   1157: Mon Apr 24 14:47:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1158: 
                   1159:        * ld.c (decode_option, classify_arg): Accept -Bstatic as no-op.
                   1160: 
                   1161: Mon Apr 24 13:08:48 1989  Jay Fenlason  (hack at apple-gunkies.ai.mit.edu)
                   1162: 
                   1163:        * gprof.c:  Removed #ifdef __STDC__ stuff from all the
                   1164:        function headers, etc.
                   1165: 
                   1166: Sun Apr 23 00:16:09 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1167: 
                   1168:        * ld.c: Define INITIALIZE_HEADER for ALTOS.
                   1169: 
                   1170:        * robotussin.c (reloc_segment): Handle R_RELLONG like R_DIR32.
                   1171:        (INPUT_MAGIC): Set it for 386 or 68k according to predef symbols.
                   1172: 
                   1173:        * ranlib.c: Handle USG.  Define bzero, gettimeofday.
                   1174:        New macro `seconds' defined for USG or BSD.
                   1175:        Include sys/types.h and fcntl.h.
                   1176: 
                   1177: Thu Apr 20 14:47:37 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1178: 
                   1179:        * robotussin.c: discard symbols in section -1.
                   1180: 
                   1181:        * libconvert: change *.o to * in for statement.
                   1182: 
                   1183: Mon Apr 10 16:54:43 1989  Pace Willisson   (pace at apple-gunkies.ai.mit.edu)
                   1184: 
                   1185:        * strip.c (rewrite_file_symbols): Make strip work for
                   1186:        COFF_ENCAPSULATE (it used to write the new exec header at
                   1187:        file offset 0, instead of using HEADER_SEEK_FD)
                   1188: 
1.1.1.2   root     1189: Fri Mar 10 15:50:45 1989  Randall Smith  (randy at sugar-bombs.ai.mit.edu)
                   1190: 
                   1191:        * ranlib.c (touch): Created to simply touch an archive (update the
                   1192:        date on the symdef member).  Done here since adding an option to
                   1193:        ar.c would be a hassle and using the routines in ar.c would
                   1194:        require doing almost all of the work of an "ar rs x.a" anyway.
                   1195:        Same result in both cases; differing amounts of time.
                   1196: 
                   1197: Mon Mar  6 15:27:56 1989  Jay Fenlason  (hack at apple-gunkies.ai.mit.edu)
                   1198: 
                   1199:        * gprof.c (ck_fclose) only fflush() streams opened for writing.
                   1200: 
                   1201: Sun Mar  5 17:13:37 1989  Randall Smith  (randy at gluteus.ai.mit.edu)
                   1202: 
                   1203:        * ar.c (write_archive): Modified test to write symdef header;
                   1204:        wasn't being done if the symdef map entry didn't need to be newly
                   1205:        created. 
                   1206: 
                   1207: Fri Mar  3 10:56:55 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   1208: 
                   1209:        * *.*, Makefile: Changed to use new wording as directed by the new
                   1210:        GNU General Public License.
                   1211:        * COPYING: Created as a link to /gp/rms/COPYING.
                   1212: 
                   1213: Wed Feb 22 04:42:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1214: 
                   1215:        * Makefile: Use GNU getopt by preference.
                   1216: 
                   1217:        * gprof.c [USG]: Define bcopy as macro.
                   1218: 
                   1219: Tue Feb 21 04:46:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1220: 
                   1221:        * ld.c (INITIALIZE_HEADER) [HPUX]: Use N_SET_MACHTYPE.
                   1222: 
                   1223: Sat Feb 18 12:47:36 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   1224: 
                   1225:        * Makefile: Added note for using GNU getopt for app routines.
                   1226:        Linked (symlink) it into this directory.
                   1227: 
                   1228:        * ld.c: Added #ifndef sony_news around inclusion of fcntl.h.  This
                   1229:        file duplicates code in sys/file.h on the sony.
                   1230: 
                   1231:        * nm.c: Added include of alloca.h on a sun4 and use of
                   1232:        __builtin_alloca if compiling with GCC.
                   1233: 
                   1234: Sat Feb 18 09:43:51 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1235: 
                   1236:        * ar.c (write_archive): Don't die if info.name is 0 (member deleted).
                   1237:        (scan): Reverse fread args, so value is right.
                   1238: 
                   1239: Fri Feb 17 05:19:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1240: 
                   1241:        * ar.c (extract_members, scan): Open just a FILE *, and pass that.
                   1242:        (extract_member, print_contents): Expect a FILE *; no need to fdopen.
                   1243: 
                   1244: Thu Feb 16 07:36:03 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1245: 
                   1246:        * gprof.c: Reformatted.
                   1247: 
                   1248: Fri Feb  3 14:28:24 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   1249: 
                   1250:        * ld.c (do_warnings): Changed calls to each_full_file to each_file
                   1251:        (which is what we want, since we are concerned with symbol
                   1252:        definitions).
                   1253: 
                   1254:        * ld.c: Added a parameter MAX_ALIGNMENT, defined in #ifdef sparc
                   1255:        and by default, to set the maximum necessary alignment for data
                   1256:        objects on this machine.  This is necessary for allocation in the
                   1257:        bss area.
                   1258:        (digest_symbols): Made sure that everything allocated had the
                   1259:        minimum of it's alignment (lowest bit set in the size) or the
                   1260:        MAX_ALIGNMENT. 
                   1261: 
                   1262: Thu Jan 26 13:31:52 1989  Pace Willison  (pace at apple-gunkies.ai.mit.edu)
                   1263: 
                   1264:        * Makefile: Delete -Dnounderscore, add gprof to USG PROG list
                   1265: 
                   1266:        * ar.c (rename for USG): ignore error from first unlink
                   1267: 
                   1268:        * gprof.c: COFF_ENCAPSULATE and USG changes.
                   1269: 
                   1270:        * ld.c strip.c: Deal with internal labels starting with '.' on
                   1271:        nounderscore machines and 'L' on normal ones (LPREFIX).
                   1272: 
                   1273:        * ld.c(next_debug_entry): Mask n_type field in switch statement
                   1274:        since it is a char, and some of its values (N_SOL) are > 128, which
                   1275:        get sign extended on some machines.
                   1276: 
                   1277:        * objdump.c: Deal with symbols that have no name; mask fields 
                   1278:        of nlist before printing.
                   1279: 
                   1280: Mon Jan 23 14:08:43 1989  Randall Smith  (randy at plantaris.ai.mit.edu)
                   1281: 
                   1282:        * ld.c (coptxtrel, copdatrel): Made sure that, when relocation is
                   1283:        being copied, that N_INDR symbols were properly followed.  Also
                   1284:        made sure that the symbol indicies were correct even in the
                   1285:        presence of indirection information.
                   1286: 
                   1287:        * ld.c (write_rel): When specifying symbol numbers, make sure to
                   1288:        leave room for the extra undefined ref that will be written for
                   1289:        the sake of N_INDR entries.
                   1290: 
                   1291:        * ld.c (write_syms): Fixed typo; a duplicate of the N_INDR entry
                   1292:        was being written instead of the undefined ref required.
                   1293: 
                   1294: Tue Jan 17 16:23:56 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   1295: 
                   1296:        * strip.c (rename): Arranged to ignore return code from "unlink";
                   1297:        file may not be there.
                   1298: 
                   1299: Thu Jan 12 15:24:23 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   1300: 
                   1301:        * Makefile: Modified "dist" target so as to get hp-*
                   1302:        subdirectories. 
                   1303: 
                   1304:        * strip.c (rename): Added function to mimic BSD system call for
                   1305:        system V.
                   1306: 
                   1307: Tue Jan 10 19:44:33 1989  Pace Willison  (pace at prep.ai.mit.edu)
                   1308: 
                   1309:        * Makefile: put -Dnounderscore back for COFF_ENCAPSULATE.
                   1310: 
                   1311: Tue Jan 10 17:58:50 1989  Randall Smith  (randy at cream-of-wheat.ai.mit.edu)
                   1312: 
                   1313:        * ld.c (linear_library, symdef_library, list_file_locals,
                   1314:        write_file_syms): Took care to make sure that when the buffer
                   1315:        pointed to by entry->strings became invalid, entry->strings was
                   1316:        set to zero (either on a free or a function return if space had
                   1317:        been allocated through alloca).
                   1318: 
                   1319:        * ld.c (getpagesize): Deleted define in hpux dependent section;
                   1320:        taken care of when compiling on hpux because of define of USG in
                   1321:        Makefile. 
                   1322: 
                   1323: Mon Jan  9 22:49:42 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1324: 
                   1325:        * strip.c (strip_file): Effectively defer certain signals
                   1326:        while rewriting the file.
                   1327: 
                   1328: Mon Jan  9 09:45:41 1989  Pace Willisson  (pace at prep.ai.mit.edu)
                   1329: 
                   1330:        * These changes improve support for COFF_ENCAPSULATE, and
                   1331:        for the future development of the GNU exec header.  The
                   1332:        main change is to rename the exec header field a_magic
                   1333:        so that it can contain additional information.  Now, the
                   1334:        magic number must be accessed with N_MAGIC(exec), and set
                   1335:        with N_SET_MAGIC(exec,val).  Programs that only need to use
                   1336:        N_BADMAG will not have to change.  Also COFF_ENCAPSULATE will
                   1337:        no longer use "nounderscore", so that it will be more like
                   1338:        normal bsd systems.  This means gcc must be updated before using
                   1339:        these new tools.  (It is safe to put -Dnounderscore back in
                   1340:        if you want to use an old gcc for a while.)
                   1341: 
                   1342:        * README-ENCAP: new documentation for how to set up to use
                   1343:        COFF_ENCAPSULATE.
                   1344: 
                   1345:        * Makefile:  Add target for gnulib.
                   1346:        Don't define 'nounderscore' (must tell gcc about that too.)
                   1347: 
                   1348:        * ar.c: Don't automatically define COFF_ENCAPSULATE.
                   1349: 
                   1350:        * nm.c: No need to initialize the header before reading it.
                   1351: 
                   1352:        * size.c: Include, sys/types.h, and sys/fcntl.h if USG
                   1353:        * strip.c: Likewise--types.h before file.h.
                   1354: 
                   1355:        * ld.c, objdump.c, robotussin.c:
                   1356:        Changed to use new exec macros for a_magic.
                   1357: 
                   1358:        * libconvert: now takes arguments
                   1359: 
                   1360:        * robotussin.c: don't automatically define nounderscore - leave
                   1361:        that to the makefile, if desired
                   1362: 
                   1363: Fri Jan  6 13:06:37 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   1364: 
                   1365:        * ld.c (digest_symbols, write_text, write_data): Changed N_SETV
                   1366:        from being in the text area to being in the data area.
                   1367:        * nm.c, a.out.gnu.h: Changed comments to conform with above.
                   1368: 
                   1369:        * ld.c (do_file_warnings): Added loop to go through each external
                   1370:        nlist entry and check for multiple definitions, as well as
                   1371:        catching any references which weren't caught by the relocation
                   1372:        pass. 
                   1373: 
                   1374:        * ld.c (address_to_line): Changed so that it will work (albeit
                   1375:        slowly) with an address less than the current address.
                   1376:        (do_file_warnings, do_relocation_warnings): Broke out scan through
                   1377:        relocation entries into a separate function.  Added creation of a
                   1378:        bitvector with each bit refereing to an nlist entry so that
                   1379:        do_relocation_warnings could mark which symbol entries it had
                   1380:        output for undefined references.
                   1381: 
                   1382: Thu Jan  5 20:36:44 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   1383: 
                   1384:        * ld.c: Cosmetic changes: Moved helper functions for
                   1385:        do_file_warnings to before it and modified comments to
                   1386:        next_debug_symbol and address_to_line.
                   1387: 
                   1388: Wed Jan  4 15:37:52 1989  Randall Smith  (randy at gluteus.ai.mit.edu)
                   1389: 
                   1390:        * ld.c: Added #define getpagesize() EXEC_PAGESIZE for hpux.
                   1391: 
                   1392:        * ld.c (do_warnings): Will now print out all undefined external
                   1393:        symbols which were not referenced from the text or data sections
                   1394:        separately.
                   1395:        (do_file_warnings): Decreases undefined_global_sym_count for each
                   1396:        symbol printed.
                   1397: 
                   1398: Tue Jan  3 23:43:41 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1399: 
                   1400:        * Makefile (nm): Link with $(LIBS).
                   1401: 
                   1402:        * ld.c (getpagesize): HPUX definition deleted; not needed.
                   1403: 
                   1404: Mon Jan  2 23:04:35 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   1405: 
                   1406:        * ld.c (digest_symbols): Modified the creation of set vectors
                   1407:        to include a zero word after the end  of the vector.
                   1408:        (write_text): Made the same modification of the set vector section
                   1409:        size. 
                   1410: 
                   1411: Sun Jan  1 12:01:22 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   1412: 
                   1413:        * ld.c: Fixed typo in description of relocation values, and
                   1414:        changed note on RELOC_ADD_EXTRA to force is to be an lvalue if
                   1415:        it's defined.
                   1416:        (coptxtrel): If a specific relocation entry has just changed from
                   1417:        external to internal, and we aren't supposed to add in memory on
                   1418:        the new relocation value, make sure that the value of the symbol
                   1419:        get's added to the ADD_EXTRA in the relocation value.  Otherwise,
                   1420:        all the work we do in a partial linking will be wasted (will be in
                   1421:        memory, but will be ignored on the next pass of the linker).
                   1422: 
                   1423: Sat Dec 31 13:13:01 1988  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   1424: 
                   1425:        * ld.c: Removed "|| TARGET == SUN2" from line 210; I believe that
                   1426:        TARGET and SUN2 were both showing up defined as 0 on the sparc,
                   1427:        which resulted in a redefine of the INITIALIZE_HEADER macro, back
                   1428:        to sun2 style.
                   1429: 
1.1       root     1430: Thu Dec 29 01:48:03 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1431: 
                   1432:        * ld.c, ar.c: Don't define COFF_ENCAPSULATE automatically.
                   1433:        The recommended Makefile change defines it.
                   1434: 
                   1435:        * ld.c (alloca): If compiling with GCC, use __builtin_alloca.
                   1436: 
                   1437:        * robotussin.c: New reformatted version with all variables renamed.
                   1438: 
                   1439:        * ranlib.c: New file, just runs `ar rs' on each specified file.
                   1440:        * Makefile: Special hack to tell ranlib where to find GNU ar.
                   1441:        (LIBS): Recommend -lPW on USG; ld needs it for alloca (if not GCC).
                   1442: 
                   1443: Sat Dec 24 13:59:09 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1444: 
                   1445:        * ld.c (error): Start with name of program running.
                   1446:        (main): Set `progname' to that name.
                   1447:        (digest_symbols): Fix punctuation and spelling in calls to `error'.
                   1448: 
                   1449: Tue Dec 20 21:49:46 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1450: 
                   1451:        * robotussin.c (INPUT_MAGIC): New macro, has the magic number
                   1452:        to expect in input files.
                   1453:        (nounderscore): New macro; as in ld, define it to inhibit
                   1454:        adding underscore to symbols.
                   1455: 
                   1456:        * Makefile: Don't compile objdump on BSD; N_DATADDR causes trouble.
                   1457: 
                   1458: Tue Dec 20 14:57:38 1988  Pace Willisson  (pace at prep.at.mit.edu)
                   1459: 
                   1460:        * objdump.c: New program like the system 5 'dump' program.
                   1461:        Documentation will follow...
                   1462: 
                   1463:        * Makefile: Set up CFLAGS for USG systems.  Added target
                   1464:        libc.a to do robotussin conversion.  Added objdump.
                   1465: 
                   1466:        * libconvert: Wrote shell script to do robotussin conversion.
                   1467: 
                   1468:        * ar.c, ld.c: Don't define COFF_ENCAPSULATE if it is already defined.
                   1469: 
                   1470:        * ld.c: If i386, set a_machtype to M_386.  Use a_flags instead
                   1471:        of a_encap.  Don't compute coff header if it isn't going to
                   1472:        get written out.
                   1473: 
                   1474:        * robotussin.c: Define COFF_ENCAPSULATE. Include a.out.encap.h
                   1475:        instead of a.out.h.  Check magic number of input
                   1476:        file.  Skip over optional header, if present.  Don't ignore
                   1477:        symbols with aux entries (they could be function definitions),
                   1478:        instead, ignore symbols beginning with '.' (.text, etc).
                   1479:        Don't prepend underscore to externals, since gcc doesn't do
                   1480:        it now.  Don't run past the end of symbols that are exactly
                   1481:        eight characters long.  Always write the string table size,
                   1482:        even if it is empty.  Change relocation types handled from
                   1483:        R_PCRBYTE, etc, to R_DIR32 and R_PCRLONG (these are the
                   1484:        only two emitted by the system 5 assembler.)
                   1485: 
                   1486:        * size.c: Include <sys/types.h> so including sys/file.h will
                   1487:        not get an error on USG systems.  Include fcntl.h on usg systems.
                   1488: 
                   1489:        * strip.c: Move inclusion of file.h to after types.h.  Include
                   1490:        fcntl.h.  Add defintion of rename.
                   1491: 
                   1492: Fri Dec 16 13:55:11 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1493: 
                   1494:        * size.c: Delete all ROBOTUSSIN conditionals and contents.
                   1495:        Change SYSV conditionals to USG.
                   1496:        COFF_ENCAPSULATE conditionals for headers.
                   1497:        (do_one_file, read_header): Skip encapsulation headers if any.
                   1498: 
                   1499:        * strip.c: Delete all ROBOTUSSIN conditionals and contents.
                   1500:        Change SYSV conditionals to USG.
                   1501:        COFF_ENCAPSULATE conditionals for headers.
                   1502:        (file_open, read_header): Skip encapsulation headers if any.
                   1503: 
                   1504:        * strip.c: Change most fatal errors to nonfatal.
                   1505:        (file_open, read_header, read_{file,entry}_symbols):
                   1506:        Now return 0 for success, -1 for failure.
                   1507:        Failure means do no more for the current file.
                   1508:        (modify_relocation): Now just warn if strip a symbol needed
                   1509:        for relocation, and warn only once per file.
                   1510:        (error_with_file): New function, replaces most fatal_with_file.
                   1511:        Print filename first, as in most programs.
                   1512:        (fatal_with_file): Deleted.
                   1513:        (rewrite_file_symbols): Use perror_file when system call fails.
                   1514: 
                   1515: Tue Dec 13 17:16:39 1988  Jay Fenlason  (hack at apple-gunkies.ai.mit.edu)
                   1516: 
                   1517:        * ar.c:  Changed pad character after odd-length archive member
                   1518:        from \0 to \n so archives can be cmp'd with the output from /bin/ar
                   1519:        Added fix for when ranlib is using ar to insert an __.SYMDEF member
                   1520: 
                   1521: Tue Dec 13 09:09:27 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1522: 
                   1523:        * ar.c: conditional #includes for USG.
                   1524:        * COFF_ENCAPSULATE conditionals for headers.
                   1525:        (extract_member): Don't do fchmod if USG.
                   1526:        Alternate USG code to set modtimes of extracted members.
                   1527:        (write_archive): Don't do fsync if USG.
                   1528:        (make_new_symdefs): Skip encapsulation headers if any.
                   1529:        [USG] (bcopy, bzero, bcmp): New fns.
                   1530: 
                   1531:        * nm.c: Delete all ROBOTUSSIN conditionals and contents.
                   1532:        Include types.h.
                   1533:        Change SYSV conditionals to USG.
                   1534:        * COFF_ENCAPSULATE conditionals for headers.
                   1535:        (do_one_file): Skip encapsulation headers if any.
                   1536:        (read_header): Likewise.
                   1537: 
                   1538:        * ld.c: Delete all ROBOTUSSIN conditionals and contents.
                   1539:        Change SYSV conditionals to USG.
                   1540:        Change HEADER_TYPE back to `struct exec'.
                   1541:        (L_SET): Define it if headers don't.
                   1542:        * COFF_ENCAPSULATE conditionals for headers.
                   1543:        (main): Update text_size differently if encapsulating.
                   1544:        (write_header): Write the encapsulation headers if nec.
                   1545:        Don't end with padding if encapsulation being done.
                   1546:        [USG] (bzero, bcopy, getpagesize): New fns.
                   1547: 
                   1548: Tue Dec  6 13:26:56 1988  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   1549: 
                   1550:        * ld.c (do_file_warnings): Ignored text relocation entries that
                   1551:        went through local symbols; any problems with lack of definitions
                   1552:        etc. with them would have been caught by the compiler.
                   1553: 
                   1554: Mon Dec  5 16:13:22 1988  Jay Fenlason  (hack at sugar-bombs.ai.mit.edu)
                   1555: 
                   1556:        * ar.c (make_new_symdefs): On error, close the input files.
                   1557: 
                   1558: Thu Nov 10 18:15:07 1988  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   1559: 
                   1560:        * ld.c: Put declaration of alloca inside an #ifdef so that it
                   1561:        wouldn't mess up on the sparc.
                   1562: 
                   1563:        * ld.c: Added #define CORE_ADDR for include of symseg.h from gdb
                   1564:        and took out TARGET == SUN2 for sun2 INITIALIZE_HEADER.
                   1565: 
                   1566: Wed Nov  2 18:43:09 1988  Randall Smith  (randy at gluteus.ai.mit.edu)
                   1567: 
                   1568:        * ld.c: Merged in isi68k port.  This included a kludge for symbols
                   1569:        starting with _$ (#ifdef DOLLAR_KLUDGE) and addition of the
                   1570:        STANDARD_SEARCH_DIRS macro to override the default if it's
                   1571:        defined. 
                   1572: 
                   1573:        * ld.c: Added code for the N_WARNING symbol type.  If a reference
                   1574:        is found to a symbol in an input .o file which contains an
                   1575:        N_WARNING symbol, a warning message (the name of the N_WARNING
                   1576:        symbol) is printed.  This name is treated as a printf format
                   1577:        string; the name of the symbol referenced (which caused the
                   1578:        warning) is supplied as a single argument to the print which
                   1579:        interpets this string.
                   1580: 
                   1581: Tue Nov  1 16:57:00 1988  Randall Smith  (randy at gluteus.ai.mit.edu)
                   1582: 
                   1583:        * ld.c: Added code for Sun 2.
                   1584: 
                   1585:        * ld.c: Modified access to the relocation information to be *much*
                   1586:        more general; added in sparc support.  This change is a minor
                   1587:        performance hit; the perform_relocation routine uses about 0.1
                   1588:        seconds more time on linking gdb than did the original ld.
                   1589:        (perform_relocation is about 5% of the total time the loader
                   1590:        spends).  The price of generality.
                   1591: 
                   1592: Thu Aug  4 13:20:50 1988  Randy Smith  (randy at rice-chex.ai.mit.edu)
                   1593: 
                   1594:        * Modified ld.c to print only the first 10 unresolved references
                   1595:        for each symbol, followed by a message indicating that there are
                   1596:        more unresolved references that have not been printed (if indeed
                   1597:        there are).  Made default behaivior upon errors *not* writing any
                   1598:        output file at all.  Also added the -noinhibit-exec flag to force
                   1599:        writing of an executable when that was desirable.
                   1600: 
                   1601: Tue Aug  2 12:04:01 1988  Randy Smith  (randy at rice-chex.ai.mit.edu)
                   1602: 
                   1603:        * Modified ld.c to give line numbers wherever possible on
                   1604:        unreferenced symbols.  Added a new symbol (N_DSLNE) to allow for
                   1605:        the same mapping of data location to line number as is done for
                   1606:        text segments by N_SLINE.  Added code to sort the relocation
                   1607:        entries when it is necessary to output these line numbers.  The
                   1608:        assumption was made that both N_SLINE and N_DSLNE symbols would
                   1609:        always be in order by address.
                   1610: 
                   1611: Wed Jul 27 15:13:08 1988  Randy Smith  (randy at rice-chex.ai.mit.edu)
                   1612: 
                   1613:        * Modified ld.c to include a facility for equivalencing two
                   1614:        symbols (translating one to another).  Modified lib/a.out.h to
                   1615:        include a definition of this new symbol.  Modified nm.c to
                   1616:        recognize this symbol and all of the set element and vector
                   1617:        symbols I had added before.
                   1618: 
                   1619: Thu Jul 21 17:06:10 1988  Randy Smith  (randy at rice-chex.ai.mit.edu)
                   1620: 
                   1621:        * Modified ld.c to printout source file and line numbers for
                   1622:        unresolved references whenever possible (ie. whenever the input
                   1623:        file has debugger symbols and the reference is from the text area).
                   1624: 
                   1625: Wed Jul 13 17:21:33 1988  Randy Smith  (randy at frosted-flakes.ai.mit.edu)
                   1626: 
                   1627:        * Modified ld.c and a.out.h to handle new types of symbols; the
                   1628:        loader can now create "sets" of symbols from entries in its input
                   1629:        files.  See a.out.h for more info.  Also fixed a bug in ld in
                   1630:        which references to common areas that we not defined in one pass
                   1631:        of the loader caused errors on the next.
                   1632: 
                   1633: Sat Jul  2 00:05:44 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   1634: 
                   1635:        * ld.c (symdef_library): Error check was off by one.
                   1636: 
                   1637: Mon May  9 12:53:08 1988  Chris Hanson  (cph at kleph)
                   1638: 
                   1639:        * ar.c (replace_members): After updating map, write out
                   1640:        `change_map->next' rather than `map', since the latter may be
                   1641:        null.
1.1.1.3   root     1642: 
                   1643: Local Variables:
                   1644: mode: indented-text
                   1645: left-margin: 8
                   1646: version-control: never
                   1647: End:

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.