|
|
1.1.1.3 ! root 1: Fri Nov 3 15:18:15 EST 1989 Jay Fenlason ([email protected]) ! 2: ! 3: * nm.c (main) make long_options static so it can be compiled with cc. ! 4: * strip.c (main) ditto. ! 5: ! 6: Thu Oct 26 12:28:33 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) ! 7: ! 8: * Makefile (install): Supply missing `done'. ! 9: ! 10: Tue Oct 17 12:50:46 1989 Mike Haertel (mike at wheat-chex) ! 11: ! 12: * ld.c (enter_file_symbols): ignore symbols of type ! 13: N_SETV | N_EXT. These shouldn't be here at all should ! 14: they? ! 15: ! 16: Mon Oct 16 16:53:03 1989 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu) ! 17: ! 18: * ld.c (process_subentry): New function called from ! 19: linear_library. ! 20: ! 21: Fri Oct 6 10:46:40 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) ! 22: ! 23: * gprof.c [!HAVE_VPRINTF]: Put in v{f,s}printf emulations. ! 24: ! 25: Mon Oct 2 17:20:42 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) ! 26: ! 27: * ld.c [sequent] (N_TXTADDR, N_DATADDR): Define these macros. ! 28: [sequent] (INITIALIZE_HEADER): Define this same as for i386. ! 29: (RELOC_MEMORY_SUB_P): New customization macro. ! 30: Define as 0 on sun 4. Define as 0 for defaults. ! 31: [sequent] (RELOC_* macros): Definitions for sequent. ! 32: (decode_command, digest_symbols): Handle case where NMAGIC is undefined. ! 33: (enter_global_ref) [sequent]: Handle special N_SHUNDF code. ! 34: (digest_symbols, write_symbols) [sequent]: Adjust outheader.a_text. ! 35: (perform_relocation): Handle RELOC_MEMORY_SUB_P like ..._ADD_P. ! 36: (symtab_init) [sequent]: Define symbol `_387_flt' w/ value 0. ! 37: ! 38: Fri Sep 22 11:06:25 EDT 1989 [email protected] ! 39: ! 40: * gprof.c (main) Installed Joy's code for using the long-option names. ! 41: ! 42: Thu Sep 21 03:24:36 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) ! 43: ! 44: * ld.c (symtab_init) [sun]: Define __DYNAMIC as 0. ! 45: (perform_relocation) [RELOC_ADD_EXTRA]: ! 46: Special handling for relocatable_output case. ! 47: (read_file_relocation): Fix error message typos. ! 48: ! 49: Mon Sep 18 14:40:40 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) ! 50: ! 51: * ld.c (digest_symbols): Pad data and bss to 8 byte boundary. ! 52: ! 53: Fri Sep 15 16:42:33 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) ! 54: ! 55: * a.out.gnu.h [sony]: Defined SEGMENT_SIZE as 0x2000. ! 56: ! 57: * Makefile (ranlib): Include getopt in the link. ! 58: (objdump): New rule. ! 59: (install): New rule. ! 60: ! 61: Fri Sep 1 01:32:01 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU) ! 62: ! 63: * ranlib.c: Added copyright notice and license info. ! 64: ! 65: Thu Aug 24 14:33:48 1989 Randy Smith (randy at hobbes.ai.mit.edu) ! 66: ! 67: * ld.c (do_file_warnings): Don't print out multiple definition ! 68: warnings at references. ! 69: ! 70: Mon Aug 21 20:19:08 1989 Roland McGrath (roland at hobbes.ai.mit.edu) ! 71: ! 72: * ar.c (make_new_symdefs): Abort if MAPELT->info.name is nil. ! 73: (update_symdefs): In the loop that calls make_new_symdefs, reject ! 74: deleted members (i.e., TAIL->info.name == 0). ! 75: ! 76: * ar.c (make_new_symdefs): Return if we fail reading the header or the ! 77: magic number is bad. ! 78: ! 79: * ar.c (make_new_symdefs): Check for ridiculous string table offsets. ! 80: ! 81: * ranlib.c (main): If the child ar exits with a signal, print the ! 82: signal that killed it. ! 83: ! 84: * ar.c (make_new_symdefs): Check for a ridiculous string table size. ! 85: ! 86: * ar.c (write_archive): When fixing up symdefs, use each member's ! 87: new_offset rather than data_offset. ! 88: ! 89: * ar.c (update_symdefs): When the old archive's string table is too ! 90: small, die, don't just bitch. ! 91: ! 92: * ar.c (update_symdefs): Don't decrement num_old_symdefs when deleting ! 93: symdefs of deleted members. After compactifying old symdefs, decrease ! 94: num_old_symdefs as necessary. ! 95: ! 96: * ar.c (update_symdefs): When removing symdefs of deleted members, ! 97: compare the symdef offsets to the mapelt's data offset, not its header ! 98: offset. ! 99: ! 100: Sat Aug 19 08:07:26 1989 Roland McGrath (roland at hobbes.ai.mit.edu) ! 101: ! 102: * ar.c (header_from_map): Print correct message when truncating. ! 103: ! 104: * ar.c (find_mapelt_noerror, header_from_map): Truncate to 15 chars, ! 105: not 16. ! 106: ! 107: * ranlib.c (main): Don't do the first ar run an infinite number of ! 108: times. One will suffice. ! 109: ! 110: * ranlib.c (main): Under -v, echo the ar command before running it. ! 111: ! 112: * ar.c (ignore_symdef): New variable. If nonzero, only do symdef ! 113: processing if the `s' option is given. ! 114: (main): If one of the members given on the command line is __.SYMDEF, ! 115: set ignore_symdef. ! 116: (scan): If ignore_symdef is nonzero, don't set symdef_exists. ! 117: ! 118: * ar.c (find_mapelt_noerror): A mapelt matches NAME if the names are ! 119: the same for 14 characters and either both end in ".o", or they are the ! 120: same for as many more characters as they both have (i.e., the longer ! 121: name is truncated to the length of the shorter name for the ! 122: comparison). ! 123: ! 124: * ar.c (update_symdefs): When correcting a bad string table size, ! 125: correct the size of the __.SYMDEF member as well. ! 126: ! 127: * ar.c (update_symdefs): Keep track of the space in the string table ! 128: accounted for by deleted members. If the old archive's string table ! 129: size was too big, correct it; if it was too small, die. ! 130: ! 131: Tue Aug 15 00:54:37 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) ! 132: ! 133: * ranlib.c (main): Use getopt, and accept new `-v' option, which means ! 134: to pass `v' to ar. Use vfork instead of fork. Look at the status of ! 135: the children, and exit if it's nonzero. Also added error checking on ! 136: several calls. ! 137: ! 138: * ar.c (write_archive): Fully initialize the new mapelt for __.SYMDEF. ! 139: ! 140: Sun Aug 13 00:01:27 1989 Joy Kendall (jak at hobbes.ai.mit.edu) ! 141: ! 142: * strip.c, nm.c, objdump.c: Installed versions with long ! 143: named options available, i.e., getopt substituted with ! 144: getopt_long. ! 145: ! 146: * Makefile: changed GNU_GETOPT to GNU_GETOPT_LONG (need to ! 147: make sure I did this right) ! 148: ! 149: Wed Aug 9 00:24:34 1989 Roland McGrath (roland at hobbes.ai.mit.edu) ! 150: ! 151: * ar.c (write_archive): When rewriting the symdef member, seek to its ! 152: header offset, not its data offset. ! 153: ! 154: * ar.c (header_from_map): New function to convert a `struct mapelt' to ! 155: an ar header. ! 156: ! 157: * ar.c: Miscellaneous cosmetic clean-ups. ! 158: ! 159: * ar.c (copy_out_member): If truncating the member name, and the ! 160: desired name (which is too long) ends in ".o", make the written member ! 161: name end in ".o" as well. ! 162: ! 163: Tue Aug 8 16:26:49 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 164: ! 165: * ld.c (classify_arg): Added 'V' to the list of possible ! 166: argument having thingys. ! 167: ! 168: * ld.c (do_relocation_warnings, do_file_warnings): Changed ! 169: messages slightly and removed hack to allow N_WARNING name to ! 170: be a printf string taking stuff as arguments. ! 171: ! 172: Mon Aug 7 16:27:04 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 173: ! 174: * ld.c: Created set_element_prefixes (list of symbol name ! 175: prefixes to force symbols to be treated as set elements). ! 176: (main): Initialized to 0. ! 177: (decode_option): -V name recognized as defining a prefix. ! 178: (set_element_prefixed_p): New function. ! 179: (enter_file_symbols): Check every symbol to see if it has a ! 180: prefix; if so, change the type. ! 181: (subfile_wanted_p): A subfile isn't wanted if the symbol ! 182: definition indicated is a set element by prefix. ! 183: ! 184: * ld.c [N_WARNING]: Changed commenting. ! 185: ! 186: * ld.c (do_file_warnings): On the second pass for actual ! 187: warning symbols, warn only if it isn't a definition and it ! 188: isn't the reference used by the warning symbol itself. ! 189: ! 190: Fri Aug 4 13:04:57 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 191: ! 192: * ld.c: Remove the warning field from struct file entry. ! 193: (enter_file_symbols): Deal with N_WARNING symbols on a ! 194: per symbol basis instead of a per file basis. ! 195: (mark_flagged_symbols): Deleted. ! 196: (do_warnings): Don't call mark_flagged_symbols anymore. ! 197: ! 198: * ld.c: Improved commenting on new GNU symbols. ! 199: ! 200: * ld.c (subfile_wanted_p): Don't load in files for a set ! 201: element symbol definition. ! 202: ! 203: Thu Aug 3 12:54:30 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 204: ! 205: * ld.c (write_output): Checked return code on last chmod and ! 206: output error if there is one. ! 207: ! 208: Wed Aug 2 13:26:16 1989 Randy Smith (randy at hobbes.ai.mit.edu) ! 209: ! 210: * ld.c (enter_global_ref): Separate out cases of undefined ! 211: reference and defining it versus from stuff done whenever you ! 212: define a symbol. Clean up assignment to sp->defined. ! 213: ! 214: Tue Aug 1 23:12:07 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 215: ! 216: * ld.c: Created count common_defined_global_count. ! 217: (main): Initialized to 0. ! 218: (symdef_library): Symbol is needed if it isn't defined OR it's ! 219: defined common. Don't stop looking till we don't have any ! 220: more symbols defined as common. ! 221: (linear_library): Don't stop looking until we have no more ! 222: symbols defined as common. ! 223: (subfile_wanted_p): If a symbol is defined common, we want to ! 224: check for a real definition. If it used to be undefined and ! 225: we've defined it by common, increment CDGC. ! 226: (enter_global_ref): If a symbol is defined common and it used ! 227: to be undefined, increment CDGC. If it is defined for real ! 228: and it used to be defined common, decrement CDGC and zero ! 229: max_common_size (so we can tell that it isn't defined common ! 230: any more). Rewrote logic to be cleaner. ! 231: ! 232: Mon Jul 31 14:52:25 1989 Randy Smith (randy at hobbes.ai.mit.edu) ! 233: ! 234: * ld.c (digest_symbols): Reverse the order of the set element ! 235: vector so that the elements will be in the order of the input ! 236: files to ld. ! 237: ! 238: Mon Jul 31 00:19:05 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) ! 239: ! 240: * ld.c [sun && sparc]: Don't include alloca.h if !defined(__GNUC__). ! 241: ! 242: Mon Jul 24 19:29:40 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 243: ! 244: * ld.c (enter_global_ref): Produce a warning message and ! 245: rewrite not to be so dangerous if someone is clueless enough ! 246: to indirect a symbol to itself. ! 247: ! 248: Fri Jul 14 04:04:19 1989 Roland McGrath (roland at hobbes.ai.mit.edu) ! 249: ! 250: * ar.c (write_archive): Don't zero out the count of old symdefs if we ! 251: just read some. ! 252: (update_symdefs): Don't copy symdefs onto themselves when compacting. ! 253: ! 254: Wed Jul 12 16:16:36 1989 Roland McGrath (roland at hobbes.ai.mit.edu) ! 255: ! 256: * ar.c (write_archive): Use read_old_symdefs if the member is there. ! 257: (make_new_symdefs): Return if passed a deleted member. ! 258: ! 259: * ar.c (write_archive): Zero out the info of the new __.SYMDEF member ! 260: properly. ! 261: ! 262: Mon Jul 10 22:16:08 1989 Randy Smith (roland at hobbes.ai.mit.edu) ! 263: ! 264: * ld.c (enter_global_ref): Put the type of the nlist entry with the ! 265: strongest type into the "defined" field of the symbol. Used this to ! 266: determine the first definition of a set element. ! 267: ! 268: Wed Jul 5 17:29:27 1989 Randy Smith (randy at apple-gunkies.ai.mit.edu) ! 269: ! 270: * ld.c (do_file_warnings): Find undefined references on second ! 271: passes. ! 272: ! 273: Fri Jun 30 03:32:50 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) ! 274: ! 275: * ar.c [__GNUC__]: Use __builtin_alloca. ! 276: [sparc]: Include <alloca.h>. ! 277: ! 278: * ar.c (copy_out_member): After writing the header, set the entry's ! 279: `data_offset' field to the current file position. ! 280: (write_archive): After copying out members, check for any whose data ! 281: offsets weren't known when the symdef member was written, fix up the ! 282: offsets, and rewrite the symdef member. ! 283: ! 284: Thu Jun 29 21:29:35 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) ! 285: ! 286: * ar.c (main): Call exit (0), instead of running off the end. ! 287: ! 288: Tue Jun 27 02:11:22 1989 Roland McGrath (roland at hobbes.ai.mit.edu) ! 289: ! 290: * ar.c (make_new_symdefs): Rewritten to correctly convert the namelist ! 291: to symdefs. ! 292: ! 293: * ar.c (replace_members): Write the archive if symdef_flag is true and ! 294: there is no symdef member. ! 295: ! 296: * Makefile: Added $(archpfx) where appropriate. ! 297: ! 298: * ld.c (symdef_library): When decode_library_subfile returns nil ! 299: (meaning it hit the end of the library archive), barf. ! 300: ! 301: Mon Jun 26 17:41:38 1989 Randy Smith (randy at hobbes.ai.mit.edu) ! 302: ! 303: * ld.c (do_warnings): Take out the blank line printed at the ! 304: end of the warning routine. ! 305: ! 306: * ld.c (do_file_warnings): When looking for multiple ! 307: definitions, don't print out references (things that are just ! 308: N_EXT). ! 309: ! 310: Sun Jun 25 15:17:42 1989 Roland McGrath (roland at hobbes.ai.mit.edu) ! 311: ! 312: * ar.c (requestedp): Removed unused function. ! 313: (find_mapelt): Use find_mapelt_noerror. ! 314: (find_mapelt_noerror): Compare only the first 16 chars of names. ! 315: (error): Accept more args. ! 316: (copy_out_member): Write a message if the member name is truncated. ! 317: ! 318: * GNUmakefile: Just include Makefile, rather than doing the silly ! 319: recursion bit. ! 320: ! 321: * ar.c (write_archive): Split unlocking and closing into new function ! 322: close_archive. ! 323: (replace_members): If nothing changed, don't write the archive! ! 324: ! 325: * ar.c: Only write old Unix style informational messages ! 326: (x - foo, a - bar, etc.). 1003.2 requires it (sigh). ! 327: ! 328: Wed Jun 21 21:45:57 1989 Roland McGrath (roland at hobbes.ai.mit.edu) ! 329: ! 330: * ar.c (insert_in_map): Only write one message under -v. ! 331: (print_descr): Use puts instead of printf where applicable. ! 332: ! 333: * ar.c (copy_out_member): Don't say "copying ... to new archive" under ! 334: -v. This amounts to listing the entire archive with each insertion. ! 335: ! 336: * Makefile (ranlib.o): Use $(bindir)/ar rather than `pwd`/ar. ! 337: ! 338: Tue Jun 20 18:46:42 1989 Roland McGrath (roland at hobbes.ai.mit.edu) ! 339: ! 340: * ar.c (main): The `u' flag implies the `r' operation. ! 341: ! 342: Mon Jun 12 19:12:37 1989 Jay Fenlason (hack at apple-gunkies.ai.mit.edu) ! 343: ! 344: * nm.c Fixed #ifndef N_WARNING to actually compile correctly. ! 345: ! 346: * ld.c (N_TXTADDR, N_DATADDR): Changed #ifdef vax to ! 347: #if defined(vax) || defined(sony_news) ! 348: so that it'll compile on the Sony's. ! 349: ! 350: Tue Jun 6 15:27:10 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 351: ! 352: * ld.c (print_files_defining_symbol): Eliminated. ! 353: (main): Zero the first cmdline references after it is allocated. ! 354: (add_cmdline_ref): Make sure that we don't overwrite the end of the ! 355: array. ! 356: ! 357: Sun May 28 15:15:42 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 358: ! 359: * nm.c (,print_one_symbol): Added code to handle N_WARNING. ! 360: ! 361: Thu May 11 20:26:23 1989 Mike Haertel (mike at apple-gunkies.ai.mit.edu) ! 362: ! 363: * ld.c (read_file_symbols): Use a struct exec instead of an int ! 364: for magic number checking. ! 365: * nm.c (do_one_file): Similar change. ! 366: * size.c (do_one_file): Similar change. ! 367: * strip.c (file_open): Similar change. ! 368: ! 369: Thu May 11 16:33:51 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) ! 370: ! 371: * ar.c (update_symdefs): Detect null pointer in info.name. ! 372: ! 373: Thu May 4 01:53:32 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) ! 374: ! 375: * Makefile: Provide $(LIBS) when linking strip. ! 376: ! 377: Mon May 1 16:40:27 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 378: ! 379: * ld.c (main): Change return from main to be exit from main ! 380: (supported on more systems). ! 381: ! 382: Mon Apr 24 14:47:53 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) ! 383: ! 384: * ld.c (decode_option, classify_arg): Accept -Bstatic as no-op. ! 385: ! 386: Mon Apr 24 13:08:48 1989 Jay Fenlason (hack at apple-gunkies.ai.mit.edu) ! 387: ! 388: * gprof.c: Removed #ifdef __STDC__ stuff from all the ! 389: function headers, etc. ! 390: ! 391: Sun Apr 23 00:16:09 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) ! 392: ! 393: * ld.c: Define INITIALIZE_HEADER for ALTOS. ! 394: ! 395: * robotussin.c (reloc_segment): Handle R_RELLONG like R_DIR32. ! 396: (INPUT_MAGIC): Set it for 386 or 68k according to predef symbols. ! 397: ! 398: * ranlib.c: Handle USG. Define bzero, gettimeofday. ! 399: New macro `seconds' defined for USG or BSD. ! 400: Include sys/types.h and fcntl.h. ! 401: ! 402: Thu Apr 20 14:47:37 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) ! 403: ! 404: * robotussin.c: discard symbols in section -1. ! 405: ! 406: * libconvert: change *.o to * in for statement. ! 407: ! 408: Mon Apr 10 16:54:43 1989 Pace Willisson (pace at apple-gunkies.ai.mit.edu) ! 409: ! 410: * strip.c (rewrite_file_symbols): Make strip work for ! 411: COFF_ENCAPSULATE (it used to write the new exec header at ! 412: file offset 0, instead of using HEADER_SEEK_FD) ! 413: 1.1.1.2 root 414: Fri Mar 10 15:50:45 1989 Randall Smith (randy at sugar-bombs.ai.mit.edu) 415: 416: * ranlib.c (touch): Created to simply touch an archive (update the 417: date on the symdef member). Done here since adding an option to 418: ar.c would be a hassle and using the routines in ar.c would 419: require doing almost all of the work of an "ar rs x.a" anyway. 420: Same result in both cases; differing amounts of time. 421: 422: Mon Mar 6 15:27:56 1989 Jay Fenlason (hack at apple-gunkies.ai.mit.edu) 423: 424: * gprof.c (ck_fclose) only fflush() streams opened for writing. 425: 426: Sun Mar 5 17:13:37 1989 Randall Smith (randy at gluteus.ai.mit.edu) 427: 428: * ar.c (write_archive): Modified test to write symdef header; 429: wasn't being done if the symdef map entry didn't need to be newly 430: created. 431: 432: Fri Mar 3 10:56:55 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) 433: 434: * *.*, Makefile: Changed to use new wording as directed by the new 435: GNU General Public License. 436: * COPYING: Created as a link to /gp/rms/COPYING. 437: 438: Wed Feb 22 04:42:54 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 439: 440: * Makefile: Use GNU getopt by preference. 441: 442: * gprof.c [USG]: Define bcopy as macro. 443: 444: Tue Feb 21 04:46:44 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 445: 446: * ld.c (INITIALIZE_HEADER) [HPUX]: Use N_SET_MACHTYPE. 447: 448: Sat Feb 18 12:47:36 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) 449: 450: * Makefile: Added note for using GNU getopt for app routines. 451: Linked (symlink) it into this directory. 452: 453: * ld.c: Added #ifndef sony_news around inclusion of fcntl.h. This 454: file duplicates code in sys/file.h on the sony. 455: 456: * nm.c: Added include of alloca.h on a sun4 and use of 457: __builtin_alloca if compiling with GCC. 458: 459: Sat Feb 18 09:43:51 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 460: 461: * ar.c (write_archive): Don't die if info.name is 0 (member deleted). 462: (scan): Reverse fread args, so value is right. 463: 464: Fri Feb 17 05:19:50 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 465: 466: * ar.c (extract_members, scan): Open just a FILE *, and pass that. 467: (extract_member, print_contents): Expect a FILE *; no need to fdopen. 468: 469: Thu Feb 16 07:36:03 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 470: 471: * gprof.c: Reformatted. 472: 473: Fri Feb 3 14:28:24 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) 474: 475: * ld.c (do_warnings): Changed calls to each_full_file to each_file 476: (which is what we want, since we are concerned with symbol 477: definitions). 478: 479: * ld.c: Added a parameter MAX_ALIGNMENT, defined in #ifdef sparc 480: and by default, to set the maximum necessary alignment for data 481: objects on this machine. This is necessary for allocation in the 482: bss area. 483: (digest_symbols): Made sure that everything allocated had the 484: minimum of it's alignment (lowest bit set in the size) or the 485: MAX_ALIGNMENT. 486: 487: Thu Jan 26 13:31:52 1989 Pace Willison (pace at apple-gunkies.ai.mit.edu) 488: 489: * Makefile: Delete -Dnounderscore, add gprof to USG PROG list 490: 491: * ar.c (rename for USG): ignore error from first unlink 492: 493: * gprof.c: COFF_ENCAPSULATE and USG changes. 494: 495: * ld.c strip.c: Deal with internal labels starting with '.' on 496: nounderscore machines and 'L' on normal ones (LPREFIX). 497: 498: * ld.c(next_debug_entry): Mask n_type field in switch statement 499: since it is a char, and some of its values (N_SOL) are > 128, which 500: get sign extended on some machines. 501: 502: * objdump.c: Deal with symbols that have no name; mask fields 503: of nlist before printing. 504: 505: Mon Jan 23 14:08:43 1989 Randall Smith (randy at plantaris.ai.mit.edu) 506: 507: * ld.c (coptxtrel, copdatrel): Made sure that, when relocation is 508: being copied, that N_INDR symbols were properly followed. Also 509: made sure that the symbol indicies were correct even in the 510: presence of indirection information. 511: 512: * ld.c (write_rel): When specifying symbol numbers, make sure to 513: leave room for the extra undefined ref that will be written for 514: the sake of N_INDR entries. 515: 516: * ld.c (write_syms): Fixed typo; a duplicate of the N_INDR entry 517: was being written instead of the undefined ref required. 518: 519: Tue Jan 17 16:23:56 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) 520: 521: * strip.c (rename): Arranged to ignore return code from "unlink"; 522: file may not be there. 523: 524: Thu Jan 12 15:24:23 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) 525: 526: * Makefile: Modified "dist" target so as to get hp-* 527: subdirectories. 528: 529: * strip.c (rename): Added function to mimic BSD system call for 530: system V. 531: 532: Tue Jan 10 19:44:33 1989 Pace Willison (pace at prep.ai.mit.edu) 533: 534: * Makefile: put -Dnounderscore back for COFF_ENCAPSULATE. 535: 536: Tue Jan 10 17:58:50 1989 Randall Smith (randy at cream-of-wheat.ai.mit.edu) 537: 538: * ld.c (linear_library, symdef_library, list_file_locals, 539: write_file_syms): Took care to make sure that when the buffer 540: pointed to by entry->strings became invalid, entry->strings was 541: set to zero (either on a free or a function return if space had 542: been allocated through alloca). 543: 544: * ld.c (getpagesize): Deleted define in hpux dependent section; 545: taken care of when compiling on hpux because of define of USG in 546: Makefile. 547: 548: Mon Jan 9 22:49:42 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 549: 550: * strip.c (strip_file): Effectively defer certain signals 551: while rewriting the file. 552: 553: Mon Jan 9 09:45:41 1989 Pace Willisson (pace at prep.ai.mit.edu) 554: 555: * These changes improve support for COFF_ENCAPSULATE, and 556: for the future development of the GNU exec header. The 557: main change is to rename the exec header field a_magic 558: so that it can contain additional information. Now, the 559: magic number must be accessed with N_MAGIC(exec), and set 560: with N_SET_MAGIC(exec,val). Programs that only need to use 561: N_BADMAG will not have to change. Also COFF_ENCAPSULATE will 562: no longer use "nounderscore", so that it will be more like 563: normal bsd systems. This means gcc must be updated before using 564: these new tools. (It is safe to put -Dnounderscore back in 565: if you want to use an old gcc for a while.) 566: 567: * README-ENCAP: new documentation for how to set up to use 568: COFF_ENCAPSULATE. 569: 570: * Makefile: Add target for gnulib. 571: Don't define 'nounderscore' (must tell gcc about that too.) 572: 573: * ar.c: Don't automatically define COFF_ENCAPSULATE. 574: 575: * nm.c: No need to initialize the header before reading it. 576: 577: * size.c: Include, sys/types.h, and sys/fcntl.h if USG 578: * strip.c: Likewise--types.h before file.h. 579: 580: * ld.c, objdump.c, robotussin.c: 581: Changed to use new exec macros for a_magic. 582: 583: * libconvert: now takes arguments 584: 585: * robotussin.c: don't automatically define nounderscore - leave 586: that to the makefile, if desired 587: 588: Fri Jan 6 13:06:37 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) 589: 590: * ld.c (digest_symbols, write_text, write_data): Changed N_SETV 591: from being in the text area to being in the data area. 592: * nm.c, a.out.gnu.h: Changed comments to conform with above. 593: 594: * ld.c (do_file_warnings): Added loop to go through each external 595: nlist entry and check for multiple definitions, as well as 596: catching any references which weren't caught by the relocation 597: pass. 598: 599: * ld.c (address_to_line): Changed so that it will work (albeit 600: slowly) with an address less than the current address. 601: (do_file_warnings, do_relocation_warnings): Broke out scan through 602: relocation entries into a separate function. Added creation of a 603: bitvector with each bit refereing to an nlist entry so that 604: do_relocation_warnings could mark which symbol entries it had 605: output for undefined references. 606: 607: Thu Jan 5 20:36:44 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) 608: 609: * ld.c: Cosmetic changes: Moved helper functions for 610: do_file_warnings to before it and modified comments to 611: next_debug_symbol and address_to_line. 612: 613: Wed Jan 4 15:37:52 1989 Randall Smith (randy at gluteus.ai.mit.edu) 614: 615: * ld.c: Added #define getpagesize() EXEC_PAGESIZE for hpux. 616: 617: * ld.c (do_warnings): Will now print out all undefined external 618: symbols which were not referenced from the text or data sections 619: separately. 620: (do_file_warnings): Decreases undefined_global_sym_count for each 621: symbol printed. 622: 623: Tue Jan 3 23:43:41 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 624: 625: * Makefile (nm): Link with $(LIBS). 626: 627: * ld.c (getpagesize): HPUX definition deleted; not needed. 628: 629: Mon Jan 2 23:04:35 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) 630: 631: * ld.c (digest_symbols): Modified the creation of set vectors 632: to include a zero word after the end of the vector. 633: (write_text): Made the same modification of the set vector section 634: size. 635: 636: Sun Jan 1 12:01:22 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) 637: 638: * ld.c: Fixed typo in description of relocation values, and 639: changed note on RELOC_ADD_EXTRA to force is to be an lvalue if 640: it's defined. 641: (coptxtrel): If a specific relocation entry has just changed from 642: external to internal, and we aren't supposed to add in memory on 643: the new relocation value, make sure that the value of the symbol 644: get's added to the ADD_EXTRA in the relocation value. Otherwise, 645: all the work we do in a partial linking will be wasted (will be in 646: memory, but will be ignored on the next pass of the linker). 647: 648: Sat Dec 31 13:13:01 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) 649: 650: * ld.c: Removed "|| TARGET == SUN2" from line 210; I believe that 651: TARGET and SUN2 were both showing up defined as 0 on the sparc, 652: which resulted in a redefine of the INITIALIZE_HEADER macro, back 653: to sun2 style. 654: 1.1 root 655: Thu Dec 29 01:48:03 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 656: 657: * ld.c, ar.c: Don't define COFF_ENCAPSULATE automatically. 658: The recommended Makefile change defines it. 659: 660: * ld.c (alloca): If compiling with GCC, use __builtin_alloca. 661: 662: * robotussin.c: New reformatted version with all variables renamed. 663: 664: * ranlib.c: New file, just runs `ar rs' on each specified file. 665: * Makefile: Special hack to tell ranlib where to find GNU ar. 666: (LIBS): Recommend -lPW on USG; ld needs it for alloca (if not GCC). 667: 668: Sat Dec 24 13:59:09 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 669: 670: * ld.c (error): Start with name of program running. 671: (main): Set `progname' to that name. 672: (digest_symbols): Fix punctuation and spelling in calls to `error'. 673: 674: Tue Dec 20 21:49:46 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 675: 676: * robotussin.c (INPUT_MAGIC): New macro, has the magic number 677: to expect in input files. 678: (nounderscore): New macro; as in ld, define it to inhibit 679: adding underscore to symbols. 680: 681: * Makefile: Don't compile objdump on BSD; N_DATADDR causes trouble. 682: 683: Tue Dec 20 14:57:38 1988 Pace Willisson (pace at prep.at.mit.edu) 684: 685: * objdump.c: New program like the system 5 'dump' program. 686: Documentation will follow... 687: 688: * Makefile: Set up CFLAGS for USG systems. Added target 689: libc.a to do robotussin conversion. Added objdump. 690: 691: * libconvert: Wrote shell script to do robotussin conversion. 692: 693: * ar.c, ld.c: Don't define COFF_ENCAPSULATE if it is already defined. 694: 695: * ld.c: If i386, set a_machtype to M_386. Use a_flags instead 696: of a_encap. Don't compute coff header if it isn't going to 697: get written out. 698: 699: * robotussin.c: Define COFF_ENCAPSULATE. Include a.out.encap.h 700: instead of a.out.h. Check magic number of input 701: file. Skip over optional header, if present. Don't ignore 702: symbols with aux entries (they could be function definitions), 703: instead, ignore symbols beginning with '.' (.text, etc). 704: Don't prepend underscore to externals, since gcc doesn't do 705: it now. Don't run past the end of symbols that are exactly 706: eight characters long. Always write the string table size, 707: even if it is empty. Change relocation types handled from 708: R_PCRBYTE, etc, to R_DIR32 and R_PCRLONG (these are the 709: only two emitted by the system 5 assembler.) 710: 711: * size.c: Include <sys/types.h> so including sys/file.h will 712: not get an error on USG systems. Include fcntl.h on usg systems. 713: 714: * strip.c: Move inclusion of file.h to after types.h. Include 715: fcntl.h. Add defintion of rename. 716: 717: Fri Dec 16 13:55:11 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 718: 719: * size.c: Delete all ROBOTUSSIN conditionals and contents. 720: Change SYSV conditionals to USG. 721: COFF_ENCAPSULATE conditionals for headers. 722: (do_one_file, read_header): Skip encapsulation headers if any. 723: 724: * strip.c: Delete all ROBOTUSSIN conditionals and contents. 725: Change SYSV conditionals to USG. 726: COFF_ENCAPSULATE conditionals for headers. 727: (file_open, read_header): Skip encapsulation headers if any. 728: 729: * strip.c: Change most fatal errors to nonfatal. 730: (file_open, read_header, read_{file,entry}_symbols): 731: Now return 0 for success, -1 for failure. 732: Failure means do no more for the current file. 733: (modify_relocation): Now just warn if strip a symbol needed 734: for relocation, and warn only once per file. 735: (error_with_file): New function, replaces most fatal_with_file. 736: Print filename first, as in most programs. 737: (fatal_with_file): Deleted. 738: (rewrite_file_symbols): Use perror_file when system call fails. 739: 740: Tue Dec 13 17:16:39 1988 Jay Fenlason (hack at apple-gunkies.ai.mit.edu) 741: 742: * ar.c: Changed pad character after odd-length archive member 743: from \0 to \n so archives can be cmp'd with the output from /bin/ar 744: Added fix for when ranlib is using ar to insert an __.SYMDEF member 745: 746: Tue Dec 13 09:09:27 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 747: 748: * ar.c: conditional #includes for USG. 749: * COFF_ENCAPSULATE conditionals for headers. 750: (extract_member): Don't do fchmod if USG. 751: Alternate USG code to set modtimes of extracted members. 752: (write_archive): Don't do fsync if USG. 753: (make_new_symdefs): Skip encapsulation headers if any. 754: [USG] (bcopy, bzero, bcmp): New fns. 755: 756: * nm.c: Delete all ROBOTUSSIN conditionals and contents. 757: Include types.h. 758: Change SYSV conditionals to USG. 759: * COFF_ENCAPSULATE conditionals for headers. 760: (do_one_file): Skip encapsulation headers if any. 761: (read_header): Likewise. 762: 763: * ld.c: Delete all ROBOTUSSIN conditionals and contents. 764: Change SYSV conditionals to USG. 765: Change HEADER_TYPE back to `struct exec'. 766: (L_SET): Define it if headers don't. 767: * COFF_ENCAPSULATE conditionals for headers. 768: (main): Update text_size differently if encapsulating. 769: (write_header): Write the encapsulation headers if nec. 770: Don't end with padding if encapsulation being done. 771: [USG] (bzero, bcopy, getpagesize): New fns. 772: 773: Tue Dec 6 13:26:56 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) 774: 775: * ld.c (do_file_warnings): Ignored text relocation entries that 776: went through local symbols; any problems with lack of definitions 777: etc. with them would have been caught by the compiler. 778: 779: Mon Dec 5 16:13:22 1988 Jay Fenlason (hack at sugar-bombs.ai.mit.edu) 780: 781: * ar.c (make_new_symdefs): On error, close the input files. 782: 783: Thu Nov 10 18:15:07 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) 784: 785: * ld.c: Put declaration of alloca inside an #ifdef so that it 786: wouldn't mess up on the sparc. 787: 788: * ld.c: Added #define CORE_ADDR for include of symseg.h from gdb 789: and took out TARGET == SUN2 for sun2 INITIALIZE_HEADER. 790: 791: Wed Nov 2 18:43:09 1988 Randall Smith (randy at gluteus.ai.mit.edu) 792: 793: * ld.c: Merged in isi68k port. This included a kludge for symbols 794: starting with _$ (#ifdef DOLLAR_KLUDGE) and addition of the 795: STANDARD_SEARCH_DIRS macro to override the default if it's 796: defined. 797: 798: * ld.c: Added code for the N_WARNING symbol type. If a reference 799: is found to a symbol in an input .o file which contains an 800: N_WARNING symbol, a warning message (the name of the N_WARNING 801: symbol) is printed. This name is treated as a printf format 802: string; the name of the symbol referenced (which caused the 803: warning) is supplied as a single argument to the print which 804: interpets this string. 805: 806: Tue Nov 1 16:57:00 1988 Randall Smith (randy at gluteus.ai.mit.edu) 807: 808: * ld.c: Added code for Sun 2. 809: 810: * ld.c: Modified access to the relocation information to be *much* 811: more general; added in sparc support. This change is a minor 812: performance hit; the perform_relocation routine uses about 0.1 813: seconds more time on linking gdb than did the original ld. 814: (perform_relocation is about 5% of the total time the loader 815: spends). The price of generality. 816: 817: Thu Aug 4 13:20:50 1988 Randy Smith (randy at rice-chex.ai.mit.edu) 818: 819: * Modified ld.c to print only the first 10 unresolved references 820: for each symbol, followed by a message indicating that there are 821: more unresolved references that have not been printed (if indeed 822: there are). Made default behaivior upon errors *not* writing any 823: output file at all. Also added the -noinhibit-exec flag to force 824: writing of an executable when that was desirable. 825: 826: Tue Aug 2 12:04:01 1988 Randy Smith (randy at rice-chex.ai.mit.edu) 827: 828: * Modified ld.c to give line numbers wherever possible on 829: unreferenced symbols. Added a new symbol (N_DSLNE) to allow for 830: the same mapping of data location to line number as is done for 831: text segments by N_SLINE. Added code to sort the relocation 832: entries when it is necessary to output these line numbers. The 833: assumption was made that both N_SLINE and N_DSLNE symbols would 834: always be in order by address. 835: 836: Wed Jul 27 15:13:08 1988 Randy Smith (randy at rice-chex.ai.mit.edu) 837: 838: * Modified ld.c to include a facility for equivalencing two 839: symbols (translating one to another). Modified lib/a.out.h to 840: include a definition of this new symbol. Modified nm.c to 841: recognize this symbol and all of the set element and vector 842: symbols I had added before. 843: 844: Thu Jul 21 17:06:10 1988 Randy Smith (randy at rice-chex.ai.mit.edu) 845: 846: * Modified ld.c to printout source file and line numbers for 847: unresolved references whenever possible (ie. whenever the input 848: file has debugger symbols and the reference is from the text area). 849: 850: Wed Jul 13 17:21:33 1988 Randy Smith (randy at frosted-flakes.ai.mit.edu) 851: 852: * Modified ld.c and a.out.h to handle new types of symbols; the 853: loader can now create "sets" of symbols from entries in its input 854: files. See a.out.h for more info. Also fixed a bug in ld in 855: which references to common areas that we not defined in one pass 856: of the loader caused errors on the next. 857: 858: Sat Jul 2 00:05:44 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 859: 860: * ld.c (symdef_library): Error check was off by one. 861: 862: Mon May 9 12:53:08 1988 Chris Hanson (cph at kleph) 863: 864: * ar.c (replace_members): After updating map, write out 865: `change_map->next' rather than `map', since the latter may be 866: null. 1.1.1.3 ! root 867: ! 868: Local Variables: ! 869: mode: indented-text ! 870: left-margin: 8 ! 871: version-control: never ! 872: End:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.