|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.