a62dd44f9c
avoid warnings from the HP compiler.
1710 lines
68 KiB
Text
1710 lines
68 KiB
Text
Wed Feb 9 21:34:58 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* som.c: Cast return values from BFD memory allocation routines to
|
||
avoid warnings from the HP compiler.
|
||
|
||
Wed Feb 9 12:55:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* coff-alpha.c (alpha_relocate_section): Accept a LITERAL
|
||
reloc on an "ldl" instruction too.
|
||
|
||
* archive.c (bfd_ar_hdr_from_filesystem): Cast status elements
|
||
when passing them to sprintf. Use %ld instead of %d.
|
||
|
||
* coff-rs6000.c (rs6000coff_mkarchive): Return false.
|
||
(rs6000_coff_snarf_ar_hdr): Don't declare errno; it's not used.
|
||
Also removed unused variable namelen.
|
||
(rs6000coff_write_armap): Declare orl_count and stridx parameters.
|
||
|
||
Tue Feb 8 18:00:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* libbfd-in.h (xmalloc): Don't declare parameter type, to avoid
|
||
conflicts.
|
||
* libbfd.h: Rebuilt.
|
||
|
||
Tue Feb 8 15:55:50 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* coff-alpha.c (reloc_nil): New function.
|
||
(alpha_howto_table): Use it as special_function to prevent certain
|
||
relocs from being adjusted by bfd_perform_relocation. IGNORE
|
||
reloc should be partial_inplace.
|
||
(alpha_ecoff_get_relocated_section_contents): Accept a LITERAL
|
||
reloc on an "ldl" instruction too.
|
||
|
||
Tue Feb 8 00:32:28 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
|
||
|
||
* elf32-hppa.c (CURRENT_STUB_OFFSET, hppa_elf_build_arg_reloc_stub,
|
||
hppa_elf_build_long_branch_stub): Cast to char * instead of int
|
||
before performing pointer arithmetic.
|
||
|
||
Mon Feb 7 20:56:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config.bfd (hppa*-*-osf*): Use bfd_name hppaosf for this
|
||
configuration.
|
||
(hppa*-*-*elf*): This configuration used hppa-elf now.
|
||
|
||
* som.c: This file is also used for HOST_HPPAOSF.
|
||
|
||
* targets.c (bfd_target_vector): Enable som_vec for HOST_HPPAOSF.
|
||
|
||
* hosts/hppaosf.h: New host configuration file.
|
||
|
||
* config/hppabsd.mt (SELECT_VECS): Add bfd_elf32_hppa_vec as
|
||
BSD handles both SOM and ELF object files.
|
||
|
||
* config/hppaosf.mh (HDEFINES): Delete. No longer needed.
|
||
(RANLIB): Doesn't do anything, define it to be "echo".
|
||
|
||
* config/hppaosf.mt: New target makefile fragment for a PA running
|
||
OSF1.
|
||
|
||
Mon Feb 7 15:02:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* archures.c (enum bfd_architecture): Added bfd_arch_powerpc.
|
||
(archures_init_table): If SELECT_ARCHITECTURES is not defined,
|
||
added bfd_powerpc_arch.
|
||
* bfd-in2.h: Rebuilt.
|
||
* cpu-powerpc.c: New file.
|
||
* Makefile.in (ALL_MACHINES, CFILES): Added cpu-powerpc.c.
|
||
Rebuilt dependencies.
|
||
|
||
* elfcode.h (bfd_section_from_shdr): Get vma and alignment_power
|
||
of an SHT_STRTAB section from sh_addr and sh_addralign, rather
|
||
than just setting them to zero.
|
||
|
||
Sun Feb 6 20:04:10 1994 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* elfcode.h (prep_headers, swap_out_syms): Check for NULL return
|
||
from bfd_new_strtab.
|
||
(elf_compute_section_file_positions): Check for false return from
|
||
swap_out_syms.
|
||
|
||
* linker.c (default_indirect_link_order): Check for NULL return
|
||
from bfd_get_relocated_section_contents.
|
||
|
||
* syms.c: Make example application in doc call xmalloc, not
|
||
bfd_xmalloc.
|
||
|
||
* aoutx.h (NAME(aout,slurp_symbol_table),
|
||
aout_link_get_symbols, NAME(aout,link_hash_table_create)):
|
||
* bout.c (b_out_slurp_reloc_table, b_out_squirt_out_relocs):
|
||
* ecoff.c (ecoff_bfd_link_hash_table_create):
|
||
* ecofflink.c (bfd_ecoff_debug_init):
|
||
* format.c (bfd_check_format_matches):
|
||
* linker.c (_bfd_generic_link_hash_table_create):
|
||
(_bfd_generic_final_link):
|
||
* reloc16.c (bfd_coff_reloc16_relax_section):
|
||
(bfd_coff_reloc16_get_relocated_section_contents):
|
||
* elf32-hppa.c (hppa_elf_build_arg_reloc_stub):
|
||
* elf32-mips.c (mips_elf_final_link):
|
||
* elfcode.h (bfd_new_strtab):
|
||
(bfd_add_2_to_strtab):
|
||
(elf_slurp_symbol_table):
|
||
(elf_corefile_note):
|
||
* libbfd.c (bfd_zmalloc):
|
||
Use malloc and check the result, instead of bfd_xmalloc.
|
||
|
||
Sat Feb 5 12:39:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||
|
||
* config.bfd: Put m68*-*-sysv* line after m68*-*-sysv4*.
|
||
|
||
Sat Feb 5 05:32:44 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
|
||
|
||
* srec.c (srec_write_record): Put CONST keyword for "src" before
|
||
"unsigned", some compilers don't like it after "unsigned".
|
||
* libcoff.h, libcoff-in.h (bfd_perform_slip): Rename "value" to
|
||
"val" in prototype declaration because some compilers don't like
|
||
arguments whose names are the same as types.
|
||
|
||
Sat Feb 5 01:14:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* aoutx.h (aout_link_check_ar_symbols): Correct test for whether
|
||
object file defines symbol. Also, if skipping a symbol, skip the
|
||
second symbol of a N_WARNING or N_INDR symbol as well.
|
||
|
||
Fri Feb 4 23:55:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
Add basic support for writing RS/6000 XCOFF files.
|
||
* coff-rs6000.c (dummy_reloc): Removed.
|
||
(rs6000coff_howto_table): Defined XCOFF relocs.
|
||
(RTYPE2HOWTO): Defined to use rs6000coff_rtype2howto.
|
||
(rs6000coff_rtype2howto): New function.
|
||
(coff_bfd_reloc_type_lookup): Defined to use
|
||
rs6000coff_reloc_type_lookup.
|
||
(rs6000coff_reloc_type_lookup): New function.
|
||
(SELECT_RELOC): Defined to set r_type and r_size fields.
|
||
(COFF_LONG_FILENAMES): Defined.
|
||
* coffcode.h (combined_entry_type): Changed fix_tag and fix_end
|
||
fields to bitfields. Added fields fix_value and fix_scnlen.
|
||
(sec_to_styp_flags): If STYP_DEBUG is defined, use it rather than
|
||
STYP_INFO for the type of a section named .debug.
|
||
(coff_add_missing_symbols): Don't define if RS6000COFF_C.
|
||
(coff_write_object_contents): If RS6000COFF_C, don't call
|
||
coff_add_missing_symbols.
|
||
(coff_slurp_symbol_table): If RS6000COFF_C, then if the last aux
|
||
entry has type STY_LD change the x_scnlen into a pointer to a
|
||
symbol and set fix_scnlen. Also, for a C_BSTAT symbol, change the
|
||
value into a pointer to a symbol and set fix_value.
|
||
* libcoff.h: Rebuilt.
|
||
* coffgen.c (coff_mangle_symbols): Reindent. If fix_value is set,
|
||
get the symbol offset. Likewise for fix_scnlen.
|
||
(string_size): Change type to bfd_size_type.
|
||
(debug_string_size, debug_string_section): New static variables.
|
||
(coff_fix_symbol_name): If bfd_coff_symname_in_debug returns true,
|
||
write the symbol name into the .debug section; assume that the
|
||
section has already been created with the right size.
|
||
(coff_write_symbols): Initialize debug_string_size to 0. If
|
||
bfd_coff_symname_in_debug returns true, don't put symbol name in
|
||
usual string table. After writing out all symbols, if
|
||
debug_string_size is not 0, check that it matches the size of the
|
||
.debug section.
|
||
(coff_get_normalized_symtab): Clear new fix_value and fix_scnlen
|
||
fields. If the string offset is 0, always use an empty string as
|
||
the name.
|
||
(coff_make_empty_symbol): Zero out the symbol structure.
|
||
* reloc.c (bfd_perform_relocation): Work around one gross hack
|
||
with another: actually look at the target name to avoid the broken
|
||
COFF check.
|
||
(bfd_reloc_code_real_type): Add BFD_RELOC_PPC_B26,
|
||
BFD_RELOC_PPC_BA26 and BFD_RELOC_PPC_TOC16.
|
||
* bfd-in2.h: Rebuilt.
|
||
|
||
Fri Feb 4 17:28:32 1994 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* libbfd.c (bfd_zmalloc): Call bfd_xmalloc instead of malloc.
|
||
(bfd_xmalloc, bfd_xmalloc_by_size_t): Functions deleted.
|
||
* libbfd-in.h: Define them as macros calling xmalloc and declare
|
||
xmalloc.
|
||
* libbfd.h: Rebuilt.
|
||
|
||
Thu Feb 3 16:49:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* ecofflink.c (bfd_ecoff_debug_externals): If a small undefined
|
||
symbol has a value in the ECOFF symbol but not in the BFD symbol,
|
||
keep the value in the ECOFF symbol. This helps gas.
|
||
|
||
* linker.c (_bfd_generic_link_output_symbols,
|
||
_bfd_generic_link_write_global_symbol): Don't require that all
|
||
references to a common symbol be themselves common symbols.
|
||
|
||
* aoutx.h (aout_reloc_index_to_section): Handle N_UNDF.
|
||
|
||
Wed Feb 2 20:37:19 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||
|
||
* libbfd.c, bfd-in.h, hosts/alphaosf.h, hosts/sparc-ll.h, aoutf1.h,
|
||
sparclynx.c, Makefile.in: Change HOST_64_BIT to BFD_HOST_64_BIT.
|
||
* bfd-in2.h: Rebuilt.
|
||
|
||
Wed Feb 2 12:30:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* coffswap.h (coff_swap_reloc_out): If RS6000COFF_C, handle type
|
||
and size correctly.
|
||
(coff_swap_aux_in): If RS6000COFF_C, change x_csect.x_scnlen to
|
||
x_csect.x_scnlen.l to match change in coff/internal.h.
|
||
(coff_swap_aux_out): Likewise.
|
||
|
||
* coff-mips.c (mips_ecoff_backend_data), coff-alpha.c
|
||
(alpha_ecoff_backend_data): Change casts of aux_in and aux_out
|
||
fields to match yesterday's changes.
|
||
|
||
* coffcode.h (coff_write_relocs): If SELECT_RELOC is defined, pass
|
||
in the internal_reloc itself, not the type.
|
||
* coff-apollo.c, coff-h8300.c, coff-h8500.c, coff-i386.c,
|
||
coff-m68k.c, coff-sh.c, coff-we32k.c, coff-z8k.c: Changed
|
||
definition of SELECT_RELOC accordingly.
|
||
|
||
Tue Feb 1 12:05:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* coffcode.h (bfd_coff_backend_data): Added new arguments to
|
||
_bfd_coff_swap_aux_in and _bfd_coff_swap_aux_out: aux index number
|
||
and number of aux entries.
|
||
(bfd_coff_swap_aux_in, bfd_coff_swap_aux_out): Changed
|
||
accordingly.
|
||
* libcoff.h: Rebuilt.
|
||
* coffswap.h (coff_swap_aux_in, coff_swap_aux_out): Accept new
|
||
arguments. If RS6000COFF_C, only treat C_EXT and C_HIDEXT
|
||
specially if this is the last aux entry.
|
||
* coffgen.c (coff_write_symbol, coff_get_normalized_symtab): Pass
|
||
new arguments to swap_aux functions.
|
||
|
||
Sun Jan 30 15:14:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* gen-aout.c (main): Set DEFAULT_ARCH based on preprocessor macros
|
||
(only testing for m68k and vax at the moment); do verify that the
|
||
preprocessor didn't trash the arch name inside the string version.
|
||
Don't print out "pagesize =" line that prevents output from
|
||
compiling. Derive BYTES_IN_WORD and ARCH values from sizeof
|
||
results.
|
||
* Makefile.in (aout-params.h): Pass gen-aout a dummy target name.
|
||
(check, installcheck): Identify directory in "no testsuites"
|
||
message.
|
||
|
||
Sun Jan 30 13:25:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* aoutx.h (aout_link_write_symbols): Write out correct value for
|
||
object file symbol.
|
||
|
||
Fri Jan 28 18:34:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* hosts/vaxbsd.h (HOST_STACK_END_ADDR): Vax BSD doesn't define
|
||
KERNBASE, so hard-code 0x80000000 instead.
|
||
|
||
Thu Jan 27 13:54:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* linker.c (generic_link_add_symbol_list): If symbol is common,
|
||
set the BSF_OLD_COMMON flag.
|
||
|
||
Wed Jan 26 13:47:15 1994 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* format.c (bfd_check_format_matches): Put the new entry in the
|
||
correct element of matching_vector.
|
||
|
||
Tue Jan 25 11:43:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||
|
||
* som.c, som.h (bfd_som_set_section_attributes,
|
||
bfd_som_set_subsection_attributes): Change parameters from char
|
||
to int. Following a prototype with an old-style function definition
|
||
in the presence of widened parameters is a GCC-ism not supported
|
||
by the HP compiler in ANSI mode.
|
||
|
||
Tue Jan 25 11:46:46 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* reloc.c (bfd_get_reloc_size): Size of type -2 is 4 bytes, not 2.
|
||
|
||
* hp300hpux.c (MY(write_object_contents)): Write out the symbols
|
||
before writing out the relocs, so that the right symbol indices
|
||
are used.
|
||
|
||
* archive.c (do_slurp_bsd_armap, bfd_slurp_bsd_armap_f2): Do not
|
||
try to overlay the internal carsyms on the external symdefs. That
|
||
can not work if the size of a host pointer is larger than 4 bytes.
|
||
|
||
* format.c (bfd_check_format_matches): Cast result of
|
||
bfd_xmalloc_by_size_t.
|
||
* opncls.c (_bfd_new_bfd): Avoid ANSI C prototype.
|
||
|
||
* archive.c: Reindented to GNU standards.
|
||
|
||
Mon Jan 24 14:41:23 1994 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* opncls.c (_bfd_new_bfd, _bfd_new_bfd_contained_in): Add
|
||
"_bfd_" to function names.
|
||
* archive.c (_bfd_create_empty_archive_element_shell),
|
||
libbfd-in.h: Change callers.
|
||
|
||
* libbfd.c (bfd_zmalloc): Renamed from zalloc.
|
||
* libbfd.c (bfd_add_to_string_table),
|
||
trad-core.c (trad_unix_core_file_p),
|
||
targets.c (bfd_target_list),
|
||
ptrace-core.c (ptrace_unix_core_file_p),
|
||
opncls.c (new_bfd), libbfd-in.h,
|
||
ieee.c (ieee_make_empty_symbol),
|
||
elf32-hppa.c (hppa_elf_stub_branch_reloc),
|
||
(hppa_elf_stub_reloc): Change callers.
|
||
* libbfd.h: Regenerated.
|
||
|
||
* archive.c (_bfd_look_for_bfd_in_cache): Add "_bfd_" to name.
|
||
(_bfd_get_elt_at_filepos),
|
||
coff-rs6000.c (rs6000coff_get_elt_at_filepos), libbfd-in.h:
|
||
Change callers.
|
||
|
||
* format.c (bfd_check_format_matches), libbfd-in.h, targets.c,
|
||
elfcode.h (elf_object_p): Rename target_vector to bfd_target_vector
|
||
and default_vector to bfd_default_vector.
|
||
* libbfd.h: Regenerated.
|
||
|
||
* format.c (bfd_check_format_matches): New function.
|
||
(bfd_check_format): Call it.
|
||
(bfd_matching_formats): Function removed.
|
||
* targets.c: Replace the vector added on Jan 21 with a count of
|
||
entries in default_vector.
|
||
* bfd-in2.h: Regenerated.
|
||
|
||
Mon Jan 24 12:38:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* coff-alpha.c (alpha_ecoff_object_p): New function. Set size of
|
||
.pdata section based on lnnoptr field, not section header.
|
||
(alpha_relocate_section): Don't bother to check if r_symndx >= 0,
|
||
since it is unsigned.
|
||
(ecoffalpha_little_vec): Use alpha_ecoff_object_p rather than
|
||
coff_object_p.
|
||
* ecoff.c (ecoff_new_section_hook): Set alignment_power field of
|
||
.pdata section to 3.
|
||
(ecoff_compute_section_file_positions): Save the size of the
|
||
.pdata section in the line_filepos field, and actually align the
|
||
.pdata section to an alignment power of 4.
|
||
(ecoff_compute_reloc_file_positions): Set output_has_begun after
|
||
calling ecoff_compute_section_file_positions.
|
||
(ecoff_write_object_contents): Set s_lnnoptr for the .pdata
|
||
section from the line_filepos field. Set vstamp for the optional
|
||
header from the vstamp of the symbolic header.
|
||
(ecoff_bfd_final_link): Set vstamp of the symbolic header to the
|
||
vstamp used by the first object file in the link.
|
||
|
||
* ecofflink.c (ecoff_align_debug): Align RFDs to debug_align.
|
||
|
||
* linker.c (generic_link_check_achive_element): Set SEC_ALLOC flag
|
||
for a created common section.
|
||
(_bfd_generic_link_add_one_symbol): Likewise.
|
||
|
||
* elfcode.h (swap_out_syms): Use elf_section_from_bfd_section to
|
||
get the index of a common section, rather than always using
|
||
SHN_COMMON (MIPS has multiple common sections).
|
||
|
||
* elf32-hppa.c (hppa_elf_gen_reloc_type): Typo (== for =).
|
||
|
||
* bfd/aoutx.h (aout_link_input_section_std,
|
||
aout_link_input_section_ext): Pass additional arguments to
|
||
reloc_overflow callback.
|
||
* coff-alpha.c (alpha_ecoff_get_relocated_section_contents,
|
||
alpha_relocat_section): Likewise.
|
||
* coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
|
||
* coff-h8500.c (extra_case): Likewise.
|
||
* coff-mips.c (mips_relocate_section): Likewise.
|
||
* coff-z8k.c (extra_case): Likewise.
|
||
* elf32-hppa.c (hppa_elf_stub_finish): Likewise.
|
||
* reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
|
||
|
||
* bout.c (calljx_callback, callj_callback): Use get_value to get
|
||
the symbol value and check for undefined symbols.
|
||
(get_value): If the symbol is undefined, look it up in the linker
|
||
hash table.
|
||
(b_out_get_relocated_section_contents): For PCREL24 and PCREL13
|
||
use get_value to get the symbol value and check for undefined
|
||
symbols.
|
||
* reloc16.c (bfd_coff_reloc16_get_value): If the symbol is
|
||
undefined, look it up in the linker hash table.
|
||
|
||
* aoutx.h (translate_symbol_table): The string index 0 has a
|
||
special meaning for normal symbols, but not for dynamic symbols.
|
||
|
||
Sat Jan 22 12:26:01 1994 Stu Grossman (grossman at cygnus.com)
|
||
|
||
* sparclynx.c: Setup appropriate macros to enable core file
|
||
support.
|
||
|
||
Fri Jan 21 16:25:35 1994 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* targets.c: Add a vector of matching format names.
|
||
* format.c (bfd_matching_formats): New function to return it.
|
||
(bfd_check_format): Set it.
|
||
* bfd-in2.h: Regenerated.
|
||
|
||
* bfd-in.h: Remove decls of bfd_ec type and error printing functions.
|
||
Remove decl of type symclass; wasn't used.
|
||
* bfd.c: Document error handling, including code fragments
|
||
containing the error decls that were in bfd-in.h.
|
||
Remove DEFUNs.
|
||
* bfd-in2.h: Regenerated.
|
||
|
||
Fri Jan 21 14:11:16 1994 Sean Fagan (sef@cygnus.com)
|
||
|
||
* nlmcode.h, liblnm.h, nlm32-alpha.c nlm32-i386.c nlm32-sparc.c:
|
||
The sparc (and possibly other?) NLM format requires a different
|
||
way to write exports, so add a write_export field to the backend
|
||
data (and set it to NULL for everything but the sparc).
|
||
|
||
Fri Jan 21 14:11:16 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||
|
||
* sunos.c (MY(read_dynamic_relocs)): Compare info->dynrel with NULL,
|
||
not (struct external_nlist *) NULL. info->dynrel is a PTR, not
|
||
a struct external_nlist *.
|
||
|
||
Fri Jan 21 09:29:01 1994 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* bfd.c: Remove error strings for errors removed below.
|
||
* aoutx.h (translate_to_native_sym_flags), bfd-in.h (bfd_ec),
|
||
oasys.c (oasys_write_sections): Rename
|
||
bfd_error_nonrepresentable_section to nonrepresentable_section.
|
||
None of the other bfd error names start with "bfd_error".
|
||
Remove errors symbol_not_found and no_relocation_info, which seem
|
||
to be unused.
|
||
* bfd-in2.h: Regenerated.
|
||
|
||
Fri Jan 21 01:11:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* bfd.c (bfd_get_gp_size): Added support for ELF.
|
||
|
||
* syms.c (BSF_DYNAMIC): New symbol flag.
|
||
(bfd_print_symbol_vandf): Print it.
|
||
* bfd-in2.h: Rebuilt.
|
||
* libaout.h (struct aout_backend_data): New read_dynamic_symbols
|
||
and read_dynamic_relocs fields.
|
||
(struct aoutdata): New dynamic_info field.
|
||
(obj_aout_dynamic_info): New accessor macro.
|
||
* sunos.c (struct sunos_dynamic_info): New structure.
|
||
(sunos_read_dynamic_info, MY(read_dynamic_symbols),
|
||
MY(read_dynamic_relocs)): New functions to read dynamic symbols
|
||
and relocs.
|
||
* aoutx.h (NAME(aout,some_aout_object_p)): If the object is
|
||
dynamically linked, set SEC_RELOC for both the .text and .data
|
||
sections.
|
||
(translate_from_native_sym_flags): Don't set BSF_LOCAL for an
|
||
undefined symbol.
|
||
(translate_symbol_table): New function, split out of
|
||
slurp_symbol_table; set the BSF_DYNAMIC flag appropriately.
|
||
(NAME(aout,slurp_symbol_table)): Read dynamic symbols, if any.
|
||
(NAME(aout,slurp_reloc_table)): Read dynamic relocs, if any.
|
||
(NAME(aout,get_reloc_upper_bound)): Include dynamic reloc count in
|
||
return value.
|
||
* aoutf1.h (NAME(aout,sunos4_write_object_contents)): Don't write
|
||
out dynamic symbols or relocs against reloc symbols, since they
|
||
are already in the .text section and we wouldn't know where to
|
||
write them anyhow.
|
||
(sunos4_aout_backend): Initialize read_dynamic_symbols and
|
||
read_dynamic_relocs fields.
|
||
* aout-target.h (MY(backend_data)): Initialize
|
||
read_dynamic_symbols and read_dynamic_relocs fields.
|
||
|
||
Thu Jan 20 20:57:27 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* hosts/alphaosf.h (uint64e_type, uint64_type, int64_type): Delete
|
||
typedefs, since HOST_64_BIT will take care of defining them in
|
||
bfd.h.
|
||
|
||
Wed Jan 19 17:28:59 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/alphaosf.mh (HDEFINES): Don't define HOST_64_BIT here;
|
||
that's dealt with elsewhere.
|
||
* hosts/alphaosf.h (sprintf_vma, fprintf_vma): New macros.
|
||
(uint64_typeHIGH, uint64_typeLOW): Comment with HOST_64_BIT so
|
||
they get copied to bfd.h.
|
||
|
||
* reloc.c (enum bfd_reloc_code_real): Add some Alpha relocation
|
||
types. Reorganized some of the existing ones.
|
||
* coff-alpha.c (alpha_howto_table): Construct 64-bit negative one
|
||
values in case of compilation on a 32-bit machine. Fix pcrel
|
||
fields of some reloc types.
|
||
(alpha_bfd_reloc_type_lookup): Handle more relocation types.
|
||
|
||
* bfd-in.h (uint64_typeHIGH, uint64_typeLOW): Supply default
|
||
definitions when not defined, regardless of whether uint64_type is
|
||
a defined macro or not.
|
||
(fprintf_vma, sprintf_vma): Define only if fprintf_vma is not
|
||
already defined.
|
||
|
||
Wed Jan 19 00:02:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* aoutx.h (translate_to_native_sym_flags): Set the type of a
|
||
BSF_WARNING symbol to N_WARNING.
|
||
|
||
Tue Jan 18 16:43:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* aoutx.h (aout_link_add_symbols): Increment sym_hash as well as p
|
||
for an indirect or warning symbol.
|
||
(aout_link_write_symbols): Update sym_hash with the target of an
|
||
indirect or warning symbol. If an indirect symbol is defined,
|
||
output the calculated value and don't output the target symbol.
|
||
|
||
Tue Jan 18 03:54:59 1994 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* aoutx.h (translate_from_native_sym_flags): Give warning symbols
|
||
an (unused) nonzero section value, needed for check below.
|
||
|
||
Mon Jan 17 15:12:07 1994 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* aoutx.h (translate_from_native_sym_flags,
|
||
aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like
|
||
N_SET[ABDT].
|
||
|
||
Fri Jan 14 16:45:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* elfcode.h (elf_object_p): If there is a SHT_DYNAMIC section, set
|
||
the DYNAMIC flag for the BFD.
|
||
(NAME(bfd_elf,write_object_contents)): Don't try to write out a
|
||
BFD with the DYNAMIC flag set, since we don't generate the program
|
||
header table correctly.
|
||
|
||
Fri Jan 14 01:04:36 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
|
||
|
||
* elfcode.h (elf_slurp_symbol_table): Free x_symp at the end
|
||
of the function to avoid storage leak.
|
||
|
||
Thu Jan 13 23:07:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* ecoff.c (ecoff_link_write_external): An ifd can be -1.
|
||
|
||
Thu Jan 13 12:33:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* som.c (som_set_reloc_info): Provide a default symbol for
|
||
relocations which don't actually have an associated symbol.
|
||
|
||
* som.c (hppa_som_reloc): Add new "error message" argument.
|
||
|
||
Wed Jan 12 13:36:43 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
|
||
|
||
Enable gdb to write to core files on more core file readers.
|
||
* libbfd.c (bfd_generic_set_section_contents): Remove range check
|
||
for section size, it is already done in bfd_set_section_contents
|
||
with bfd_get_section_size_now.
|
||
* aix386-core.c, hppabsd-core.c, hpux-core.c, irix-core.c,
|
||
osf-core.c, ptrace-core.c, trad-core.c (*_set_section_contents):
|
||
Use bfd_generic_set_section_contents instead of bfd_false.
|
||
|
||
Wed Jan 12 15:31:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* linker.c: Added initial documentation.
|
||
|
||
* linker.c (default_indirect_link_order): Don't expect space for
|
||
output relocations if there aren't any input relocations.
|
||
|
||
Tue Jan 11 14:37:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* aoutx.h (NAME(aout,final_link)): Set a_entry before computing
|
||
file offsets.
|
||
|
||
* elfcode.h (swap_out_syms): A common symbol is STT_OBJECT, not
|
||
STT_NOTYPE.
|
||
|
||
Tue Jan 11 09:10:56 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||
|
||
* config.bfd: Use ELF, not COFF for m88*-*-dgux*.
|
||
Combine m88k-*-* and m88110-*-* cases into m88*-*-*.
|
||
|
||
Tue Jan 11 00:07:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* ecofflink.c: Extensive changes to compress and merge debugging
|
||
information, and to write some of out directly rather than saving
|
||
it in memory. Several new functions and structures, and new
|
||
arguments to existing functions.
|
||
* ecoff.c (ecoff_compute_reloc_file_positions): Compute
|
||
sym_filepos as well.
|
||
(ecoff_get_extr): Use ifdmap instead of ifdbase.
|
||
(ecoff_write_object_contents): Don't compute sym_filepos here.
|
||
Only output symbols if outsymbols is not NULL.
|
||
(ecoff_bfd_final_link): Adjust for changes in ecoff_debug_info and
|
||
bfd_ecoff_debug functions. Write out debugging information here.
|
||
(ecoff_final_link_debug_accumulate): Adjust for changes in
|
||
bfd_ecoff_debug functions.
|
||
(ecoff_link_write_external): Use ifdmap rather than ifdbase.
|
||
* elf32-mips.c (mips_elf_read_ecoff_info): Read external symbols
|
||
first, to put them in the first memory buffer. Clear fdr field.
|
||
(mips_elf_get_extr): Use pointer to unswapped external symbol.
|
||
(mips_elf_final_link): Adjust for changes in bfd_ecoff functions.
|
||
Preserve .text, .data and .bss even if they are empty. Save
|
||
pointer to unswapped external symbol rather than copying it.
|
||
Don't free up the external symbols.
|
||
* libelf.h (elf_symbol_type): Change mips_extr to PTR.
|
||
* bfd-in.h (bfd_ecoff_debug_init, bfd_ecoff_debug_free): Declare.
|
||
(bfd_ecoff_debug_accumulate): Update declaration.
|
||
(bfd_ecoff_debug_accumulate_other): Rename declaration from
|
||
bfd_ecoff_debug_link_other and update.
|
||
(bfd_ecoff_write_accumulated_debug): Declare.
|
||
* bfd-in2.h: Rebuilt.
|
||
* Makefile.in: Rebuilt dependencies.
|
||
|
||
Mon Jan 10 20:46:53 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||
|
||
* Makefile.in (install): Remove "@" which follows a backslash. In
|
||
this position it just causes errors, not suppresses echoes.
|
||
|
||
Mon Jan 10 09:06:21 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* som.c (hppa_som_gen_reloc_type): Fix handling of LT and RT
|
||
field selectors.
|
||
|
||
Sun Jan 9 04:32:25 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
* config/i386-netbsd.mt (SELECT_VECS): Include i386bsd_vec.
|
||
|
||
Fri Jan 7 10:27:27 1994 David J. Mackenzie (djm@rtl.cygnus.com)
|
||
|
||
* aoutx.h (adjust_z_magic): Don't merge the start of bss with the
|
||
end of data if they are not contiguous.
|
||
|
||
* aoutf1.h (sunos4_aout_backend): Comment the fields' meanings.
|
||
|
||
Fri Jan 7 15:40:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* ecoff.c (ecoff_mkobject_hook): Don't set SEC_SHARED_LIBRARY flag
|
||
for .reginfo section here.
|
||
(ecoff_new_section_hook): Set it here instead.
|
||
|
||
Fri Jan 7 10:29:27 1994 Stan Shebs (shebs@andros.cygnus.com)
|
||
|
||
* bfd-in.h: (bfd_boolean): Add workaround for systems that also
|
||
define true and false as enums.
|
||
(ALMOST_STDC): Add as alternative to __STDC__.
|
||
* bfd-in2.h: Rebuilt.
|
||
* syms.c (bfd_print_symbol_vandf): Convert a PTR to FILE*.
|
||
|
||
Thu Jan 6 14:24:44 1994 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* aoutx.h (translate_to_native_sym_flags): Catch the case where
|
||
there is no output section.
|
||
|
||
Thu Jan 6 14:37:42 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* nlmcode.h (nlm_object_p): If we can't read the fixed header,
|
||
count it as a wrong format error, not a system call error, since
|
||
the object file might simply be too small.
|
||
|
||
* targets.c (target_vector): Added nlm32_alpha_vec inside #ifdef
|
||
BFD64.
|
||
* Makefile.in (BFD32_BACKENDS): Remove nlm32-alpha.o.
|
||
(BFD64_BACKENDS): Add nlm32-alpha.o. It depends on 64 bit
|
||
support, even though it is for an Alpha in 32 bit mode.
|
||
* configure.in (nlm32_alpha_vec): Set target64 to true.
|
||
|
||
* nlm32-gen.c, nlm64-gen.c: Removed. All nlm targets are
|
||
different, so there is no point to providing a generic one.
|
||
* libnlm.h: Don't bother to check for nlm_backend(bfd) being NULL
|
||
in the backend accessor macros; that should no longer be possible.
|
||
* targets.c (target_vector): Removed nlm32_big_generic_vec,
|
||
nlm64_big_generic_vec, nlm64_little_generic_vec.
|
||
* configure.in (nlm32_big_generic_vec, nlm32_little_generic_vec,
|
||
nlm64_big_generic_vec, nlm64_little_generic_vec): Removed.
|
||
* Makefile.in: Rebuilt dependencies, and
|
||
(BFD32_BACKENDS): Removed nlm32-gen.o.
|
||
(BFD64_BACKENDS): Removed nlm64-gen.o.
|
||
(CFILES): Removed nlm32-gen.c and nlm64-gen.c.
|
||
|
||
* hp300hpux.c (ARCH_SIZE): Define before including aoutx.h.
|
||
|
||
* linker.c (_bfd_generic_link_add_one_symbol): Add constructor and
|
||
bitsize arguments. Changed all callers (aoutx.h).
|
||
* libbfd-in.h (_bfd_generic_link_add_one_symbol): Add constructor
|
||
and bitsize arguments to declaration.
|
||
* libbfd.h: Rebuilt.
|
||
|
||
* ecoff.c: First cut at new style of linker backend for
|
||
ECOFF--added a bunch of functions. Also:
|
||
(ecoff_sec_to_styp_flags): Set flags for .pdata and .xdata.
|
||
(ecoff_slurp_symbolic_header): New function.
|
||
(ecoff_slurp_symbolic_info): Call ecoff_slurp_symbolic_header.
|
||
(ecoff_compute_reloc_file_positions): New function.
|
||
(ecoff_set_section_contents): Get out quickly if count is zero.
|
||
Check errors better.
|
||
(ecoff_write_object_contents): Put .xdata section in data segment.
|
||
Call ecoff_compute_reloc_file_positions. Don't output relocs or
|
||
external symbols if outsymbols is NULL.
|
||
(ecoff_bfd_final_link): Completely rewritten.
|
||
* libecoff.h: Include bfdlink.h.
|
||
(struct ecoff_backend_data): Add relocate_section field.
|
||
(ecoff_data_type): Add sym_hashes and symndx_to_section fields.
|
||
(struct ecoff_link_hash_entry): Define.
|
||
(struct ecoff_link_hash_table): Define.
|
||
(ecoff_bfd_link_add_symbols): Declare as function, not macro.
|
||
(ecoff_bfd_link_hash_table_create): Likewise.
|
||
* ecofflink.c (bfd_ecoff_debug_one_external): New function.
|
||
(bfd_ecoff_debug_externals): Call bfd_ecoff_debug_one_external.
|
||
* bfd-in.h (bfd_ecoff_debug_one_external): Declare.
|
||
* bfd-in2.h: Rebuilt.
|
||
* coff-alpha.c (alpha_howto_table): Mark BRADDR as
|
||
partial_inplace, and set the src_mask to 0x1fffff.
|
||
(alpha_ecoff_get_relocated_section_contents): Remove unused
|
||
variable gp_warned.
|
||
(alpha_convert_external_reloc): New static function.
|
||
(alpha_relocate_section): New static function.
|
||
(alpha_ecoff_backend_data): Initialize relocate_section field.
|
||
* coff-mips.c (mips_relocate_refhi): New static function.
|
||
(mips_relocate_section): New static function.
|
||
(mips_ecoff_backend_data): Initialize relocate_section field.
|
||
|
||
* reloc.c (_bfd_relocate_contents): Corrected signed overflow
|
||
checking when there is an addend.
|
||
|
||
* aoutx.h (NAME(aout,final_link)): Don't abort when trying to link
|
||
a non a.out file, just pass it to _bfd_default_link_order.
|
||
(aout_link_input_section_std): When doing a final PC relative link
|
||
against a section symbol, subtract the VMA of the input section.
|
||
(aout_link_input_section_ext): Likewise.
|
||
|
||
* linker.c (default_indirect_link_order): Renamed from
|
||
_bfd_generic_indirect_link_order and made static.
|
||
(_bfd_generic_final_link): Don't switch on link_order type, just
|
||
call _bfd_default_link_order.
|
||
(_bfd_default_link_order): Handle bfd_indirect_link_order type.
|
||
* genlink.h: Removed declaration of
|
||
_bfd_generic_indirect_link_order.
|
||
* elf32-mips.c (mips_elf_final_link): Don't switch on link_order
|
||
type, just call _bfd_default_link_order.
|
||
|
||
Tue Jan 4 21:23:37 1994 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* linker.c (generic_link_check_archive_element): Base the name of
|
||
the created common section on the name of the section the symbol
|
||
came from.
|
||
(_bfd_generic_link_add_one_symbol): (case BIG): A common symbol
|
||
must have a section, so don't bother to create one.
|
||
|
||
Mon Jan 3 15:32:16 1994 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* aout-target.h (MY(vec)): Add DYNAMIC to mask of object flags.
|
||
* aoutf1.h (NAME(aout,sunos4_write_object_contents)):
|
||
If the DYNAMIC flag is set, set it in the exec header.
|
||
* aoutx.h (NAME(aout,some_aout_object_p)): If the object is
|
||
dynamically linked, set the DYNAMIC flag in the BFD.
|
||
* libaout.h (N_SET_DYNAMIC): New macro.
|
||
(N_DYNAMIC): Add missing 0 in mask.
|
||
|
||
Mon Jan 3 11:41:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* ecoff.c (ecoff_get_extr): Don't output section symbols as
|
||
external symbols.
|
||
|
||
* bfd-in.h, hash.c: Change bfd_hash_allocate argument from size_t
|
||
to unsigned int, because size_t may not be defined in bfd.h.
|
||
* bfd-in2.h: Rebuilt.
|
||
|
||
* bfd-in.h (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
|
||
be a const pointer.
|
||
* bfd-in2.h: Rebuilt.
|
||
* libbfd.c (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
|
||
be a const pointer.
|
||
* targets.c (bfd_target): Change swap function pointers
|
||
accordingly.
|
||
* archive.c (do_slurp_coff_armap): Change swap accordingly.
|
||
* aix386-core.c: Change NO_GET and NO_GETS accordingly.
|
||
* hppabsd-core.c, hpux-core.c, irix-core.c, osf-core.c,
|
||
ptrace-core.c, trad-core.c: Change NO_GET and NO_SIGNED_GET
|
||
accordingly.
|
||
|
||
* libbfd-in.h (struct artdata): Added tdata field.
|
||
(_bfd_add_bfd_to_archive_cache): Declare.
|
||
(_bfd_get_elt_at_filepos): Declare.
|
||
(_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
|
||
* libbfd.h: Rebuilt.
|
||
* archive.c: Cleaned up some more.
|
||
(_bfd_generic_mkarchive, bfd_generic_archive_p): Initialize
|
||
pointer elements of artdata.
|
||
(_bfd_add_bfd_to_archive_cache): Renamed from add_bfd_to_cache.
|
||
(_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
|
||
(_bfd_get_elt_at_filepos): Renamed from get_elt_at_filepos.
|
||
(get_extended_arelt_filename, bfd_construct_extended_name_table,
|
||
bfd_ar_hdr_from_filesystem, compute_and_write_armap): Made static.
|
||
* ecoff.c: Some comment changes.
|
||
(ecoff_slurp_armap): Handle rename of snarf_ar_hdr. Set
|
||
ardata->tdata to raw_armap.
|
||
(ecoff_archive_p): Initialize pointer elements of artdata.
|
||
* coff-rs6000.c (rs6000coff_get_elt_at_filepos): Handle rename of
|
||
add_bfd_to_cache.
|
||
|
||
* hash.c: Added some documentation.
|
||
|
||
Mon Jan 3 11:09:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||
|
||
* aout-target.h, netbsd386.c: Replace NO_SWAP_MAGIC with SWAP_MAGIC,
|
||
and do the swapping here rather than calling ntohl from the N_*
|
||
macros. This cleans up assumptions about the size of a host long,
|
||
the existence to ntohl, etc.
|
||
|
||
Sat Jan 1 13:50:05 1994 Rob Savoye (rob@darkstar.cygnus.com)
|
||
|
||
* config.bfd: Add support for VSTa micro-kernel. It currently uses
|
||
i386-aout.
|
||
|
||
Sat Jan 1 10:18:54 1994 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* hosts/i386mach3.h (HOST_SEGMENT_SIZE): Fix value.
|
||
* i386mach3.c (SEGMENT_SIZE): Fix value.
|
||
|
||
Fri Dec 31 16:23:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
Minor cleanups suggested by CodeCenter.
|
||
* aoutx.h, coffgen.c, ecoff.c, ecofflink.c, elf.c, libbfd.c,
|
||
linker.c, reloc.c, section.c, srec.c: Added /*ARGSUSED*/ as
|
||
appropriate.
|
||
* aoutx.h (struct external_exec): Removed unnecessary declaration.
|
||
(NAME(aout,some_aout_object_p)): Set some tdata pointers to NULL.
|
||
(adjust_z_magic): Removed useless variable data_vma.
|
||
(stringtab_init): Initialize hash_zero.
|
||
(add_to_stringtab): Removed unused fourth argument.
|
||
(NAME(aout,swap_std_reloc_out)): Removed useless variable
|
||
r_addend.
|
||
(aout_link_input_section): Added some casts.
|
||
* archive.c (get_extended_arelt_filename, do_slurp_coff_armap,
|
||
bfd_ar_hdr_from_filesystem, bsd_write_armap, coff_write_armap):
|
||
Minor code rewriting to make it more C like.
|
||
(do_slurp_bsd_armap): Added some casts.
|
||
* ecoff.c (ecoff_write_object_contents): Removed useless variable
|
||
scn_base.
|
||
(ecoff_write_armap): Added some casts. Use "" rather than "\0".
|
||
* ecofflink.c (bfd_ecoff_write_debug): Added a cast.
|
||
* libaout.h (struct internal_exec): Removed unnecessary
|
||
declaration.
|
||
* linker.c (_bfd_generic_indirect_link_order): Added a cast.
|
||
* opncls.c (new_bfd): Removed a cast.
|
||
* reloc.c (bfd_generic_get_relocated_section_contents): Added
|
||
some casts.
|
||
* srec.c (internal_srec_write_object_contents): Removed useless
|
||
variable bytes_written.
|
||
|
||
Fri Dec 31 11:46:13 1993 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* i386mach3.c (N_TXTADDR): Don't define after all.
|
||
(TEXT_START_ADDR): Don't include exec header size in value.
|
||
|
||
Thu Dec 30 15:47:54 1993 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* i386mach3.c (N_TXTADDR): Define.
|
||
|
||
Thu Dec 30 13:37:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
Extensive changes to move the bulk of the linker into BFD so that
|
||
more efficient backend code can be written for specific object
|
||
files. Only existing efficient backend is a.out.
|
||
* seclet.c, seclet.h: Removed.
|
||
* hash.c, linker.c, genlink.h: New files.
|
||
* bfd-in.h: Removed bfd_error_vector. Declared hash table
|
||
structures and functions.
|
||
(JUMP_TABLE): Removed bfd_seclet_link, added
|
||
bfd_link_hash_table_create, bfd_link_add_symbols and
|
||
bfd_final_link.
|
||
* All backends: Changed accordingly.
|
||
* bfd-in2.h: Rebuilt.
|
||
* bfd.c (struct _bfd): Added link_next and archive_pass fields.
|
||
Removed ld_symbols field.
|
||
(bfd_nonrepresentable_section, bfd_undefined_symbol,
|
||
bfd_reloc_value_truncated, bfd_reloc_is_dangerous,
|
||
bfd_error_vector): Removed.
|
||
(bfd_default_error_trap, bfd_error_trap,
|
||
bfd_error_nonrepresentabltrap): Removed.
|
||
(bfd_get_relocated_section_contents): Pass link_info. Pass
|
||
link_order instead of seclet. Pass symbols.
|
||
(bfd_relax_section): Pass link_info.
|
||
(bfd_seclet_link): Removed.
|
||
(bfd_link_hash_table_create, bfd_link_add_symbols,
|
||
bfd_final_link): New macros.
|
||
* libbfd-in.h: If __GNUC__ is defined and alloca is not, define
|
||
alloca as __builtin_alloca. Declare internal linking functions.
|
||
* libbfd.h: Rebuilt.
|
||
* libbfd.c (bfd_seek): Comment out fseek assertion. It's worked
|
||
for months.
|
||
* reloc.c (reloc_howto_type): Added error_message argument to
|
||
special_function field. Changed all callers and all definitions.
|
||
(bfd_get_reloc_size): Make argument a const pointer.
|
||
(bfd_perform_relocation): Add error_message argument to hold
|
||
string set if return value if bfd_reloc_dangerous. Changed all
|
||
callers.
|
||
(_bfd_final_link_relocate, _bfd_relocate_contents): New functions.
|
||
* section.c (asection): Renamed seclets_head and seclets_tail to
|
||
link_order_head and link_order_tail.
|
||
* targets.c (bfd_target): Replaced seclet argument with link_info
|
||
and link_order and symbols arguments in
|
||
bfd_get_relocated_section_contents. Added symbols argument to
|
||
bfd_relax_section. Removed bfd_seclet_link. Added
|
||
bfd_link_hash_table_create, bfd_link_add_symbols and
|
||
bfd_final_link.
|
||
* libaout.h (struct aoutdata): Added external_syms,
|
||
external_sym_count, external_strings, sym_hashes fields.
|
||
(obj_aout_external_syms, obj_aout_external_sym_count,
|
||
obj_aout_external_strings, obj_aout_sym_hashes): New accessor
|
||
macros.
|
||
(WRITE_HEADERS): Only output symbols if outsymbols is not NULL.
|
||
* aoutx.h: Wrote new back end linker routines.
|
||
(translate_to_native_sym_flags): Return boolean value. Don't use
|
||
bfd_error_vector.
|
||
(NAME(aout,write_syms)): Return boolean value. Check return value
|
||
of translate_to_native_sym_flags and bfd_write.
|
||
* aout-target.h (final_link_callback): New function.
|
||
(MY_bfd_final_link): New function.
|
||
* aout-adobe.c (aout_adobe_write_object_contents): Check return
|
||
value of aout_32_write_syms.
|
||
* hp300hpux.c (MY(write_object_contents)): Likewise.
|
||
* i386lynx.c (WRITE_HEADERS): Likewise.
|
||
* libaout.h (WRITE_HEADERS): Likewise.
|
||
* bout.c: Changed functions to use link_info->callbacks rather
|
||
than bfd_error_vector, and link_orders rather than seclets.
|
||
* coff-alpha.c: Likewise.
|
||
* coff-h8300.c: Likewise.
|
||
* coff-h8500.c: Likewise.
|
||
* coff-sh.c: Likewise.
|
||
* coff-z8k.c: Likewise.
|
||
* elf32-hppa.c: Likewise.
|
||
* reloc16.c: Likewise.
|
||
* coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Look
|
||
up _gp in the hash table rather than in outsymbols.
|
||
* coff-a29k.c (a29k_reloc): Pass errors back in new error_message
|
||
argument rather than printing them.
|
||
* coffcode.h (bfd_coff_reloc16_extra_cases): Take link_info and
|
||
link_order arguments rather than seclet. Changed all uses and
|
||
definitions.
|
||
(bfd_coff_reloc16_estimate): Pass link_info arguments. Changed
|
||
all uses and definitions.
|
||
* libcoff.h: Rebuilt.
|
||
* ecoff.c (ecoff_get_extr): If symbol is defined by linker, but
|
||
not by ECOFF, make it scAbs.
|
||
(ecoff_bfd_final_link): Renamed from ecoff_bfd_seclet_link and
|
||
rewritten.
|
||
* elf32-mips.c (mips_elf_final_link): Renamed from
|
||
mips_elf_seclet_link and rewritten.
|
||
* elf32-hppa.c (elf32_hppa_stub_description): Added link_info
|
||
field.
|
||
(new_stub, add_stub_by_name, hppa_elf_build_arg_reloc_stub,
|
||
hppa_elf_build_long_branch_stub, hppa_look_for_stubs_in_section):
|
||
Added link_info arguments. Changed all callers.
|
||
* elfcode.h (elf_slurp_symbol_table): Don't quit if outsymbols is
|
||
not NULL.
|
||
* oasys.c (oasys_write_sections): Return boolean value rather than
|
||
using bfd_error_vector.
|
||
(oasys_write_object_contents): Check return value of
|
||
oasys_write_sections.
|
||
* hosts/std-host.h: Don't declare qsort or strtol.
|
||
* Makefile.in: Rebuild dependencies.
|
||
(BFD_LIBS): Removed seclet.o. Added hash.o and linker.o.
|
||
(CFILES): Removed seclet.c. Added hash.c and linker.c.
|
||
(HFILES): Removed seclet.h. Added genlink.h.
|
||
|
||
Thu Dec 30 07:41:36 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
|
||
|
||
* section.c (bfd_get_section_contents): Return zero filled buffer
|
||
if section has no contents.
|
||
|
||
Tue Dec 28 12:43:54 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* elf.c (bfd_elf_generic_reloc): If this is not an inplace reloc,
|
||
then skip bfd_perform_relocation even if the addend is non-zero.
|
||
|
||
Tue Dec 21 09:22:19 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
|
||
|
||
* coffcode.h (coff_write_relocs) [SWAP_OUT_RELOC_OFFSET]: Copy
|
||
addend to r_offset field.
|
||
|
||
* Makefile.in (CFILES): Added coff-sparc.c. Rebuild dependencies.
|
||
|
||
* coff-sparc.c (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET,
|
||
CALC_ADDEND): Define.
|
||
|
||
* aix386-core.c (aix386_core_file_p): Use cd_regs[0] for computing
|
||
the offsetof because AIX /bin/cc does not like to take the address
|
||
of an array. (From Minh Tran-Le.)
|
||
|
||
Thu Dec 16 13:06:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* Thu Dec 16 15:41:06 1993 Peter Hoogenboom (hoogen@cs.utah.edu)
|
||
|
||
* elf32-hppa.c (hppa_elf_build_arg_reloc_stub): Make sure to copy
|
||
the return pointer into %r2 if no jump-in-call-delay-slot
|
||
optimization was done.
|
||
|
||
* hosts/hp300bsd.h: Correctly identify 4.3BSD vs 4.4BSD.
|
||
|
||
Wed Dec 15 08:04:16 1993 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* hosts/std-host.h: (time): Don't declare; conflicts on Mach3.
|
||
|
||
* hosts/i386mach3.h (HOST_PAGE_SIZE): Set to 1 to avoid padding.
|
||
(HOST_SEGMENT_SIZE): Set to 0 for same reason.
|
||
|
||
* i386mach3.c (PAGE_SIZE, SEGMENT_SIZE): Same changes as above.
|
||
(TEXT_START_ADDR): Correct.
|
||
(MY_backend_data): Define.
|
||
|
||
* aoutx.h (adjust_o_magic, adjust_z_magic, adjust_n_magic):
|
||
New functions; code moved from aout_<size>_adjust_sizes_and_vmas.
|
||
|
||
Tue Dec 14 21:48:33 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* som.c (som_begin_writing): Fix thinkos in auxiliary header
|
||
support.
|
||
(bfd_som_attach_aux_hdr): Likewise.
|
||
|
||
Mon Dec 13 23:34:48 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* elf32-hppa.c (hppa_elf_gen_reloc_type): Handle 'T' field
|
||
selectors for PIC code.
|
||
|
||
* som.c (hppa_som_gen_reloc_type): Handle 'T' field selectors.
|
||
(som_write_fixups): Handle R_DLT_REL, R_FSEL, R_RSEL, R_LSEL
|
||
relocations needed by PIC.
|
||
|
||
Tue Dec 7 15:47:51 1993 Stu Grossman (grossman at cygnus.com)
|
||
|
||
* nlmcode.h: Fixes to avoid compiler warnings...
|
||
|
||
Tue Dec 7 15:10:54 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* libnlm.h (nlm_backend_data): Removed macro definition.
|
||
(nlm_alpha_backend_data): Adjusted accordingly.
|
||
|
||
Sun Dec 5 19:32:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* som.c (som_begin_writing): Flesh out code for handling simple
|
||
auxiliary headers.
|
||
(bfd_som_attach_aux_hdr): New function.
|
||
|
||
* som.h (struct somdata): Add fields for attaching version and
|
||
copyright headers. Add accessor macros.
|
||
|
||
* som.c (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Add protected
|
||
definitions for old versions of HPUX which fail to define them.
|
||
(som_hppa_howto_talbe): Add R_DLT_REL, R_AUX_UNWIND, and R_SEC_STMT
|
||
now that they're safe. Delete bogus R_STATEMENT relocations.
|
||
|
||
* som.c (som_hppa_howto_table): Add missing R_END_TRY. Delete
|
||
extra R_DATA_OVERRIDE.
|
||
(hppa_som_gen_reloc_type): Generate a relocation for the rounding
|
||
mode selector if needed.
|
||
(som_write_fixups): Handle requests for a change in the default
|
||
rounding mode. Rounding modes do not consume input bytes, but
|
||
are just markers much like R_ENTRY and R_EXIT.
|
||
|
||
Sat Dec 4 19:40:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
Fri Dec 3 09:55:17 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
|
||
|
||
* elf32-hppa.c: (hppa_elf_reloc): Do not do code reordering when
|
||
the branch instruction as originally been nullified.
|
||
hppa_elf_reloc): Avoid useless call to bfd_put_32 () in the
|
||
case of no code reordering due to an LDO instruction in the
|
||
delay slot of the branch. Make sure to relocate the correct
|
||
instruction. Do not perform instruction reordering for millicode
|
||
calls.
|
||
(hppa_elf_build_arg_reloc_stub): Change the relocation type
|
||
to R_HPPA_STUB_CALL_17 when special processing might be needed.
|
||
(hppa_elf_build_long_branch_stub): Prevent code reordering on
|
||
a call from a linker stub to another linker stub and for millicode
|
||
calls. Do not trash the return register for calls from one linker
|
||
stub to a second linker stub.
|
||
|
||
* elf32-hppa.c: (elf_hppa_howto_table): PLABEL and DLT
|
||
relocations are not pc-relative.
|
||
|
||
* hppa_stubs.h: (BLE_N_XXX_0_31): New instruction used in
|
||
linker stub code.
|
||
(COPY_2_31): Likewise.
|
||
|
||
Fri Dec 3 18:40:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/solaris2.mh (HDEFINES): Remove -Dconst=
|
||
* hosts/solaris.h: If not __GNUC__, define const as empty.
|
||
|
||
Thu Dec 2 15:43:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* ecoff.c: Added various casts for 32/64 bit cross targeting.
|
||
(ecoff_mkobject_hook): Set SEC_SHARED_LIBRARY for the .reginfo
|
||
section so that the linker ignores it.
|
||
* ecofflink.c: Added various casts for 32/64 bit cross targeting.
|
||
(ecoff_add_bytes): Changed need argument to size_t.
|
||
(bfd_ecoff_debug_link_other): Check return value of
|
||
ecoff_add_string.
|
||
|
||
* libbfd-in.h (new_bfd): Use void rather than an empty parameter
|
||
list.
|
||
* libbfd.h: Rebuilt.
|
||
|
||
* libnlm.h (struct nlm_obj_tdata): New field backend_data.
|
||
(nlm_backend_data, nlm_alpha_backend_data): New accessor macros.
|
||
(struct nlm_backend_data): New field no_uninitialized_data.
|
||
(nlm_no_uninitialized_data): New accessor macro.
|
||
* nlmcode.h (nlm_compute_section_file_positions): Handle
|
||
no_uninitialized_data.
|
||
(nlm_external_reloc_compare): Sort relocs by address for a
|
||
particular symbol, to make the sort more stable.
|
||
(nlm_write_object_contents): Cast the arguments to qsort. Get the
|
||
value of a debugging symbol the same way we get the value of a
|
||
normal symbol.
|
||
* nlm32-alpha.c: Various changes. Write out GP and .lita relocs.
|
||
Set no_uninitialized_data to true.
|
||
* nlm32-i386.c (nlm32_i386_backend), nlm32-sparc.c
|
||
(nlm32_sparc_backend): Set no_uninitialized_data field false.
|
||
* nlmswap.h (nlm_swap_fixed_header_out): Zero out destination
|
||
before filling it in.
|
||
|
||
Wed Dec 1 21:47:58 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* som.c (som_section_type, som_decode_symcalss): New functions.
|
||
(som_get_symbol_info): Use them.
|
||
(som_slurp_symbol_table): Set the section of common and undefined
|
||
symbols correctly.
|
||
|
||
Wed Dec 1 14:15:10 1993 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* elfcode.h (write_relocs): Initialize local var LAST_SYM_IDX, to
|
||
make gcc happy.
|
||
|
||
* mipsbsd.c: Changes from Ralph Campbell:
|
||
(mips_howto_table_ext): MIPS_RELOC_LO16 should use
|
||
complain_overflow_dont.
|
||
(aout_mips_*_vec): Make name use "a.out" instead of "aout", to
|
||
make gdb happy.
|
||
|
||
* bfd.c (bfd_errmsgs): Reword invalid-target message.
|
||
|
||
* config.bfd: For sparc*-*-coff, use sparc-coff.
|
||
* configure.in: Handle sparccoff_vec.
|
||
* targets.c (sparccoff_vec): Declare.
|
||
|
||
* reloc.c (bfd_get_reloc_size): New function.
|
||
(struct reloc_howto_type): Update documentation of size field.
|
||
|
||
Wed Dec 1 14:39:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* nlm32-alpha.c: New file; preliminary Alpha NetWare support.
|
||
* config.bfd (alpha-*-netware*): New target; use alpha-nlm.
|
||
* config/alpha-nlm.mt: New file.
|
||
* configure.in (nlm32_alpha_vec): New vector; use nlm32-alpha.o,
|
||
nlm32.o, and nlm.o.
|
||
* Makefile.in (BFD32_BACKENDS): Added nlm32-alpha.o.
|
||
(CFILES): Added nlm32-alpha.c.
|
||
Rebuilt dependencies.
|
||
* targets.c (nlm32_alpha_vec): Declare.
|
||
|
||
* libnlm.h (struct nlm_backend_data): New fields
|
||
optional_prefix_size, nlm_backend_object_p, nlm_write_prefix,
|
||
nlm_set_public_section, nlm_get_public_offset. Removed unused
|
||
nlm_write_reloc field. Changed nlm_write_import to remove
|
||
unnecessary symbol argument. Renamed nlm_write_externals to
|
||
nlm_write_external, and changed cound argument from bfd_vma to
|
||
bfd_size_type.
|
||
(nlm_optional_prefix_size, nlm_backend_object_p_func,
|
||
nlm_write_prefix_func, nlm_set_public_section_func,
|
||
nlm_get_public_offset_func): New accessor macros.
|
||
(nlm_write_reloc_func): Removed.
|
||
(nlm_write_external_func): Adjusted for field renaming.
|
||
* nlm32-i386.c (nlm_i386_write_import): Renamed from
|
||
nlm_i386_write_reloc. Removed old nlm_i386_write_import which
|
||
just called old nlm_i386_write_reloc.
|
||
(nlm_i386_write_external): Renamed from nlm_i386_write_externals.
|
||
Declared. Changed second argument from bfd_vma to bfd_size_type.
|
||
(nlm32_i386_backend): Adjusted for changes to fields and names.
|
||
* nlm32-sparc.c (nlm_sparc_mangle_relocs): Removed unused,
|
||
ifdeffed out code.
|
||
(nlm_sparc_write_import): Removed second argument.
|
||
(nlm_sparc_write_external): Renamed from
|
||
nlm_sparc_write_externals. Changed second argument from bfd_vma
|
||
to bfd_size_type.
|
||
(nlm32_sparc_backend): Adjusted for changes to fields and names.
|
||
* nlmcode.h: Removed some unused code.
|
||
(nlm_object_p): Don't destroy tdata pointer. Call
|
||
backend_object_p function if it exists.
|
||
(nlm_slurp_symbol_table): Removed unused variable rcount. Call
|
||
set_public_section_func if it exists instead of checking
|
||
NLM_HIBIT.
|
||
(nlm_compute_section_file_positions): Account for
|
||
optional_prefix_size.
|
||
(nlm_write_object_contents): Account for optional_prefix_size.
|
||
Removed useless variable write_reloc_func. Changed declaration
|
||
and call of write_import_func. Call write_prefix_func if it
|
||
exists. Removed unused variables len and temp. Call
|
||
get_public_offset_func if it exists rather than setting NLM_HIBIT.
|
||
* nlmswap.h: Declare functions.
|
||
|
||
* bfd-in.h (uint64_typeLOW, uint64_typeHIGH): Fully parenthesize
|
||
for clarity.
|
||
(fprintf_vma, sprintf_vma): Use %lx, not %x.
|
||
* bfd-in2.h: Rebuilt.
|
||
* hosts/alphaosf.h (uint64_typeLOW, uint64_typeHIGH): Cast results
|
||
to unsigned long.
|
||
|
||
* config.bfd: Don't set target64 here, as the setting is ignored.
|
||
* configure.in (ecoffalpha_little_vec): Set target64.
|
||
|
||
* config/alphaosf.mt (TDEFINES): Removed; setting host parameters
|
||
in TDEFINES is wrong.
|
||
|
||
* coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
|
||
Remove unused variable output_section.
|
||
|
||
Tue Nov 30 16:45:23 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* irix-core.c: New file for Irix 4 and Irix 5 core support.
|
||
Functions taken out of coff-mips.c. Handle vmap type VMAPFILE.
|
||
* coff-mips.c: Irix 4 core file support moved to irix-core.c.
|
||
* targets.c: If IRIX_CORE defined, include irix_core_vec in
|
||
target_vector.
|
||
* config/irix4.mh (HDEFINES): Add -DIRIX_CORE.
|
||
(HDEPFILES): Define to be irix-core.o.
|
||
* config/irix5.mh (HDEFINES): Define to be -DIRIX_CORE.
|
||
(HDEPFILES): Define to be irix-core.o.
|
||
* Makefile.in (OPTIONAL_BACKENDS): Added irix-core.o. Removed
|
||
sco-core.o, which no longer exists.
|
||
(CFILES): Added all *-core.c files.
|
||
Rebuilt dependencies.
|
||
|
||
Wed Nov 24 02:02:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* elfcode.h (map_program_segments): Restore check of file_size !=
|
||
mem_size, but only if SHT_PROGBITS.
|
||
|
||
* ecofflink.c: New file to hold ECOFF debug information linking
|
||
routines.
|
||
* ecoff.c (ecoff_clear_output_flags, ecoff_rel, ecoff_dump_seclet,
|
||
ecoff_add_string, ecoff_get_debug): Removed. Functionality now in
|
||
ecofflink.c.
|
||
(ecoff_get_extr, ecoff_set_index): New functions.
|
||
(ecoff_slurp_symbolic_info): Don't save raw_size.
|
||
(ecoff_bfd_seclet_link): Rewrote to use ecofflink.c functions.
|
||
(ecoff_compute_section_file_positions): Don't set EXEC_P just
|
||
because there is a start address.
|
||
(ecoff_write_object_contents): Handle external symbols here. Use
|
||
ecofflink.c functions to write out debugging information.
|
||
* elf32-mips.c (mips_elf_read_ecoff_info, mips_elf_get_extr,
|
||
mips_elf_set_index): New functions.
|
||
(mips_elf_seclet_link): Discard empty sections, the .options
|
||
section and .gptab sections. Handle linking .mdebug section.
|
||
* libecoff.h (ecoff_data_type): Removed raw_size and ifdbase.
|
||
* libelf.h (elf_symbol_type): Added mips_extr to tc_data union.
|
||
* bfd-in.h: Added prototypes for routines in ecofflink.c (some are
|
||
called by gas, so they are public).
|
||
* bfd-in2.h: Rebuilt.
|
||
* Makefile.in (BFD_LIBS): Added ecofflink.o.
|
||
(CFILES): Added ecofflink.c.
|
||
(ecofflink.o): New target. Rebuilt dependencies.
|
||
|
||
Mon Nov 22 22:26:42 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* som.c (hppa_object_p): Also recognize SHARED_MAGIC_CNX as
|
||
a valid magic number if it's been defined.
|
||
|
||
Mon Nov 22 14:17:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* ecoff.c (ecoff_mkobject): Don't create .scommon section; linker
|
||
no longer requires it.
|
||
(ecoff_bfd_seclet_link, ecoff_sizeof_headers,
|
||
ecoff_write_object_contents): Don't treat .scommon section
|
||
specially.
|
||
|
||
Mon Nov 22 10:54:27 1993 Fred Fish (fnf@cygnus.com)
|
||
|
||
Merged changes from kev@spuds.geg.mot.com (Kevin A. Buettner):
|
||
* bfd/config/delta88.mh (HDEFINES): Define this to be -DPTRACE_CORE.
|
||
* bfd/config/delta88.mh (HDEPFILES): Defined to be ptrace-core.o.
|
||
* bfd/ptrace-core.c: New file for dealing with core files with
|
||
start with the ptrace_user structure found on BCS compliant systems.
|
||
* bfd/targets.c (ptrace_core_vec): New vector.
|
||
|
||
Mon Nov 22 02:33:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* Minimal support for reading SOM fixup streams. Allows
|
||
objdump -r to do something reasonable.
|
||
* som.c (som_get_reloc_upper_bound): Implement.
|
||
(som_canonicalize_reloc): Implement.
|
||
(som_set_reloc_info, som_slurp_reloc_table): New functions.
|
||
|
||
Sun Nov 21 13:46:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* hosts/lynx.h (FPRINTF_ALREADY_DECLARED): Define.
|
||
* hosts/sparclynx.h: Include lynx.h instead of duplicating it.
|
||
|
||
Fri Nov 19 14:34:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* coff-a29k.c (a29k_reloc): For R_IREL, don't left shift
|
||
signed_value before sign extending it. Don't subtract out
|
||
reloc_entry->address. This makes it compatible with what gas is
|
||
generating.
|
||
|
||
* elfcode.h (elf_fake_sections): Accept .sbss as the name for a
|
||
SHT_NOBITS sections.
|
||
(map_program_segments): Don't leave the loop after the first
|
||
SHT_NOBITS section.
|
||
(assign_file_positions_except_relocs): Only force sh_offset and
|
||
sh_addr to match modulo maxpagesize for a section which is not
|
||
SHT_NOBITS. Changed the method used to force page alignment after
|
||
a SHT_NOBITS section to only do it for the last such consecutive
|
||
section, and to really force page alignment.
|
||
|
||
Fri Nov 19 04:02:01 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* coffcode.h (coff_slurp_symbol_table): Print more verbose message
|
||
in the case of an unknown (or unhandled) storage class.
|
||
|
||
* config/i386-lynx.mt (TDEFINES): FPRINTF_ALREADY_DECLARED should
|
||
not be defined here, since it is a host attribute, not a target
|
||
one.
|
||
* config/m68k-lynx.mt, config/sparc-lynx.mt: Ditto.
|
||
|
||
* coffcode.h (coff_bfd_reloc_type_lookup): Don't define if already
|
||
defined.
|
||
|
||
* coff-sparc.c: Define some relocations, based on ELF relocations.
|
||
(enum reloc_type, bfd_coff_generic_reloc, coff_sparc_howto_table,
|
||
struct coff_reloc_map, sparc_reloc_map,
|
||
coff_sparc_reloc_type_lookup): Borrowed from elf32-sparc.c and
|
||
elf.c, renamed.
|
||
(coff_bfd_reloc_type_lookup): Define to be coff_sparc_reloc_....
|
||
(rtype2howto): Index into coff_sparc_howto_table using
|
||
dst->r_type.
|
||
|
||
Thu Nov 18 11:45:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config.bfd (mips*-*-irix5*): New target; use mipsbelf.
|
||
* configure.host (mips-sgi-irix5*) New host; use irix5 (no
|
||
hosts/irix5.h created; just use std-host.h).
|
||
* config/irix5.mh: New file; like irix4.mh, but don't use -G or
|
||
-lmalloc.
|
||
* Makefile.in: Rebuilt dependencies.
|
||
|
||
* ecoffswap.h: Changed type of internal pointers for swap out
|
||
functions to const *.
|
||
|
||
* elf32-mips.c (mips_elf_got16_reloc): New function. Handle GOT16
|
||
correctly for assembler, but linker support not implemented.
|
||
(elf_mips_howto_table): Use mips_elf_got16_reloc for GOT16.
|
||
(mips_elf_sym_is_global): New function; at least on Irix 5, all
|
||
non section symbols are considered global.
|
||
(elf_backend_sym_is_global): Define.
|
||
(mips_elf_final_write_processing): New function. Set the MIPS
|
||
architecture level correctly.
|
||
(elf_backend_final_write_processing): Define.
|
||
(mips_elf_section_from_shdr): Handle SHT_MIPS_OPTIONS.
|
||
(mips_elf_fake_sections): Set entsize of .mdebug or .reginfo
|
||
section to 1. Handle .options section.
|
||
(mips_elf_acom_section, mips_elf_acom_symbol,
|
||
mips_elf_acom_symbol_ptr): New static variables, used to build a
|
||
generic .acommon section to hold SHN_MIPS_ACOMMON symbols.
|
||
(mips_elf_symbol_processing): Handle SHN_MIPS_ACOMMON symbols by
|
||
putting them all in a global .acommon section.
|
||
|
||
* elfcode.h (bfd_section_from_shdr): Don't dump core if target
|
||
section has no ELF section data.
|
||
(elf_make_sections): Set addralign of reloc section to 4.
|
||
(elf_fake_sections): Likewise.
|
||
(map_program_segments): Don't consider section 0.
|
||
(assign_file_positions_except_relocs): Don't consider section 0.
|
||
In the main loop, skip the symtab and strtab sections, since their
|
||
positions are set elsewhere.
|
||
(swap_out_syms): Set addralign of symtab section to 4. Set
|
||
addralign of strtab sections to 1.
|
||
(assign_file_positions_for_relocs): Don't consider section 0.
|
||
(write_object_contents): Don't write out section 0.
|
||
|
||
* libelf.h (struct elf_backend_data): Added fields
|
||
elf_backend_sym_is_global and elf_backend_final_write_processing.
|
||
* elf32-target.h (elf32_bed): Added corresponding initializers.
|
||
* elf64-target.h (elf64_bed): Likewise.
|
||
* elfcode.h (sym_is_global): Take abfd argument. Call
|
||
elf_backend_sym_is_global if it is not NULL.
|
||
(elf_map_symbols): Pass abfd to sym_is_global.
|
||
(write_object_contents): Call elf_backend_final_write_processing
|
||
if it is defined.
|
||
|
||
Wed Nov 17 18:43:28 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* libecoff.h: Include coff/ecoff.h.
|
||
(struct ecoff_backend_data): Move external debugging information
|
||
fields into a single field pointing to an ecoff_debug_swap
|
||
structure.
|
||
(ecoff_data_type): Move debugging information fields into a single
|
||
field pointing to an ecoff_debug_info structure.
|
||
* coff-alpha.c, coff-mips.c, ecoff.c: Corresponding changes.
|
||
|
||
Wed Nov 17 17:38:58 1993 Sean Eric Fagan (sef@cygnus.com)
|
||
|
||
* nlmswap.h: New file to swap fixed header. Included by NLM
|
||
backends.
|
||
* libnlm.h (struct reloc_and_sec): Define.
|
||
(struct nlm_backend_data): Add fields fixed_header_size,
|
||
nlm_read_import, nlm_write_import, nlm_swap_fhdr_in,
|
||
nlm_swap_fhdr_out.
|
||
(nlm_fixed_header_size, nlm_read_import_func,
|
||
nlm_write_import_func, nlm_swap_fixed_header_in_func,
|
||
nlm_swap_fixed_header_out_func, nlm_write_external_func): New
|
||
accessor macros.
|
||
* nlmcode.h: Use new functions.
|
||
* nlm32-i386.c: Provide new functions.
|
||
* nlm32-sparc.c: New file; SPARC NLM backend.
|
||
|
||
Wed Nov 17 13:56:10 1993 Stan Shebs (shebs@rtl.cygnus.com)
|
||
|
||
* i386lynx.c (swap_std_reloc_in, swap_ext_reloc_in): Ignore
|
||
garbage bits appearing in the upper end of symbolnums.
|
||
|
||
* config/sparc-lynx.mt (TDEFINES): Add -DFPRINTF_ALREADY_DECLARED.
|
||
|
||
Tue Nov 16 17:03:41 1993 Stu Grossman (grossman at cygnus.com)
|
||
|
||
* lynx-core.c (lynx_core_file_p): Change bfd_zalloc to bfd_alloc.
|
||
* m68klynx.c: Define core file macros.
|
||
* hosts/i386lynx.h, hosts/m68klynx.h, hosts/lynx.h: Move all
|
||
non-architecture specific stuff into lynx.h.
|
||
|
||
Tue Nov 16 15:45:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||
|
||
* i386linux.c: Define new macro ZMAGIC_DISK_BLOCK_SIZE to 1024, and
|
||
change PAGE_SIZE to 4096.
|
||
|
||
Mon Nov 15 11:48:08 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
|
||
|
||
* Makefile.in (diststuff): New target.
|
||
|
||
* VERSION: Updated.
|
||
|
||
Sun Nov 14 23:33:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* som.c (som_object_setup): Do not create dummy ".text", ".data",
|
||
and ".bss" sections.
|
||
(setup_sections): Do not set SEC_HAS_CONTENTS if a section's size
|
||
is zero. Recognize BSS type sections and turn off SEC_LOAD and
|
||
SEC_DATA (so binutils/size works). Set the correct value for
|
||
a section's _raw_size.
|
||
(som_slurp_symbol_table): Program entry points, and millicode are
|
||
also functions. Mark them as such. Also mark L$* symbols as
|
||
debugging symbols.
|
||
|
||
* bfd-in2.h: Rebuilt.
|
||
|
||
Sat Nov 13 15:27:15 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* som.c (som_bfd_reloc_type_lookup): Add missing prototype. Returns
|
||
a pointer to constant data. Delete bogus #define which made the
|
||
function useless.
|
||
|
||
* som.c (som_prep_for_fixups): New function.
|
||
(som_write_fixups): New function.
|
||
(som_write_space_strings): New function.
|
||
(som_write_symbol_strings): New function.
|
||
(som_begin_writing): New function.
|
||
|
||
Fri Nov 12 15:29:36 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* som.c (som_write_object_contents): Do not abort. Flesh out.
|
||
(som_set_section_contents): Do not abort. Flesh out.
|
||
|
||
* som.c (som_write_headers): New function.
|
||
(som_prep_headers): New function.
|
||
(som_build_and_write_symbol_table): New function.
|
||
|
||
* som.c (som_sizeof_headers): Add missing prototype.
|
||
(som_set_arch_mach): Do not abort.
|
||
|
||
* som.c (som_count_spaces): New function.
|
||
(som_count_subspaces): New function.
|
||
(compare_syms): New function.
|
||
(som_compute_checksum): New function.
|
||
|
||
* som.c (hppa_som_gen_reloc_type): New function.
|
||
(som_bfd_reloc_type_lookup): New function.
|
||
|
||
* som.c (try_prev_fixup): New function.
|
||
(som_reloc_skip): New function.
|
||
(som_reloc_addend): New function.
|
||
(som_reloc_call): New function.
|
||
|
||
* som.c (som_initialize_reloc_queue): New function.
|
||
(som_reloc_queue_insert): Likewise.
|
||
(som_reloc_queue_fix): Likewise.
|
||
(som_reloc_queue_find): Likewise.
|
||
|
||
* som.c (som_hppa_howto_table): SOM howto relocation table.
|
||
(hppa_som_reloc): New function.
|
||
|
||
* som.c (struct reloc_queue): New structure to keep track of
|
||
the last four multibyte relocations emitted.
|
||
(enum pa_symbol_type): Type to fully describe the symbol types
|
||
associated with .import/.export assembler directives.
|
||
|
||
* som.c: Include libhppa.h
|
||
|
||
* som.c (bfd_som_set_section_attributes): New function.
|
||
(bfd_som_set_subsection_attributes): Likewise.
|
||
(bfd_som_set_symboL_type): Likewise.
|
||
(bfd_som_attach_unwind_info): Likewise.
|
||
* som.h: Declare new exported functions.
|
||
|
||
* som.h (struct som_symbol): Add new fields to hold additional
|
||
information needed to build/write symbol tables and fixup streams.
|
||
(struct som_section_data_struct): Add new fields to hold additional
|
||
information needed to build/write space and subspace headers.
|
||
(som_symbol_data): New accessor macro for SOM symbol information.
|
||
(R_HPPA_*): Basic relocation types to be used by the assembler.
|
||
|
||
Fri Nov 12 11:00:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||
|
||
* trad-core.c (trad_unix_core_file_p): If new hook
|
||
TRAD_CORE_ALLOW_ANY_EXTRA_SIZE defined, then skip the check for the
|
||
corefile being too big.
|
||
* hosts/i386sco.h: Define it.
|
||
|
||
Thu Nov 11 15:16:28 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* bfd.c (struct _bfd): Add hppabsd_core_data.
|
||
* targets.c (target_vector): Add hppabsd_core_vec.
|
||
* hpux-core.c (hpux_core_core_file_p): Fail if an unknown core
|
||
section is encountered during core section scanning.
|
||
* hppabsd-core.c: New file.
|
||
* config/hppabsd.mh: Enable HPPA BSD core files.
|
||
|
||
* elf32-hppa.c (hppa_elf_reloc): Remove DEFUN crud. Remove code
|
||
which is either commented out or ifdef'd out. Add, update and
|
||
clean comments. Fix various indention and spacing problems. Handle
|
||
problems related to using "ble" to jump to a stub rather than "bl"
|
||
(%r31 is trashed by "ble", but not by "bl").
|
||
(NEW_INSTRUCTION): Put inside curly braces.
|
||
(CURRENT_STUB_OFFSET): Fix indention problems.
|
||
(hppa_elf_build_arg_reloc_stub): Fix indention and spacing problems.
|
||
Add, update and clean comments. Handle "ble" %r31 lossage problems.
|
||
(hppa_elf_build_long_branch_stub): Likewise.
|
||
(hppa_look_for_stubs_in_section): Likewise.
|
||
(hppa_elf_stub_check): Remove obsolete function.
|
||
|
||
* hppa_stubs.h: Add new instructions to deal with %r31 lossage
|
||
problems. Delete unused instructions.
|
||
|
||
Tue Nov 9 11:40:27 1993 Stan Shebs (shebs@rtl.cygnus.com)
|
||
|
||
* m68klynx.c (TARGET_IS_BIG_ENDIAN_P): Define.
|
||
|
||
Tue Nov 9 11:26:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* elfcode.h (elf_object_p): Rather than looking through an array
|
||
of architectures, get the ELF EM_xxx code from the backend
|
||
information. Let the generic ELF target match any EM_xxx code not
|
||
matched by another ELF target. Call elf_backend_object_p to let
|
||
the backend do more checks and set global information.
|
||
* libelf.h (struct elf_backend_data): Added elf_machine_code and
|
||
elf_backend_object_p fields.
|
||
(struct bfd_elf_arch_map): Removed.
|
||
(bfd_elf_arch_map, bfd_elf_arch_map_size): Don't declare.
|
||
* elf32-target.h, elf64-target.h: Initialize elf_machine_code
|
||
field with ELF_MACHINE_CODE. Initialize elf_backend_object_p
|
||
field with elf_backend_object_p (if it is defined).
|
||
* elf32-gen.c, elf32-hppa.c, elf32-i386.c, elf32-i860.c,
|
||
elf32-m68k.c, elf32-m88k.c, elf32-mips.c, elf32-sparc.c,
|
||
elf64-gen.c (ELF_MACHINE_CODE): Defined.
|
||
* elf32-mips.c: Include ecoffswap.h to get ECOFF swapping
|
||
routines.
|
||
(mips_elf_object_p): Set the right machine number.
|
||
(mips_elf_ecoff_debug_swap): Defined.
|
||
(elf_backend_object_p): Defined to be mips_elf_object_p.
|
||
(elf_backend_ecoff_debug_swap): Defined to be
|
||
mips_elf_ecoff_debug_swap.
|
||
* elf.c (bfd_elf_arch_map, bfd_elf_arch_map_size): Removed.
|
||
|
||
* libbfd-in.h (target_vector, default_vector): Declare.
|
||
* libbfd.h: Rebuilt.
|
||
* format.c (target_vector, default_vector): Don't declare.
|
||
|
||
* elf32-mips.c (elf_mips_howto_table): Don't complain on overflow
|
||
for R_MIPS_26. Correct overflow detection requires matching the
|
||
upper four bits of the destination against the PC. From Ted Lemon
|
||
<mellon@pepper.ncd.com>.
|
||
|
||
* bout.c (b_out_reloc_type_lookup): Return type should point to
|
||
const data.
|
||
* coff-i960.c (coff_i960_reloc_type_lookup): Likewise.
|
||
* elf32-hppa.c (elf_hppa_reloc_type_lookup): Likewise.
|
||
* mipsbsd.c (MY(reloc_howto_type_lookup)): Likewise.
|
||
* coff-i386.c (coff_i386_reloc): Made howto const.
|
||
* oasys.c (oasys_write_data): Made how const.
|
||
|
||
* libelf.h: Added some comments.
|
||
(struct elf_backend_data): Added elf_backend_ecoff_debug_swap
|
||
field. Removed unused write_relocs field.
|
||
* elf32-target.h: Adjusted elf_backend_data initialization
|
||
accordingly.
|
||
* elf64-target.h: Corrected elf_backend_data initialization to
|
||
fill in all fields and to set elf_64_p to 1.
|
||
|
||
Mon Nov 8 18:13:14 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* elfcode.h (bfd_section_from_shdr): Remove duplicate assignment
|
||
to filepos in SHT_STRTAB case.
|
||
(assign_file_position_for_section): Set BFD section filepos as
|
||
well as ELF section sh_offset.
|
||
|
||
* reloc.c: Use const instead of CONST.
|
||
(bfd_perform_relocation): Make variable howto a const pointer.
|
||
* bfd-in2.h, libbfd.h: Rebuilt.
|
||
|
||
Mon Nov 8 12:19:15 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||
|
||
* Makefile.in (realclean): Don't remove generated headers. Reverts
|
||
change of 2 Jul 1993.
|
||
|
||
Mon Nov 8 06:08:31 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com)
|
||
|
||
* configure.bfd: make unixware equivalent to sysv4.
|
||
|
||
* config/i386-nlm.mt: bring in elf config; make it the default.
|
||
|
||
Sun Nov 7 20:21:38 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* libbfd.c (bfd_put_8): Add parens around reference to "val"
|
||
argument.
|
||
|
||
Fri Nov 5 21:45:09 1993 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* hosts/i386mach3.h (HOST_SEGMENT_SIZE),
|
||
i386mach3.c (SEGMENT_SIZE, TEXT_START_ADDR): Correct values (?).
|
||
|
||
Fri Nov 5 15:17:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* coffcode.h (coff_write_object_contents): Zero out internal_a.
|
||
|
||
Fri Nov 5 10:41:07 1993 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* aoutx.h, archive.c, archures.c, bfd.c, cache.c, coffcode.h,
|
||
core.c, ctor.c, format.c, init.c, libbfd.c, opncls.c, reloc.c,
|
||
section.c, syms.c, targets.c:
|
||
Doc cleanup (spelling, punctuation, grammar, formatting).
|
||
* bfd-in2.h, libbfd.h: Rebuild.
|
||
|
||
Thu Nov 4 14:46:14 1993 John Gilmore (gnu@rtl.cygnus.com)
|
||
|
||
* bfd-in.h (bfd_get_cacheable, bfd_set_cacheable): New accessors.
|
||
* bfd.c, opncls.c: Improve comments on file descriptor cacheing.
|
||
|
||
Thu Nov 4 08:54:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* From Pete Hoogenboom (hoogen@cs.utah.edu)
|
||
* elf32-hppa.c (hppa_elf_get_section_contents): Fix logic error
|
||
in last change. Always rebuild symbol extension section the first
|
||
time though if output sections exist (fixes ld -r problems).
|
||
|
||
Thu Nov 04 08:08:46 1993 Jeffrey Wheat (cassidy@cygnus.com)
|
||
|
||
* Makefile.in: Add .PHONY for check and installcheck rules.
|
||
|
||
Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com)
|
||
|
||
* libbfd-in.h (artdata): Use long, not time_t for portability, at
|
||
least to HPUX. File below is a derived file.
|
||
|
||
Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com)
|
||
|
||
* libbfd.h (artdata): Use long, not time_t for portability, at
|
||
least to HPUX.
|
||
|
||
Tue Nov 2 09:32:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||
|
||
* config.bfd: Use bigmips for mips*-*-bsd*.
|
||
|
||
Mon Nov 1 14:30:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* elfcode.h (elf_slurp_reloca_table, elf_slurp_reloc_table):
|
||
Handle symbol number of zero.
|
||
|
||
* reloc.c (enum bfd_reloc_code_real): Added
|
||
BFD_RELOC_MIPS_LITERAL, BFD_RELOC_MIPS_GOT16,
|
||
BFD_RELOC_MIPS_CALL16, BFD_RELOC_MIPS_GPREL32.
|
||
* bfd-in2.h: Rebuilt.
|
||
* coff-mips.c (mips_bfd_reloc_type_lookup): Handle
|
||
BFD_RELOC_MIPS_LITERAL.
|
||
* elf32-mips.c (mips_reloc_map): Handle new relocs.
|
||
(mips_elf_hi16_reloc, mips_elf_lo16_reloc): Rearrange _gp_disp
|
||
checks slightly.
|
||
|
||
* aout-target.h (MY_bfd_debug_info_start, MY_bfd_debug_info_end,
|
||
MY_bfd_debug_info_accumulat [sic]): Remove unused definitions.
|
||
(MY_bfd_get_relocated_section_contents, MY_bfd_relax_section,
|
||
MY_bfd_seclet_link): Define.
|
||
(MY_bfd_reloc_type_lookup): Rename from
|
||
MY_reloc_howto_type_lookup.
|
||
(MY_bfd_make_debug_symbol): Rename from MY_make_debug_symbol.
|
||
(MY(vec)): Use JUMP_TABLE rather than listing functions.
|
||
* hp300hpux.c (MY_get_symtab, MY_get_symtab_upper_bound,
|
||
MY_canonicalize_reloc, MY_write_object_contents): Don't define in
|
||
terms of MY, because that causes a recusive invocation of CAT when
|
||
expanded within JUMP_TABLE, and ANSI compilers don't expand
|
||
recursive macros.
|
||
* mipsbsd.c (MY_bfd_reloc_type_lookup): Rename from
|
||
MY_reloc_howto_type_lookup, and don't define in terms of MY.
|
||
(MY_canonicalize_reloc): Don't define in terms of MY.
|
||
(aout_mips_little_vec, aout_mips_big_vec): Use JUMP_TABLE rather
|
||
than listing functions.
|
||
|
||
Mon Nov 1 09:12:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||
|
||
* config.bfd: Use m68k-elf for m68*-*-sysv4*.
|
||
|
||
See file ChangeLog.1
|
||
|
||
|
||
Local Variables:
|
||
mode: indented-text
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|