home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 7
/
FreshFishVol7.bin
/
bbs
/
gnu
/
binutils-1.8.x-src.lha
/
GNU
/
src
/
amiga
/
binutils-1.8.x
/
ChangeLog
< prev
next >
Wrap
Text File
|
1993-09-22
|
54KB
|
1,431 lines
Thu Jun 28 17:03:51 1990 Mike Haertel (mike at ducky)
* ld.c: (compute_mach_o_section_offsets): Bug fix for -r.
(relocate_file_addresses): Replace ~N_EXT with N_TYPE,
undoing earlier change which broke -g.
Wed Jun 20 13:34:11 1990 Mike Haertel (mike at thor.acc.stolaf.edu)
* gprof.c: Make qsort compare functions take const void *
arguments for compatibility with the standard.
Tue Jun 19 19:23:41 1990 Mike Haertel (mike at ducky)
* ld.c: (do_file_warnings, do_relocation_warnings):
Always print the object file name in error messages,
even if we also know a source file name. Use
print_file_name() to properly print the names of
files that came from libraries.
(getpagesize): Fake getpagesize() for sun 4's.
Wed Jun 13 13:11:21 1990 Mike Haertel (mike at ducky)
* Makefile: (ld): Link the demangler.
* cplus-dem.c: Don't include <memory.h> on NeXT.
* ld.c: Include <sys/resource.h> unless USG.
(demangler): New variable; unconditionally set
to cplus_demangle(). This is different from how
ld++ did it, but conditionalizing on whether -lg++
is specified seems too much of a kludge. The
demangler will only demangle names that look like
they came from g++ anyway.
(main): Attempt to raise the stack limit so we
don't barf on large files.
(decode_command): Add new option `-nostdlib', with
new flag `no_standard_dirs'.
(file_open): Eliminate unused variable `p'.
Deal with the case of no standard library dirs.
(enter_file_symbols): Eliminate unused `lowest_set_vector'.
(enter_global_ref): Logically and nlist.n_type with
~N_EXT rather than N_TYPE; otherwise, e.g., <stab.h>'s
N_FUN would get turned into N_TEXT, which we don't want.
(subfile_wanted_p): Eliminate Kingdon's "if the user
declares 'int pipe;' we don't want to get 'pipe()'
from the library" bugfix, because (first of all)
it breaks g++, and secondly, it was generally wrong.
If the user declares "int errno;" and the library
declares "int errno = 0;" we want to get the library's
version. The proper fix will require some thought.
(digest_symbols): Eliminated unused variable `erred'.
(relocate_file_addresses): Use ~N_EXT instead of N_TYPE.
(address_to_line): Likewise.
(do_relocation_warnings): Eliminate unused variables
`next' and `source'. Use the demangler to print names.
(do_file_warnings): Use the demangler when possible.
(do_warnings): Eliminate unused variable `i'.
(initialize_a_out_data_start): If no entry symbol
was given, set it to "start", if sequent.
(perform_relocation): Eliminate variable `data_input_address'
performing copy propogation by hand to the one place it
was used. Get rid of misleading comments.
(coptxtrel): Use ~N_EXT instead of N_TYPE.
(copdatrel): Likewise.
(write_syms): Likewise.
Tue Jun 12 11:16:26 1990 Mike Haertel (mike at ducky)
* Makefile: Use $(CFLAGS) when linking.
* ar.c: (struct member_desc): date is long.
(scan): Fully initialize member_desc.
(delete_from_map): Clobber info.name instead
of unlinking from list.
(update_symdefs): Only install new symdefs for
members that *have* them.
Changes for MACH_O:
(read_header_info): New function.
(make_new_symdefs): Use it.
* gprof.c: fread() returns size_t for ANSI.
Declare qsort() properly for ANSI.
Move #include <assert.h> to the top.
size_t is an unsigned int.
Changes for MACH_O:
(read_header_info): New function.
(main): Use it.
(badsym): Allow N_SECT symbols.
(fatal): Print a space after the colon.
* ld.c: Changes for MACH_O:
(struct file_entry): New fields containing header
info but no explicit struct exec, as well as file type info.
Also section ordinals for Mach-O files.
(output_file_type): New global variable.
(output_style): New global variable, also supersedes
the flag relocatable_output.
Removed a.out specific stuff from global variables.
(output_*_offset): New global variables initialized
according to the output file type.
(decode_command): Remove a.out specific stuff.
(deduce_file_type): New function.
(read_a_out_header): New function.
(read_mach_o_header): New function.
(read_header): Use the above functions.
(read_entry_symbols): Use new file_entry fields;
call translate_mach_o_symbols().
(read_entry_strings): Use new file_entry fields;
no longer deduce symseg presence.
(read_file_symbols): Use deduce_file_type().
(enter_file_symbols): Use new file_entry fields.
Display N_INDR refs differently. Move default: in
display switch out of #ifdef sequent.
(contains_symbol): Use new file_entry fields.
(symdef_library): Use xmalloc(). Remember to
free subentry->strings, but only if we allocated them.
(process_subentry): Use new file_entry fields.
(subfile_wanted_p): Likewise.
(digest_symbols): Use new functions initialize_text_start()
and initialize_data_start(). Remove a.out specific stuff.
(consider_file_section_lengths): Use new file_entry fields.
(relocate_file_addresses): Use new file_entry fields.
(describe_file_sections): Likewise.
(list_file_locals): Likewise.
(next_debug_entry): Likewise.
(init_debug_scan): Likewise.
(do_relocation_warnings): Likewise.
(do_file_warnings): Likewise.
(do_warnings): Use new global output_style.
(initialize_a_out_text_start): New function.
(initialize_a_out_data_start): New function.
(compute_a_out_section_offsets): New function.
(compute_more_a_out_section_offsets): New function.
(write_a_out_header): New function.
(translate_mach_o_symbols): New function.
(translate_mach_o_relocation): New function.
(initialize_mach_o_text_start): New function.
(initialize_mach_o_data_start): New function.
(compute_mach_o_section_offsets): New function.
(compute_more_mach_o_section_offsets): New function.
(write_mach_o_header): New function.
(generate_mach_o_symbols): New function.
(generate_mach_o_relocations): New function.
(initialize_text_start): New function switch on
ouput_file_type.
(initialize_data_start): Likewise.
(compute_section_offsets): Likewise.
(compute_more_section_offsets): Likewise.
(write_header): Switch on output_file_type.
(write_output): Use the above functions. Bug fix
for umask().
(write_text): Use output_text_offset.
(text_offset): No longer used.
(read_file_relocation): Use new file_entry fields.
Call translate_mach_o_relocation() for Mach-O input files.
(copy_text): Likewise.
(write_data): Use output_data_offset.
(copy_data): Use new file_entry fields. Call
translate_mach_o_relocation() for Mach-O input files.
(perform_relocation): Use new file_entry fields.
(write_rel): Use output_*rel_offset.
(coptxtrel): Use new file_entry fields. Call
generate_mach_o_relocations() for Mach-O output files.
(copdatrel): Likewise.
(write_string_table): Use output_strs_{offset,size}.
(write_syms):Use output_{syms,strs}_{offset,size}.
Use n_sect field if N_SECT is defined. Call
generate_mach_o_symbols() for Mach-O output files.
(write_file_syms): Likewise.
(write_symsegs): Use output_symseg_offset.
(write_file_symseg): Use new file_entry fields.
Changes for NeXT:
(N_TXTADDR): Provide version for NeXT.
(N_DATADDR): Provide version for NeXT.
(enter_global_ref): Deal with NeXT N_INDR weirdness.
(compute_a_out_section_offsets): Likewise.
(CPU_TYPE, et al): Mach-O info for the NeXT.
(compute_mach_o_section_offsets): Deal with N_INDR
strangeness.
(write_rel): Likewise.
(coptxtrel): Likewise.
(copdatrel): Likewise.
(write_syms): Likewise.
(symtab_init): Deal with NeXT shared library strangeness.
* nm.c: Changes for MACH_O:
(do_one_file): Remove a.out specific stuff.
(read_header_info): New function.
(do_one_rel_file): Use it.
(read_header): Removed.
(print_one_symbol): Deal with Mach-O section ordinals.
* size.c: Changes for MACH_O:
(do_one_file): Remove a.out specific stuff.
(read_header_info): New function.
(do_one_rel_file): Use it.
(read_header): Removed.
* strip.c: Changes for MACH_O:
(struct file_entry): Remove struct exec; add generic
fields to contain necessary information.
(main): Use new file_entry fields.
(file_open): Remove a.out specific stuff.
(read_header): Use new file_entry fields. Handle
Mach-O files.
(read_entry_symbols): Use new file_entry fields.
(count_file_