Age | Commit message (Collapse) | Author | Files | Lines |
|
constructors and a few other special cases.
* coff-rs6000.c (rs6000coff_vec): Set symbol_leading_char back to
zero, reverting yesterday's change.
* bfd-in.h (bfd_xcoff_link_record_set): Declare.
(bfd_xcoff_link_count_reloc): Declare.
(bfd_xcoff_record_link_assignment): Declare.
* bfd-in2.h: Rebuild.
|
|
targ_defvec to ecoff_big_vec.
|
|
|
|
linker.
* libcoff-in.h (struct xcoff_tdata): Add full_aouthdr,
toc_section, and entry_section fields.
(struct xcoff_section_tdata): Remove ldrel_count field.
* libcoff.h: Rebuild.
* coffcode.h (coff_mkobject_hook): Initialize new xcoff_data
fields.
(coff_compute_section_file_positions): If RS6000COFF_C, generate
full a.out header if full_aouthdr is set in xcoff_data.
(coff_write_object_contents): Likewise. Set o_snentry and o_sntoc
based on sections stored in xcoff_data.
* coff-rs6000.c (xcoff_copy_private_bfd_data): Copy new xcoff_data
fields.
* coffgen.c (coff_get_symbol_info): If fix_value is set, fix the
value stored in ret rather than returning a pointer value.
|
|
|
|
since they're free'd by free_cached_info.
(som_slurp_symbol_table): Similarly for the symbol table.
Fixes crash (nm /lib/libc.a on hpux10).
|
|
|
|
|
|
|
|
output_bfd is not SunOS.
(bfd_sunos_size_dynamic_sections): Likewise. Don't scan relocs of
non-SunOS input files.
PR 8270.
|
|
and generating a .loader section.
* libcoff-in.h (struct xcoff_tdata): Add import_file_id field.
(struct xcoff_section_tdata): Add first_symndx, last_symndx,
and ldrel_count fields.
* libcoff.h: Rebuild.
* coff-rs6000.c (xcoff_howto_table): Correct reloc names.
* coffcode.h (styp_to_sec_flags): Don't set any flags if STYP_PAD
is set.
* bfd-in.h (bfd_xcoff_import_symbol): Declare.
(bfd_xcoff_export_symbol): Declare.
(bfd_xcoff_size_dynamic_sections): Declare.
* bfd-in2.h: Rebuild.
|
|
* configure: Rebuild.
* mpw-config.in: Add xcofflink.c.o to powerpc-apple-macos.
* coff-pmac.c: Include coff-rs6000.c instead of duplicating its
contents.
(pmac_xcoff_vec): Update to use new xcoff support.
* coff-rs6000.c (xcoff_generic_stat_arch_elt): Make static.
(xcoff_write_armap): Declare buf as unsigned char.
* xcofflink.c (xcoff_link_add_symbols): Declare a local as PTR.
* mpw-make.sed: Generalize subdir_do edit.
|
|
correctly. Don't initialize asect->vma.
|
|
little less than the page size.
|
|
* coff-i386.c (coff_i386_reloc_type_lookup): New.
* coffcode.h (coff_write_object_contents): If .bss is before
.data us that as data_start.
* cofflink.c (_bfd_coff_generic_relocate_section): Get reloc
calc correct.
* peicode.h (add_data_entry): Use _cooked_size of data directory.
(coff_swap_outhdr_out): Hardwire in version number.
|
|
to *_vno, since the former are also macros in SunOS header files. Cast result
of bfd_alloc to appropriate type.
|
|
to sec_data.
|
|
now relative to the section, not absolute.
* ecofflink.c (_bfd_ecoff_locate_line): Use the right symbol to
get the file name when there is a N_SO directory name. When
handling stabs, remember that section->vma was added to the
offset.
PR 8223.
|
|
(sunos_link_hash_table_create): Call bfd_release, not free.
(sunos_link_hash_table_create): Initialize needed field.
(sunos_add_dynamic_symbols): Record needed objects.
(bfd_sunos_get_needed_list): New function.
* bfd-in.h (bfd_sunos_get_needed_list): Declare.
* bfd-in2.h: Rebuild.
|
|
bfd_elf_link_needed_list.
* bfd-in2.h: Rebuild.
* elf.c, elflink.h, libelf.h: Corresponding changes.
|
|
* xcofflink.c: New file.
* configure.in (rs600coff_vec): Use xcofflink.o.
* configure: Rebuild.
* libcoff-in.h (struct xcoff_tdata): Add csects and debug_indices
fields.
(struct xcoff_section_tdata): Define.
(xcoff_section_data): Define macro.
(_bfd_xcoff_bfd_link_hash_table_create): Declare.
(_bfd_xcoff_bfd_link_add_symbols): Declare.
(_bfd_xcoff_bfd_final_link): Declare.
(_bfd_ppc_xcoff_relocate_section): Declare.
* libcoff.h: Rebuild.
* coff-rs6000.c: Clean up a bit.
(xcoff_mkobject): Default modtype to 1L, not RE. Initialize
cputype, csects, and debug_indices.
(xcoff_copy_private_bfd_data): Copy cputype.
(xcoff_howto_table): Rename from rs6000coff_howto_table.
(xcoff_rtype2howto): Rename from rs6000coff_rtype2howto.
(xcoff_reloc_type_lookup): Rename from
rs6000coff_reloc_type_lookup.
(coff_relocate_section): Define.
(_bfd_xcoff_sizeof_headers): Define.
(_bfd_xcoff_bfd_get_relocated_section_contents): Define.
(_bfd_xcoff_bfd_relax_section): Define.
(_bfd_xcoff_bfd_link_split_section): Define.
(rs6000coff_vec): For BFD_JUMP_TABLE_LINK, use _bfd_xcoff, not
coff.
* coffcode.h (coff_compute_section_file_positions): If AIX,
increment sofar by SMALL_AOUTSZ if not executable.
(coff_write_object_contents): If AIX, always output an a.out
header; if not executable, header size of SMALL_AOUTSZ.
* hash.c (struct bfd_strtab_hash): Add xcoff field.
(_bfd_stringtab_init): Initialize xcoff field.
(_bfd_xcoff_stringtab_init): New function.
(_bfd_stringtab_add): In XCOFF mode, leave two bytes for length.
(_bfd_stringtab_emit): In XCOFF mode, write out length.
* libbfd-in.h (_bfd_xcoff_stringtab_init): Declare.
* libbfd.h: Rebuild.
* Makefile.in: Rebuild dependencies.
(BFD32_BACKENDS): Add xcofflink.o.
(CFILES): Add xcofflink.c.
ld -r works on hello, world.
|
|
|
|
SEC_NO_FLAGS, for .acommon section. From Peter Schauer
<Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>.
|
|
|
|
* coff-arm.c (in_reloc_p): New.
* coff-i386.c (in_reloc_p): New.
* coffcode.h: Allways include peicode.h if COFF_WITH_PE.
(coff_write_object_contents): Only set has_reloc_section
if PE_IMAGE.
* cofflink.c (_bfd_coff_generic_relocate_section): Call
in_reloc_p to decide if reloc should be emitted.
* libcoff.h (pe_data_type.in_reloc_p): New.
* peicode.h (pe_mkobject): Initialize in_reloc_p.
|
|
under which type and size change warnings are issued.
|
|
|
|
|
|
changing the size or type if the old definition was weak.
|
|
(coff_slurp_line_table): Warn if we try to set the lineno field of
a symbol twice.
(coff_slurp_symbol_table): If RS6000COFF_C, handle C_BINCL and
C_EINCL by setting fix_line. Fix C_BSTAT symbol value.
* coffgen.c (coff_mangle_symbols): Handle fix_line.
(coff_write_symbol): Only use N_DEBUG if the symbol is in the
absolute section.
(coff_print_symbol): Print fix_value symbols in a useful fashion.
* libcoff.h: Rebuild.
|
|
(xcoff_data): Define.
* bfd.c (struct _bfd): Add xcoff_obj_data field to tdata union.
* bfd-in2.h, libcoff.h: Rebuild.
* coff-rs6000.c (xcoff_mkobject): New static function.
(coff_mkobject): Define.
(xcoff_copy_private_bfd_data): New static function.
(coff_bfd_copy_private_bfd_data): Define.
(rs6000coff_howto_table): Change R_TOC complain_on_overflow from
signed to bitfield.
(rs6000coff_vec): Add DYNAMIC to object_flags.
* coffcode.h (sec_to_styp_flags): If RS6000COFF_C, handle .pad and
.loader sections specially.
(coff_new_section_hook): If RS6000COFF_C, get the .text and .data
section alignment from the XCOFF tdata information.
(coff_mkobject_hook): If RS6000COFF_C, set DYNAMIC based on
F_SHROBJ, and copy the extra a.out header information into the
XCOFF tdata structure.
(coff_write_object_contents): If RS6000COFF_C, set F_SHROBJ,
F_DYNLOAD and the extra a.out header information.
(coff_slurp_symbol_table): Set BSF_NOT_AT_END for a C_EXT or
C_HIDEXT symbol with attached csect information.
* coffswap.h (coff_swap_aouthdr_in): If RS6000COFF_C, swap
in the o_maxdata field.
(coff_swap_aouthdr_out): If RS6000COFF_C, swap extra XCOFF fields.
* coffgen.c (coff_renumber_symbols): Don't move any symbol to the
end if BSF_NOT_AT_END is set.
|
|
XCOFF XTY_LD symbol.
|
|
_bfd_read_ar_hdr_fn.
* libbfd-in.h (_bfd_read_ar_hdr): Update accordingly.
* bfd-in2.h, libbfd.h: Rebuild.
* archive.c (_bfd_get_elt_at_filepos): Cast _bfd_read_ar_hdr
return value.
(do_slurp_bsd_armap, do_slurp_coff_armap): Likewise.
(bfd_slurp_bsd_armap_f2): Likewise.
(_bfd_slurp_extended_name_table): Likewise.
|
|
auxent if there isn't one.
(coff_write_symbols): If there is no file auxent, use SYMNMLEN
rather than FILNMLEN as the maximum name length.
|
|
<schwab@issan.informatik.uni-dortmund.de>
* archive.c (bfd_get_next_mapent): Return BFD_NO_MORE_SYMBOLS when the symbol
table is empty.
* elf32-m68k.c (elf_m68k_size_dynamic_sections): Don't reserve space for
section symbols, since we don't output them either.
(elf_m68k_adjust_dynindx): Removed.
* ptrace-core.c (rawptr): Make it a local variable of ptrace_unix_core_file_p.
* trad-core.c (rawptr): Likewise, for trad_unix_core_file_p.
|
|
_bfd_coff_print_aux.
(bfd_coff_print_aux): New static function.
(coff_pointerize_aux_hook (RS6000COFF_C version)): Pointerize the
scnlen field of an XTY_LD csect aux entry.
(coff_print_aux): New static function.
(coff_slurp_symbol_table): Don't pointerize scnlen field; now done
in coff_pointerize_aux_hook.
(bfd_coff_std_swap_table): Initialize new field.
* coffgen.c (coff_print_symbol): Call bfd_coff_print_aux.
* libcoff.h: Rebuild.
* coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
* coff-mips.c (mips_ecoff_backend_data): Likewise.
|
|
if there are symbols, for native AIX ld compatibility.
|
|
_bfd_coff_pointerize_aux_hook.
(coff_pointerize_aux_hook): Define as a function if RS6000COFF_C
or I960, and as 0 otherwise.
(bfd_coff_std_swap_table): Initialize new field.
* libcoff.h: Rebuild.
* coffgen.c (coff_pointerize_aux): Change parameters to take
symbol pointer instead of type and class, and to take aux index.
Call _bfd_coff_pointerize_aux_hook if it is defined.
(coff_get_normalized_symtab): Always call coff_pointerize_aux.
* coff-alpha.c (alpha_ecoff_backend_data): Initialize all fields.
* coff-mips.c (mips_ecoff_backend_data): Likewise.
|
|
if RS6000COFF_C.
|
|
|
|
|
|
BFD_JUMP_TABLE_ARCHIVE accordingly.
* libbfd-in.h (_bfd_snarf_ar_hdr): Don't declare.
(_bfd_compute_and_write_armap): Declare.
(_bfd_generic_read_ar_hdr): Declare.
(_bfd_read_ar_hdr): Define.
(_bfd_noarchive_read_ar_hdr): Define.
(_bfd_archive_bsd_read_ar_hdr): Define.
(_bfd_archive_coff_read_ar_hdr): Define.
* archive.c: Change all callers of _bfd_snarf_ar_hdr to call
_bfd_read_ar_hdr instead.
(_bfd_generic_read_ar_hdr): Rename from _bfd_snarf_ar_hdr.
(_bfd_compute_and_write_armap): Rename from
compute_and_write_armap. Make non-static. Change all callers.
* ecoff.c (_bfd_ecoff_slurp_armap): Call _bfd_read_ar_hdr rather
than _bfd_snarf_ar_hdr.
* aout-target.h (MY_read_ar_hdr): Define if not defined.
* ieee.c (ieee_read_ar_hdr): Define.
* libecoff.h (_bfd_ecoff_read_ar_hdr): Define.
* oasys.c (oasys_read_ar_hdr): Define.
* som.c (som_read_ar_hdr): Define.
* bfd-in2.h, libbfd.h: Rebuild.
|
|
zero, there aren't any symbols, even if nsyms is set.
|
|
field.
* ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha
sections, and set styp correctly for them: .got, .hash, .dynamic,
.liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment.
(_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section
types.
(ecoff_sort_hdrs): New static function.
(ecoff_compute_section_file_positions): Return boolean, not void.
Sort the sections by VMA before looking through them. Put the
first non SEC_ALLOC section on a new page. Put every SEC_ALLOC
section on an appropriate boundary within the page.
(ecoff_compute_reloc_file_positions): Check return value of
ecoff_compute_section_file_positions.
(_bfd_ecoff_set_section_contents): Likewise.
(_bfd_ecoff_write_object_contents): Check for various Alpha
section types when incrementing text_size and data_size. Call
adjust_headers backend function if it exists.
* coff-alpha.c (alpha_adjust_headers): New static function.
(alpha_ecoff_backend_data): Initialize adjust_headers field.
* coff-mips.c (mips_ecoff_backend_data): Likewise.
PR 8141.
|
|
|
|
of ALTERNATE_AIX_CORE_FORMAT.
* configure.in (aix4): No longer need CORE_FLAGS.
* configure: Updated.
|
|
* aoutx.h (MY_final_link_relocate, MY_relocate_contents): New macros.
(aout_link_input_section_std, aout_link_input_section_ext,
aout_link_reloc_link_order): Call them instead of _bfd_* versions.
* aout-target.h (MY_exec_header_not_counted): New macro, defaults to zero.
(backend_data): Use it instead of hardcoded zero.
* aout-ns32k.c (CTOR_TABLE_RELOC_HOWTO): New macro.
(MY_swap_std_reloc_out): Use udata.i for KEEPIT, don't call stoi.
* ns32knetbsd.c: Include bfd.h.
(MY_text_includes_header, MY_bfd_reloc_type_lookup): New macros.
(MY_bfd_reloc_type_lookup): Declare function too.
* pc532-mach.c (set_sizes): Don't declare.
(MY_text_includes_header, MY_exec_header_not_counted): Define.
(backend_data, MY_backend_data): Don't define.
* config.bfd: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and ns32k-*-lites*
like ns32k-*-netbsd*.
* hosts/nbsd.h: Swap order of sys/vmparam.h and sys/param.h, to compile on
lites.
|
|
f_timdat to 0, deleted on August 22.
|
|
* coffcode.h (coff_bfd_copy_private_symbol_data,
coff_bfd_copy_private_section_data,
coff_bfd_copy_private_bfd_data): ifdef to allow overrides.
* peicode.h (coff_bfd_copy_private_bfd_data): New
(pe_bfd_copy_private_bfd_data): New.
(coff_swap_scnhdr_in): Swap bss size into the right place.
(pe_print_private_bfd_data): Add some newlines.
|
|
|