|
|
1.1.1.2 ! root 1: Fri Mar 10 15:50:45 1989 Randall Smith (randy at sugar-bombs.ai.mit.edu) ! 2: ! 3: * ranlib.c (touch): Created to simply touch an archive (update the ! 4: date on the symdef member). Done here since adding an option to ! 5: ar.c would be a hassle and using the routines in ar.c would ! 6: require doing almost all of the work of an "ar rs x.a" anyway. ! 7: Same result in both cases; differing amounts of time. ! 8: ! 9: Mon Mar 6 15:27:56 1989 Jay Fenlason (hack at apple-gunkies.ai.mit.edu) ! 10: ! 11: * gprof.c (ck_fclose) only fflush() streams opened for writing. ! 12: ! 13: Sun Mar 5 17:13:37 1989 Randall Smith (randy at gluteus.ai.mit.edu) ! 14: ! 15: * ar.c (write_archive): Modified test to write symdef header; ! 16: wasn't being done if the symdef map entry didn't need to be newly ! 17: created. ! 18: ! 19: Fri Mar 3 10:56:55 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 20: ! 21: * *.*, Makefile: Changed to use new wording as directed by the new ! 22: GNU General Public License. ! 23: * COPYING: Created as a link to /gp/rms/COPYING. ! 24: ! 25: Wed Feb 22 04:42:54 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) ! 26: ! 27: * Makefile: Use GNU getopt by preference. ! 28: ! 29: * gprof.c [USG]: Define bcopy as macro. ! 30: ! 31: Tue Feb 21 04:46:44 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) ! 32: ! 33: * ld.c (INITIALIZE_HEADER) [HPUX]: Use N_SET_MACHTYPE. ! 34: ! 35: Sat Feb 18 12:47:36 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 36: ! 37: * Makefile: Added note for using GNU getopt for app routines. ! 38: Linked (symlink) it into this directory. ! 39: ! 40: * ld.c: Added #ifndef sony_news around inclusion of fcntl.h. This ! 41: file duplicates code in sys/file.h on the sony. ! 42: ! 43: * nm.c: Added include of alloca.h on a sun4 and use of ! 44: __builtin_alloca if compiling with GCC. ! 45: ! 46: Sat Feb 18 09:43:51 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) ! 47: ! 48: * ar.c (write_archive): Don't die if info.name is 0 (member deleted). ! 49: (scan): Reverse fread args, so value is right. ! 50: ! 51: Fri Feb 17 05:19:50 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) ! 52: ! 53: * ar.c (extract_members, scan): Open just a FILE *, and pass that. ! 54: (extract_member, print_contents): Expect a FILE *; no need to fdopen. ! 55: ! 56: Thu Feb 16 07:36:03 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) ! 57: ! 58: * gprof.c: Reformatted. ! 59: ! 60: Fri Feb 3 14:28:24 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 61: ! 62: * ld.c (do_warnings): Changed calls to each_full_file to each_file ! 63: (which is what we want, since we are concerned with symbol ! 64: definitions). ! 65: ! 66: * ld.c: Added a parameter MAX_ALIGNMENT, defined in #ifdef sparc ! 67: and by default, to set the maximum necessary alignment for data ! 68: objects on this machine. This is necessary for allocation in the ! 69: bss area. ! 70: (digest_symbols): Made sure that everything allocated had the ! 71: minimum of it's alignment (lowest bit set in the size) or the ! 72: MAX_ALIGNMENT. ! 73: ! 74: Thu Jan 26 13:31:52 1989 Pace Willison (pace at apple-gunkies.ai.mit.edu) ! 75: ! 76: * Makefile: Delete -Dnounderscore, add gprof to USG PROG list ! 77: ! 78: * ar.c (rename for USG): ignore error from first unlink ! 79: ! 80: * gprof.c: COFF_ENCAPSULATE and USG changes. ! 81: ! 82: * ld.c strip.c: Deal with internal labels starting with '.' on ! 83: nounderscore machines and 'L' on normal ones (LPREFIX). ! 84: ! 85: * ld.c(next_debug_entry): Mask n_type field in switch statement ! 86: since it is a char, and some of its values (N_SOL) are > 128, which ! 87: get sign extended on some machines. ! 88: ! 89: * objdump.c: Deal with symbols that have no name; mask fields ! 90: of nlist before printing. ! 91: ! 92: Mon Jan 23 14:08:43 1989 Randall Smith (randy at plantaris.ai.mit.edu) ! 93: ! 94: * ld.c (coptxtrel, copdatrel): Made sure that, when relocation is ! 95: being copied, that N_INDR symbols were properly followed. Also ! 96: made sure that the symbol indicies were correct even in the ! 97: presence of indirection information. ! 98: ! 99: * ld.c (write_rel): When specifying symbol numbers, make sure to ! 100: leave room for the extra undefined ref that will be written for ! 101: the sake of N_INDR entries. ! 102: ! 103: * ld.c (write_syms): Fixed typo; a duplicate of the N_INDR entry ! 104: was being written instead of the undefined ref required. ! 105: ! 106: Tue Jan 17 16:23:56 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 107: ! 108: * strip.c (rename): Arranged to ignore return code from "unlink"; ! 109: file may not be there. ! 110: ! 111: Thu Jan 12 15:24:23 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 112: ! 113: * Makefile: Modified "dist" target so as to get hp-* ! 114: subdirectories. ! 115: ! 116: * strip.c (rename): Added function to mimic BSD system call for ! 117: system V. ! 118: ! 119: Tue Jan 10 19:44:33 1989 Pace Willison (pace at prep.ai.mit.edu) ! 120: ! 121: * Makefile: put -Dnounderscore back for COFF_ENCAPSULATE. ! 122: ! 123: Tue Jan 10 17:58:50 1989 Randall Smith (randy at cream-of-wheat.ai.mit.edu) ! 124: ! 125: * ld.c (linear_library, symdef_library, list_file_locals, ! 126: write_file_syms): Took care to make sure that when the buffer ! 127: pointed to by entry->strings became invalid, entry->strings was ! 128: set to zero (either on a free or a function return if space had ! 129: been allocated through alloca). ! 130: ! 131: * ld.c (getpagesize): Deleted define in hpux dependent section; ! 132: taken care of when compiling on hpux because of define of USG in ! 133: Makefile. ! 134: ! 135: Mon Jan 9 22:49:42 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) ! 136: ! 137: * strip.c (strip_file): Effectively defer certain signals ! 138: while rewriting the file. ! 139: ! 140: Mon Jan 9 09:45:41 1989 Pace Willisson (pace at prep.ai.mit.edu) ! 141: ! 142: * These changes improve support for COFF_ENCAPSULATE, and ! 143: for the future development of the GNU exec header. The ! 144: main change is to rename the exec header field a_magic ! 145: so that it can contain additional information. Now, the ! 146: magic number must be accessed with N_MAGIC(exec), and set ! 147: with N_SET_MAGIC(exec,val). Programs that only need to use ! 148: N_BADMAG will not have to change. Also COFF_ENCAPSULATE will ! 149: no longer use "nounderscore", so that it will be more like ! 150: normal bsd systems. This means gcc must be updated before using ! 151: these new tools. (It is safe to put -Dnounderscore back in ! 152: if you want to use an old gcc for a while.) ! 153: ! 154: * README-ENCAP: new documentation for how to set up to use ! 155: COFF_ENCAPSULATE. ! 156: ! 157: * Makefile: Add target for gnulib. ! 158: Don't define 'nounderscore' (must tell gcc about that too.) ! 159: ! 160: * ar.c: Don't automatically define COFF_ENCAPSULATE. ! 161: ! 162: * nm.c: No need to initialize the header before reading it. ! 163: ! 164: * size.c: Include, sys/types.h, and sys/fcntl.h if USG ! 165: * strip.c: Likewise--types.h before file.h. ! 166: ! 167: * ld.c, objdump.c, robotussin.c: ! 168: Changed to use new exec macros for a_magic. ! 169: ! 170: * libconvert: now takes arguments ! 171: ! 172: * robotussin.c: don't automatically define nounderscore - leave ! 173: that to the makefile, if desired ! 174: ! 175: Fri Jan 6 13:06:37 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 176: ! 177: * ld.c (digest_symbols, write_text, write_data): Changed N_SETV ! 178: from being in the text area to being in the data area. ! 179: * nm.c, a.out.gnu.h: Changed comments to conform with above. ! 180: ! 181: * ld.c (do_file_warnings): Added loop to go through each external ! 182: nlist entry and check for multiple definitions, as well as ! 183: catching any references which weren't caught by the relocation ! 184: pass. ! 185: ! 186: * ld.c (address_to_line): Changed so that it will work (albeit ! 187: slowly) with an address less than the current address. ! 188: (do_file_warnings, do_relocation_warnings): Broke out scan through ! 189: relocation entries into a separate function. Added creation of a ! 190: bitvector with each bit refereing to an nlist entry so that ! 191: do_relocation_warnings could mark which symbol entries it had ! 192: output for undefined references. ! 193: ! 194: Thu Jan 5 20:36:44 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 195: ! 196: * ld.c: Cosmetic changes: Moved helper functions for ! 197: do_file_warnings to before it and modified comments to ! 198: next_debug_symbol and address_to_line. ! 199: ! 200: Wed Jan 4 15:37:52 1989 Randall Smith (randy at gluteus.ai.mit.edu) ! 201: ! 202: * ld.c: Added #define getpagesize() EXEC_PAGESIZE for hpux. ! 203: ! 204: * ld.c (do_warnings): Will now print out all undefined external ! 205: symbols which were not referenced from the text or data sections ! 206: separately. ! 207: (do_file_warnings): Decreases undefined_global_sym_count for each ! 208: symbol printed. ! 209: ! 210: Tue Jan 3 23:43:41 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu) ! 211: ! 212: * Makefile (nm): Link with $(LIBS). ! 213: ! 214: * ld.c (getpagesize): HPUX definition deleted; not needed. ! 215: ! 216: Mon Jan 2 23:04:35 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 217: ! 218: * ld.c (digest_symbols): Modified the creation of set vectors ! 219: to include a zero word after the end of the vector. ! 220: (write_text): Made the same modification of the set vector section ! 221: size. ! 222: ! 223: Sun Jan 1 12:01:22 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 224: ! 225: * ld.c: Fixed typo in description of relocation values, and ! 226: changed note on RELOC_ADD_EXTRA to force is to be an lvalue if ! 227: it's defined. ! 228: (coptxtrel): If a specific relocation entry has just changed from ! 229: external to internal, and we aren't supposed to add in memory on ! 230: the new relocation value, make sure that the value of the symbol ! 231: get's added to the ADD_EXTRA in the relocation value. Otherwise, ! 232: all the work we do in a partial linking will be wasted (will be in ! 233: memory, but will be ignored on the next pass of the linker). ! 234: ! 235: Sat Dec 31 13:13:01 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) ! 236: ! 237: * ld.c: Removed "|| TARGET == SUN2" from line 210; I believe that ! 238: TARGET and SUN2 were both showing up defined as 0 on the sparc, ! 239: which resulted in a redefine of the INITIALIZE_HEADER macro, back ! 240: to sun2 style. ! 241: 1.1 root 242: Thu Dec 29 01:48:03 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 243: 244: * ld.c, ar.c: Don't define COFF_ENCAPSULATE automatically. 245: The recommended Makefile change defines it. 246: 247: * ld.c (alloca): If compiling with GCC, use __builtin_alloca. 248: 249: * robotussin.c: New reformatted version with all variables renamed. 250: 251: * ranlib.c: New file, just runs `ar rs' on each specified file. 252: * Makefile: Special hack to tell ranlib where to find GNU ar. 253: (LIBS): Recommend -lPW on USG; ld needs it for alloca (if not GCC). 254: 255: Sat Dec 24 13:59:09 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 256: 257: * ld.c (error): Start with name of program running. 258: (main): Set `progname' to that name. 259: (digest_symbols): Fix punctuation and spelling in calls to `error'. 260: 261: Tue Dec 20 21:49:46 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 262: 263: * robotussin.c (INPUT_MAGIC): New macro, has the magic number 264: to expect in input files. 265: (nounderscore): New macro; as in ld, define it to inhibit 266: adding underscore to symbols. 267: 268: * Makefile: Don't compile objdump on BSD; N_DATADDR causes trouble. 269: 270: Tue Dec 20 14:57:38 1988 Pace Willisson (pace at prep.at.mit.edu) 271: 272: * objdump.c: New program like the system 5 'dump' program. 273: Documentation will follow... 274: 275: * Makefile: Set up CFLAGS for USG systems. Added target 276: libc.a to do robotussin conversion. Added objdump. 277: 278: * libconvert: Wrote shell script to do robotussin conversion. 279: 280: * ar.c, ld.c: Don't define COFF_ENCAPSULATE if it is already defined. 281: 282: * ld.c: If i386, set a_machtype to M_386. Use a_flags instead 283: of a_encap. Don't compute coff header if it isn't going to 284: get written out. 285: 286: * robotussin.c: Define COFF_ENCAPSULATE. Include a.out.encap.h 287: instead of a.out.h. Check magic number of input 288: file. Skip over optional header, if present. Don't ignore 289: symbols with aux entries (they could be function definitions), 290: instead, ignore symbols beginning with '.' (.text, etc). 291: Don't prepend underscore to externals, since gcc doesn't do 292: it now. Don't run past the end of symbols that are exactly 293: eight characters long. Always write the string table size, 294: even if it is empty. Change relocation types handled from 295: R_PCRBYTE, etc, to R_DIR32 and R_PCRLONG (these are the 296: only two emitted by the system 5 assembler.) 297: 298: * size.c: Include <sys/types.h> so including sys/file.h will 299: not get an error on USG systems. Include fcntl.h on usg systems. 300: 301: * strip.c: Move inclusion of file.h to after types.h. Include 302: fcntl.h. Add defintion of rename. 303: 304: Fri Dec 16 13:55:11 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 305: 306: * size.c: Delete all ROBOTUSSIN conditionals and contents. 307: Change SYSV conditionals to USG. 308: COFF_ENCAPSULATE conditionals for headers. 309: (do_one_file, read_header): Skip encapsulation headers if any. 310: 311: * strip.c: Delete all ROBOTUSSIN conditionals and contents. 312: Change SYSV conditionals to USG. 313: COFF_ENCAPSULATE conditionals for headers. 314: (file_open, read_header): Skip encapsulation headers if any. 315: 316: * strip.c: Change most fatal errors to nonfatal. 317: (file_open, read_header, read_{file,entry}_symbols): 318: Now return 0 for success, -1 for failure. 319: Failure means do no more for the current file. 320: (modify_relocation): Now just warn if strip a symbol needed 321: for relocation, and warn only once per file. 322: (error_with_file): New function, replaces most fatal_with_file. 323: Print filename first, as in most programs. 324: (fatal_with_file): Deleted. 325: (rewrite_file_symbols): Use perror_file when system call fails. 326: 327: Tue Dec 13 17:16:39 1988 Jay Fenlason (hack at apple-gunkies.ai.mit.edu) 328: 329: * ar.c: Changed pad character after odd-length archive member 330: from \0 to \n so archives can be cmp'd with the output from /bin/ar 331: Added fix for when ranlib is using ar to insert an __.SYMDEF member 332: 333: Tue Dec 13 09:09:27 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 334: 335: * ar.c: conditional #includes for USG. 336: * COFF_ENCAPSULATE conditionals for headers. 337: (extract_member): Don't do fchmod if USG. 338: Alternate USG code to set modtimes of extracted members. 339: (write_archive): Don't do fsync if USG. 340: (make_new_symdefs): Skip encapsulation headers if any. 341: [USG] (bcopy, bzero, bcmp): New fns. 342: 343: * nm.c: Delete all ROBOTUSSIN conditionals and contents. 344: Include types.h. 345: Change SYSV conditionals to USG. 346: * COFF_ENCAPSULATE conditionals for headers. 347: (do_one_file): Skip encapsulation headers if any. 348: (read_header): Likewise. 349: 350: * ld.c: Delete all ROBOTUSSIN conditionals and contents. 351: Change SYSV conditionals to USG. 352: Change HEADER_TYPE back to `struct exec'. 353: (L_SET): Define it if headers don't. 354: * COFF_ENCAPSULATE conditionals for headers. 355: (main): Update text_size differently if encapsulating. 356: (write_header): Write the encapsulation headers if nec. 357: Don't end with padding if encapsulation being done. 358: [USG] (bzero, bcopy, getpagesize): New fns. 359: 360: Tue Dec 6 13:26:56 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) 361: 362: * ld.c (do_file_warnings): Ignored text relocation entries that 363: went through local symbols; any problems with lack of definitions 364: etc. with them would have been caught by the compiler. 365: 366: Mon Dec 5 16:13:22 1988 Jay Fenlason (hack at sugar-bombs.ai.mit.edu) 367: 368: * ar.c (make_new_symdefs): On error, close the input files. 369: 370: Thu Nov 10 18:15:07 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) 371: 372: * ld.c: Put declaration of alloca inside an #ifdef so that it 373: wouldn't mess up on the sparc. 374: 375: * ld.c: Added #define CORE_ADDR for include of symseg.h from gdb 376: and took out TARGET == SUN2 for sun2 INITIALIZE_HEADER. 377: 378: Wed Nov 2 18:43:09 1988 Randall Smith (randy at gluteus.ai.mit.edu) 379: 380: * ld.c: Merged in isi68k port. This included a kludge for symbols 381: starting with _$ (#ifdef DOLLAR_KLUDGE) and addition of the 382: STANDARD_SEARCH_DIRS macro to override the default if it's 383: defined. 384: 385: * ld.c: Added code for the N_WARNING symbol type. If a reference 386: is found to a symbol in an input .o file which contains an 387: N_WARNING symbol, a warning message (the name of the N_WARNING 388: symbol) is printed. This name is treated as a printf format 389: string; the name of the symbol referenced (which caused the 390: warning) is supplied as a single argument to the print which 391: interpets this string. 392: 393: Tue Nov 1 16:57:00 1988 Randall Smith (randy at gluteus.ai.mit.edu) 394: 395: * ld.c: Added code for Sun 2. 396: 397: * ld.c: Modified access to the relocation information to be *much* 398: more general; added in sparc support. This change is a minor 399: performance hit; the perform_relocation routine uses about 0.1 400: seconds more time on linking gdb than did the original ld. 401: (perform_relocation is about 5% of the total time the loader 402: spends). The price of generality. 403: 404: Thu Aug 4 13:20:50 1988 Randy Smith (randy at rice-chex.ai.mit.edu) 405: 406: * Modified ld.c to print only the first 10 unresolved references 407: for each symbol, followed by a message indicating that there are 408: more unresolved references that have not been printed (if indeed 409: there are). Made default behaivior upon errors *not* writing any 410: output file at all. Also added the -noinhibit-exec flag to force 411: writing of an executable when that was desirable. 412: 413: Tue Aug 2 12:04:01 1988 Randy Smith (randy at rice-chex.ai.mit.edu) 414: 415: * Modified ld.c to give line numbers wherever possible on 416: unreferenced symbols. Added a new symbol (N_DSLNE) to allow for 417: the same mapping of data location to line number as is done for 418: text segments by N_SLINE. Added code to sort the relocation 419: entries when it is necessary to output these line numbers. The 420: assumption was made that both N_SLINE and N_DSLNE symbols would 421: always be in order by address. 422: 423: Wed Jul 27 15:13:08 1988 Randy Smith (randy at rice-chex.ai.mit.edu) 424: 425: * Modified ld.c to include a facility for equivalencing two 426: symbols (translating one to another). Modified lib/a.out.h to 427: include a definition of this new symbol. Modified nm.c to 428: recognize this symbol and all of the set element and vector 429: symbols I had added before. 430: 431: Thu Jul 21 17:06:10 1988 Randy Smith (randy at rice-chex.ai.mit.edu) 432: 433: * Modified ld.c to printout source file and line numbers for 434: unresolved references whenever possible (ie. whenever the input 435: file has debugger symbols and the reference is from the text area). 436: 437: Wed Jul 13 17:21:33 1988 Randy Smith (randy at frosted-flakes.ai.mit.edu) 438: 439: * Modified ld.c and a.out.h to handle new types of symbols; the 440: loader can now create "sets" of symbols from entries in its input 441: files. See a.out.h for more info. Also fixed a bug in ld in 442: which references to common areas that we not defined in one pass 443: of the loader caused errors on the next. 444: 445: Sat Jul 2 00:05:44 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 446: 447: * ld.c (symdef_library): Error check was off by one. 448: 449: Mon May 9 12:53:08 1988 Chris Hanson (cph at kleph) 450: 451: * ar.c (replace_members): After updating map, write out 452: `change_map->next' rather than `map', since the latter may be 453: null.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.