Commit graph

855 commits

Author SHA1 Message Date
Nick Clifton
aa76cae82e Fix formatting and spelling mistakes 2000-09-03 19:14:36 +00:00
Phil Blundell
05924f3654 2000-09-03 Philip Blundell <philb@gnu.org>
* elf32-arm.h (elf32_arm_relocate_section): Don't try to relocate
	references to undefined symbols in debugging sections.
2000-09-03 16:32:02 +00:00
H.J. Lu
3d96075c0c 2000-09-02 H.J. Lu <hjl@gnu.org>
* reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT,
	BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE,
	BFD_RELOC_SH_GOTPC): Move them from the MIPS section to the SH
	section.
2000-09-03 02:57:52 +00:00
Jason Eckhardt
de24da47db 2000-09-02 Jason Eckhardt <jle@cygnus.com>
* elf32-i860.c (bfd_elf32_bfd_is_local_label_name): Define macro.
        (elf32_i860_is_local_label_name): New function and prototype.
2000-09-03 01:39:08 +00:00
Nick Clifton
18e03609ef Increase minor version number (to 2.10.91) to help tools detect the new
ability to support removal of duplciate DWARF@ debug information.
2000-09-02 21:35:47 +00:00
Nick Clifton
7a6cc5fb0c Add .gnu.linkobce.wi. to the list of debug section names.
Update generated files
2000-09-02 20:33:48 +00:00
Nick Clifton
a092b08432 Find all sections containing debug information and include them in the stash. 2000-09-02 20:21:40 +00:00
Alexandre Oliva
37c644f2f5 * elf32-sh.c (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New.
(sh_reloc_map): Add new relocs.
(sh_elf_check_relocs, sh_elf_link_hash_newfunc,
sh_elf_link_hash_table_create, sh_elf_adjust_dynamic_symbol,
sh_elf_size_dynamic_sections, sh_elf_finish_dynamic_symbol,
sh_elf_finishe_dynamic_sections, sh_elf_discard_copies): New
functions.
(ELF_DYNAMIC_INTERPRETER, PLT_ENTRY_SIZE): Define.
(elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
elf_sh_plt_entry_be, elf_sh_plt_entry_le,
elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
New array constants.
(elf_sh_plt0_entry, elf_sh_plt_entry, elf_sh_pic_plt_entry):
New variables.
(elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset,
elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset,
elf_sh_plt_reloc_offset): Define.
(elf_sh_pcrel_relocs_copied, elf_sh_link_hash_entry,
elf_sh_link_hash_table): New structs.
(sh_elf_link_hash_traverse, sh_elf_hash_table): New macros.
(sh_elf_relocate_section, sh_elf_check_relocs): Handle new
relocation types.
(elf_backend_create_dynamic_sections,
bfd_elf32_bfd_link_hash_table_create,
elf_backend_adjust_dynamic_symbol,
elf_backend_size_dynamic_sections,
elf_backend_finish_dynamic_symbol,
elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
elf_backend_plt_readonly, elf_backend_want_plt_sym,
elf_backend_got_header_size, elf_backend_plt_header_size):
Define.
* reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT,
BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE, BFD_RELOC_SH_GOTPC):
New relocs.
* bfd-in2.h, libbfd.h: Rebuilt.
2000-09-02 02:33:26 +00:00
Alan Modra
791987aff2 (elf_i386_finish_dynamic_symbol): Remove unnecessary check added 2000-08-27. 2000-09-01 11:17:07 +00:00
Joern Rennecke
a39b79b997 * elf32-sh.c (sh_elf_merge_private_data): If ibfd's elf header flags
not initialized, set them to indicate the SH1 instruction set.
2000-08-31 22:15:42 +00:00
Alexandre Oliva
ac48eca1ad * acinclude.m4: Include libtool and gettext macros from the
top level.
* aclocal.m4, configure: Rebuilt.
2000-08-31 09:46:11 +00:00
Michael Snyder
7ee3806531 2000-08-29 Michael Snyder <msnyder@seadog.cygnus.com>
* elf.c: Eliminate references to __sparcv9 macro; replace with
        autoconf variables HAVE_PSINFO32_T etc.
        * configure.in: Auto-configure HAVE_PSINFO_32_T, HAVE_PRPSINFO32_T,
        HAVE_PSTATUS32_T, HAVE_PRSTATUS32_T, HAVE_PRSTATUS32_T_PR_WHO.
        * config.in: Ditto.
        * acinclude.m4 (BFD_HAVE_SYS_PROCFS_TYPE) define _SYSCALL32 so it can
        detect the above typedefs.  (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Ditto.
        * aclocal.m4: Ditto.
        * configure: Regenerate.
2000-08-30 18:12:21 +00:00
Alan Modra
f69da49f95 Reclaim reloc space for symbols that have been forced local. 2000-08-27 08:10:16 +00:00
Nick Clifton
724982f606 Allow common symbols to have an alignment of 1 if explicitly requested, and
not overridden by other definitions.
2000-08-24 17:41:40 +00:00
Nick Clifton
371e71b8de Fix bugs detecting w65 architecture. 2000-08-22 20:11:36 +00:00
H.J. Lu
a963dc6ade 2000-08-22 H.J. Lu <hjl@gnu.org>
* elf-bfd.h (elf_link_hash_table): Add runpath.

	* bfd-in.h (bfd_elf_get_runpath_list): New prototype.
	* bfd-in2.h: Rebuilt.

	* elf.c (_bfd_elf_link_hash_table_init): Initialize the
	"runpath" field to NULL.
	(bfd_elf_get_runpath_list): New function.

	* elflink.h (elf_link_add_object_symbols): Record DT_RPATH and
	DT_RUNPATH entries.
2000-08-22 19:33:16 +00:00
Alexandre Oliva
9bdafcced4 * elf32-sh.c (sh_elf_relocate_section) [R_SH_IND12W,
R_SH_DIR8WPN, R_SH_DIR8WPZ, R_SH_DIR8WPL]: Handle them
explicitly.  Improve validation of r_type.
2000-08-22 04:58:25 +00:00
Nick Clifton
7a9af8c4a0 Zero out the dynamic allocated content space. Add a comment to remind us that
one day this ought to be fixed.
2000-08-21 23:42:56 +00:00
Jason Eckhardt
ded0649cd5 2000-08-21 Jason Eckhardt <jle@cygnus.com>
bfd:
	* elf32-i860.c (elf32_i860_relocate_pc16): Just write the immediate
	field with the newly relocated value instead of adding it to the
	existing immediate field.
	(elf32_i860_relocate_splitn): Likewise.
	(elf32_i860_relocate_highadj): Likewise.

gas:
	* config/tc-i860.c (md_apply_fix3): Do not insert the immediate
	if the fixup resulted in a relocation.
2000-08-21 23:26:19 +00:00
Jason Eckhardt
d670a150a1 2000-08-16 Jason Eckhardt <jle@cygnus.com>
* elf32-i860.c (elf32_i860_relocate_pc16): Implemented function (it
        was previously just a stub).
2000-08-16 21:58:55 +00:00
Alexandre Oliva
bb0deeff61 * elflink.c (_bfd_elf_create_got_section): Don't abort().
Formatting fixes.
(_bfd_elf_create_dynamic_sections): Likewise.
2000-08-16 18:02:16 +00:00
Jakub Jelinek
be040dbb5b * elf64-sparc.c (sparc64_elf_relocate_section): Set relocation address
for undefined symbols to be the beginning of the section.

	* elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Don't allocate
	four extra entries at the beginning of the .rela.plt section.
	(sparc64_elf_finish_dynamic_symbol): Adjust the offset in the .rela.plt
	section to account for the four reserved entries in the .plt section.
2000-08-16 17:42:21 +00:00
Geoffrey Keating
31612ca61a * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Add ori r0,r0,0
to the list of NOPs we recognize after a branch-and-link.
Use the ori NOP when one is needed.

* coff-rs6000.c (_bfd_xcoff_slurp_armap): Finish implementation
for large archives.
2000-08-16 00:34:19 +00:00
Jim Wilson
c43c2cc5fa Add support for IA-64 specific elf header flags.
bfd/
2000-08-14  Jim Wilson  <wilson@cygnus.com>
	* elf64-ia64.c (elf64_ia64_merge_private_bfd_data): Handle
	EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP, and EF_IA_64_NOFUNCDESC_CONS_GP.
	(elf64_ia64_print_private_bfd_data): Likewise.  Also handle
	EF_IA_64_ABSOLUTE.
gas/
2000-08-14  Jim Wilson  <wilson@cygnus.com>
	* config/tc-ia64.c (md_longopts): Add -mconstant-gp and -mauto-pic.
	(md_parse_option):  Add OPTION_MCONSTANT_GP and OPTION_MAUTO_PIC.
	(md_begin): Change assignment to md.flag to OR in the new bit.
include/elf/
2000-08-14  Jim Wilson  <wilson@cygnus.com>
	* elf/ia64.h (EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP,
	EF_IA_64_NOFUNCDESC_CONS_GP, EF_IA_64_ABSOLUTE): Define.
2000-08-14 20:13:39 +00:00
Alexandre Oliva
1630fd2bf1 * elf32-sh.c (sh_elf_set_mach_from_flags): Make it static. 2000-08-11 14:35:41 +00:00
Jason Eckhardt
fdeafce79e 2000-08-10 Jason Eckhardt <jle@cygnus.com>
* elf32-i860.c (elf32_i860_relocate_section): New function.
        (i860_final_link_relocate): New function.
        (elf32_i860_relocate_splitn): New function.
        (elf32_i860_relocate_pc16): New function.
        (elf32_i860_relocate_highadj): New function.
        (elf32_i860_howto): Minor adjustments to some relocations.
        (elf_info_to_howto_rel): Define.
        (elf_backend_relocate_section): Define.
2000-08-10 21:09:42 +00:00
Nick Clifton
9b485d32de Fix formatting 2000-08-10 19:41:07 +00:00
Bernd Schmidt
00fdaf47d5 Fix bug in sh_elf_reloc_loop 2000-08-10 10:00:56 +00:00
Jason Eckhardt
305d537e30 gas:
2000-08-08  Jason Eckhardt  <jle@cygnus.com>

	* config/tc-i860.h: Rework completely for BFD_ASSEMBLER.
	(i860_fix_info): New enum.
	(MD_APPLY_FIX3): Define.
	(WORKING_DOT_WORD): Define.
	(TC_HANDLES_FX_DONE): Define.
	(DIFF_EXPR_OK): Define.
	(LISTING_HEADER): Define.
	(TARGET_FORMAT): Select target format based on endian flag.
	(TARGET_BYTES_BIG_ENDIAN): Default to little endian.
	(target_big_endian): Add external declaration.

	* config/tc-i860.c: All existing code reworked completely. Other
	new code shown below.
	(SYNTAX_SVR4): Define.
	(target_warn_expand): New variable.
	(md_shortopts): Declare and define (-Qy, -Qn, and -V options).
	(md_longopts): Declare and define with new options (-EL, -EB,
	and -mwarn-expand).
	(md_show_usage): New function.
	(md_operand): New function.
	(obtain_reloc_for_imm16): New function.
	(md_apply_fix3): New function.
	(tc_gen_reloc): New function.

include:
2000-08-08  Jason Eckhardt  <jle@cygnus.com>

	* opcode/i860.h: Small formatting adjustments.

opcode:
2000-08-08  Jason Eckhardt  <jle@cygnus.com>

	* i860-dis.c (print_br_address): Change third argument from int
	to long.

bfd:
2000-08-08  Jason Eckhardt  <jle@cygnus.com>
	* elf32-i860.c (elf32_i860_howto_table): Updated some fields.
2000-08-09 03:33:42 +00:00
Kazu Hirata
dce618356b Apply Nick Clifton's suggestion. 2000-08-07 19:46:11 +00:00
Kazu Hirata
46f5aac8f5 2000-08-07 Kazu Hirata <kazu@hxi.com>
* ieee.c: Fix a comment typo.
	* elf64-ia64.c: Likewise.
2000-08-07 19:39:55 +00:00
Jason Eckhardt
0e5136c692 2000-08-05 Jason Eckhardt <jle@cygnus.com>
* elf32-i860 (elf32_i860_howto_table): New structure.
        (lookup_howto): New function.
        (elf32_i860_reloc_type_lookup): New function.
        (elf32_i860_info_to_howto_rela): New function.
        (elf_code_to_howto_index): New structure.
        (elf_info_to_howto): Re-define as elf32_i860_info_to_howto_rela.
        (bfd_elf32_bfd_reloc_type_lookup): Re-define as
        elf32_i860_reloc_type_lookup.
2000-08-05 16:48:52 +00:00
Jeff Law
7dca057bba * som.c (struct fixup_format): Constify `format'.
(som_hppa_howto_table): Use SOM_HOWTO macro.
        (try_prev_fixup, hppa_som_reloc): Decorate unused parameter.
        (som_bfd_reloc_type_lookup): Likewise.
        (compare_subspaces): Remove unused `count1', `count2'.
        (som_begin_writing): Remove unused `total_reloc_size'.
        (som_bfd_derive_misc_symbol_info): Decorate unused parameter.
        (som_print_symbol, som_bfd_is_local_label_name): Likewise.
        (som_set_reloc_info): Constify `cp'. Remove unused `addend'.
        (som_find_nearest_line): Decorate unused parameter(s).
        (som_sizeof_headers, som_get_symbol_info, som_write_armap): Likewise.
        (som_bfd_link_split_section): Likewise.
2000-08-04 15:17:37 +00:00
Nick Clifton
dcb5e6e634 If the destination of a BLX instruction is aligned on a half word boundary,
set the H bit.
2000-08-04 00:07:42 +00:00
Nick Clifton
bc67d8a6e3 Restore reverted code. Fix bug in reverted code which was eliminating too
many segments.
2000-08-03 19:40:29 +00:00
H.J. Lu
c0f7859bc6 2000-08-03 H.J. Lu <hjl@gnu.org>
* section.c: Back out the change made by Nick Clifton
	<nickc@cygnus.com> on 2000-07-31. It breaks stripping dynamic
	binaries.
	* bfd-in2.h: Likewise.
	* elf.c: Likewise.
2000-08-03 13:50:35 +00:00
Alexandre Oliva
61ff180434 * elf32-sh.c (sh_elf_reloc_loop): Warning removal. 2000-08-03 09:30:50 +00:00
Jason Eckhardt
a87fdb8d10 2000-07-31 Jason Eckhardt <jle@cygnus.com>
* reloc.c (BFD_RELOC_860_*): New bfd relocs for i860.
        * bfd-in2.h, libbfd.h: Regenerate.
2000-08-01 01:45:29 +00:00
Nick Clifton
a022216bd4 Minor formatting fixes. 2000-07-31 18:49:56 +00:00
Nick Clifton
5c440b1e3b Improve section to segment mapping code. 2000-07-31 18:45:26 +00:00
Jason Eckhardt
24208c5c83 200007-22 Jason Eckhardt <jle@cygnus.com>
* cpu-i860.c: Added comments.

	* elf32-i860.c (TARGET_LITTLE_SYM): Defined to
	bfd_elf32_i860_little_vec.
	(TARGET_LITTLE_NAME): Defined to "elf32-i860-little".
	(ELF_MAXPAGESIZE): Changed to 4096.

	* targets.c (bfd_elf32_i860_little_vec): Declaration of
	new target.
	(bfd_target_vector): Added bfd_elf32_i860_little_vec.

	* config.bfd (i860-stardent-sysv4*, i860-stardent-elf*): Added
	config for little endian elf32 i860.
	(targ_defvec): Define for the new config above
	as "bfd_elf32_i860_little_vec".
	(targ_selvecs): Define for the new config above
	as "bfd_elf32_i860_vec bfd_elf32_i860_little_vec"

	* configure.in (bfd_elf32_i860_little_vec): Added recognition
	of new target vec.

	* configure: Regenerated.
2000-07-28 21:15:04 +00:00
Jason Eckhardt
9d75133528 2000-07-22 Jason Eckhardt <jle@cygnus.com>
* include/opcode/i860.h (btne, bte, bla): Changed these opcodes
	to use sbroff ('r') instead of split16 ('s').
	(J, K, L, M): New operand types for 16-bit aligned fields.
	(ld.x, {p}fld.x, fst.x, pst.d): Changed these opcodes to
	use I, J, K, L, M instead of just I.
	(T, U): New operand types for split 16-bit aligned fields.
	(st.x): Changed these opcodes to use S, T, U instead of just S.
	(andh, andnoth, orh, xorh): Deleted 3-register forms as they do not
	exist on the i860.
	(pfgt.sd, pfle.sd): Deleted these as they do not exist on the i860.
	(pfeq.ss, pfeq.dd): New opcodes.
	(st.s): Fixed incorrect mask bits.
	(fmlow): Fixed incorrect mask bits.
	(fzchkl, pfzchkl): Fixed incorrect mask bits.
	(faddz, pfaddz): Fixed incorrect mask bits.
	(form, pform): Fixed incorrect mask bits.
	(pfld.l): Fixed incorrect mask bits.
	(fst.q): Fixed incorrect mask bits.
	(all floating point opcodes): Fixed incorrect mask bits for
	handling of dual bit.

	* include/elf/i860.h: New file.
	(elf_i860_reloc_type): Defined ELF32 i860 relocations.

	* bfd/cpu-i860.c: Added comments.

	* bfd/elf32-i860.c (TARGET_LITTLE_SYM): Defined to
	bfd_elf32_i860_little_vec.
	(TARGET_LITTLE_NAME): Defined to "elf32-i860-little".
	(ELF_MAXPAGESIZE): Changed to 4096.

	* bfd/targets.c (bfd_elf32_i860_little_vec): Declaration of
	new target.
	(bfd_target_vector): Added bfd_elf32_i860_little_vec.

	* bfd/config.bfd (i860-stardent-sysv4*, i860-stardent-elf*): Added
	config for little endian elf32 i860.
	(targ_defvec): Define for the new config above
	as "bfd_elf32_i860_little_vec".
	(targ_selvecs): Define for the new config above
	as "bfd_elf32_i860_vec bfd_elf32_i860_little_vec"

	* bfd/configure.in (bfd_elf32_i860_little_vec): Added recognition
	of new target vec.

	* bfd/configure: Regenerated.

	* opcodes/i860-dis.c: New file.
	(print_insn_i860): New function.
	(print_br_address): New function.
	(sign_extend): New function.
	(BITWISE_OP): New macro.
	(I860_REG_PREFIX): New macro.
	(grnames, frnames, crnames): New structures.

	* opcodes/disassemble.c (ARCH_i860): Define.
	(disassembler): Add check for bfd_arch_i860 to set disassemble
	function to print_insn_i860.

	* include/dis-asm.h (print_insn_i860): Add prototype.

	* opcodes/Makefile.in (CFILES): Added i860-dis.c.
	(ALL_MACHINES): Added i860-dis.lo.
	(i860-dis.lo): New dependences.

	* opcodes/configure.in: New bits for bfd_i860_arch.

	* opcodes/configure: Regenerated.
2000-07-28 21:10:20 +00:00
H.J. Lu
456981d715 2000-07-27 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_merge_symbol): Take one more argument,
	dt_needed, to indicate if the symbol comes from a DT_NEEDED
	entry. Don't overide the existing weak definition if dt_needed
	is true.
	(elf_link_add_object_symbols): Pass dt_needed to
	elf_merge_symbol ().
2000-07-28 00:49:07 +00:00
Nick Clifton
755cfd2922 Zero the allocated contents of reloc sections. 2000-07-27 22:35:08 +00:00
Geoffrey Keating
adfdf8387c * configure.host (*-*-aix*): AIX has 'long long' always. 2000-07-25 19:29:42 +00:00
Geoffrey Keating
1a6df346e3 * coff-rs6000.c (xcoff_write_one_armap_big): New procedure.
(xcoff_write_armap_big): Write both 32-bit and 64-bit armaps.
(xcoff_write_archive_contents_big): Don't update the offset
of the symbol table, xcoff_write_armap will do it.
2000-07-25 19:25:40 +00:00
Nick Clifton
3eb6f68f1b Regenerate auto-generated files 2000-07-24 17:22:17 +00:00
Ulf Carlsson
313ba8d62b 2000-07-23 Ulf Carlsson <ulfc@engr.sgi.com>
* elf32-mips.c (_bfd_mips_elf_check_relocs): Use abfd instead
	of dynobj for SGI_COMPAT checks.
2000-07-23 20:51:35 +00:00
Nick Clifton
e702a51c72 oops - omitted from previous delta 2000-07-21 23:40:12 +00:00
Nick Clifton
20bccb3485 Applied Michael's Sokolov's patch to implement --embedded-relocs for m68k coff. 2000-07-21 23:31:53 +00:00
Nick Clifton
7a3120d9a6 Detect and report corrupt relocs 2000-07-21 19:56:19 +00:00
H.J. Lu
4d538889a8 2000-07-20 H.J. Lu <hjl@gnu.org>
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Don't check
	info->new_dtags when setting DT_FLAGS_1. It will only be set
	by the new linker options. It shouldn't break anything.
2000-07-21 03:58:32 +00:00
H.J. Lu
b586af581d 2000-07-20 H.J. Lu <hjl@gnu.org>
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set DT_FLAGS_1
	only if info->new_dtags is true.
2000-07-21 02:16:31 +00:00
H.J. Lu
c25373b76a 2000-07-20 H.J. Lu <hjl@gnu.org>
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set
	DT_RUNPATH and DT_FLAGS only if info->new_dtags is true.
2000-07-20 21:16:58 +00:00
Hans-Peter Nilsson
3bd336f7c8 Fix typo in CRIS entry 2000-07-20 16:35:18 +00:00
Hans-Peter Nilsson
06c15ad74f * Makefile.am (ALL_MACHINES): Add cpu-cris.lo.
(ALL_MACHINES_CFILES): Add cpu-cris.c.
	(BFD32_BACKENDS): Add aout-cris.lo and elf32-cris.lo.
	(BFD32_BACKENDS_CFILES): Add aout-cris.c and elf32-cris.c.
	(cpu-cris.lo, aout-cris.lo, elf32-cris.lo): New rules.
	* Makefile.in: Rebuild.
	* aclocal.m4: Rebuild.
	* aoutx.h (NAME(aout,machine_type)): Add case for bfd_arch_cris.
	* archures.c (enum bfd_architecture): Add bfd_arch_cris.
	(bfd_cris_arch): Declare.
	(bfd_archures_list): Add bfd_cris_arch.
	* bfd-in2.h: Rebuild.
	* config.bfd: (cris-*-*): New target.
	* configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vectors.
	* configure: Rebuild.
	* elf.c (prep_headers): Add bfd_arch_cris.
	* libbfd.h: Rebuild.
	* libaout.h (enum machine_type): Add M_CRIS.
	* reloc.c: Add CRIS relocations.
	* targets.c (bfd_target bfd_elf32_cris_vec, cris_aout_vec):
	Declare.
	(bfd_target_vect): Add bfd_elf32_cris_vec and cris_aout_vec.
	* cpu-cris.c, aout-cris.c, elf32-cris.c: New files.
	* po/POTFILES.in, po/bfd.pot: Regenerate.
2000-07-20 16:21:07 +00:00
H.J. Lu
d6cf28795d 2000-07-19 H.J. Lu <hjl@gnu.org>
* elf32-arm.h (elf32_arm_size_dynamic_sections): Also set
	DF_TEXTREL if DT_TEXTREL is set.
	* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
	* elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
	* elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
	* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
	* elf64-ia64.c (elf64_ia64_size_dynamic_sections): Likewise.
	* elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.

	* bfd/elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also
	set DF_SYMBOLIC for symbolic link. Also set DT_RUNPATH if
	DT_RPATH is set.
	Set the DT_FLAGS and DT_FLAGS_1 entries if necessary.
2000-07-20 03:21:59 +00:00
H.J. Lu
7481689898 2000-07-19 H.J. Lu <hjl@gnu.org>
* bfd-in.h (bfd_elf_set_dt_needed_soname): New.
	* bfd-in2.h: Rebuild.

	* elf-bfd.h (elf_obj_tdata): Add dt_soname.
	(elf_dt_soname): New.

	* elf.c (bfd_elf_set_dt_needed_soname): New.

	* elflink.h (elf_link_add_object_symbols): Add the DT_NEEDED
	entry if the shared object loaded by DT_NEEDED is used to
	resolve the reference in a regular object.
2000-07-20 03:16:18 +00:00
H.J. Lu
36a30e65ca 2000-07-19 H.J. Lu <hjl@gnu.org>
* elf.c (_bfd_elf_print_private_bfd_data): Handle DT_CONFIG,
	DT_DEPAUDIT and DT_AUDIT as strings.
2000-07-20 02:19:23 +00:00
Nick Clifton
1d713d9eaf Fix formatting 2000-07-20 00:31:39 +00:00
H.J. Lu
d48188b96e 2000-07-19 H.J. Lu <hjl@gnu.org>
* elf.c (_bfd_elf_print_private_bfd_data): Fix DT_CHECKSUM.
2000-07-19 18:26:38 +00:00
H.J. Lu
9455883401 2000-07-19 H.J. Lu <hjl@gnu.org>
* elf.c (_bfd_elf_print_private_bfd_data): Handle DT_BIND_NOW,
	DT_INIT_ARRAY, DT_FINI_ARRAY, DT_INIT_ARRAYSZ, DT_FINI_ARRAYSZ,
	DT_RUNPATH, DT_FLAGS, DT_PREINIT_ARRAY, DT_PREINIT_ARRAYSZ,
	DT_PLTPADSZ, DT_MOVEENT, DT_MOVESZ, DT_FEATURE, DT_POSFLAG_1,
	DT_SYMINSZ, DT_SYMINENT, DT_CONFIG, DT_DEPAUDIT, DT_AUDIT,
	DT_PLTPAD, DT_MOVETAB, DT_SYMINFO, DT_RELACOUNT, DT_RELCOUNT,
	DT_FLAGS_1, DT_USED and DT_CHECKSUM.
2000-07-19 18:02:13 +00:00
Nick Clifton
125c4a69c4 Rename bfd_elf_get_arch_size to bfd_get_arch_size
Rename bfd_elf_get_sign_extend_vma  to  bfd_get_sign_extend_vma
2000-07-18 19:20:13 +00:00
Ulf Carlsson
31a9bdd961 2000-07-18 Ulf Carlsson <ulfc@engr.sgi.com>
* elf32-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Add
	paranthesis in if statement.
2000-07-18 09:45:26 +00:00
Ulf Carlsson
f7cb7d68c2 2000-07-17 Koundinya K <kk@ddeorg.soft.net>
Enable the support for Traditional MIPS.
	* elf32-mips.c (IRIX_COMPAT): Recognize bfd_elf32_tradbigmips_vecand
	return ict_none appropriately for traditional mips targets.
	(STUB_LW): Change 0x8f998000 to 0x8f998010 for traditional mips.
	(STUB_MOVE): Conditionalize for traditonal mips.
	(STUB_LI16): Likewise.
	(_bfd_mips_elf_modify_segment_map): Conditionalize to avoid making
	room for RTPROC header.
	(_bfd_mips_elf_modify_segment_map): For a normal mips executable set
	the permission for the PT_DYNAMIC as read, write and execute.
	(mips_elf_calculate_relocation): Check for the symbol _DYNAMIC_LINKING
	for traditonal mips.
	(_bfd_mips_elf_create_dynamic_sections): Add the symbol
	_DYNAMIC_LINKING for traditonal mips.
	(_bfd_mips_elf_create_dynamic_sections): Add the symbol __RLD_MAP
	in case of traditonal mips.
	(_bfd_mips_elf_adjust_dynamic_symbol): Create a stub only if a PLT
	entry is required. For a function if PLT is not required then set the
	corresponding hash table entry to 0.
	(_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG entry for
	traditonal mips.
	(_bfd_mips_elf_finish_dynamic_symbol): for a undefined symbol in a
	shared object set the value to 0.
	(_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol
	_DYNAMIC_LINKING for traditonal mips.
	(_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol __RLD_MAP
	for traditonal mips.
2000-07-17 19:39:40 +00:00
H.J. Lu
930d924dd4 2000-07-15 H.J. Lu <hjl@gnu.org>
* aoutx.h (translate_to_native_sym_flags): Handle BSF_LOCAL.
2000-07-15 18:42:01 +00:00
DJ Delorie
e67f03db5b * libbfd.c (bfd_seek): fix 'seek beyond EOF' error when writing
out a structure that is BFD_IN_MEMORY.
2000-07-12 18:29:55 +00:00
Alan Modra
0ba2a60ea9 Use section id in get_dyn_name. 2000-07-12 05:03:01 +00:00
Andrew Cagney
6d9019e4c0 Add function bfd_elf_get_sign_extend_vma. 2000-07-11 07:28:25 +00:00
Andrew Cagney
23e2c83b83 The MIPS thinks that addresses are signed. Sign extend MIPS ECOFF
addresses.
2000-07-11 06:37:34 +00:00
Andrew Cagney
448cafa400 * elfcode.h (elf_object_p): Use bfd_set_start_address and not
bfd_get_start_address.
(elf_swap_ehdr_in): Sign extend e_entry when applicable.
(elf_swap_ehdr_out): Ditto.
2000-07-11 06:08:19 +00:00
Nick Clifton
83ea41ad9c Add set of bfd_mach_ cases for compatibility with older binutils 2000-07-10 18:29:39 +00:00
Alan Modra
b7af50e3f8 Ryan Bradetich's warning fixes. 2000-07-10 05:14:13 +00:00
Alan Modra
3df7b4e2d2 Avoid negative section sequence ids. 2000-07-10 02:05:40 +00:00
Ulf Carlsson
adb76a3e5c 2000-07-09 Koundinya K <kk@ddeorg.soft.net>
* elf32-mips.c (sort_dynamic_relocs): New Function.
        (_bfd_mips_elf_finish_dynamic_sections): Call sort_dynamic_relocs
	via qsort to sort the dynamic relocations in increasing r_symndx
	value.
2000-07-09 13:48:21 +00:00
Alan Modra
edd21acadc Restore hppa-elf32 to working order. 2000-07-09 07:23:07 +00:00
Alan Modra
52b219b5e4 Add sequence id field to asection.
Tidy comments and replace deprecated CONST with const.
2000-07-08 12:08:43 +00:00
Alan Modra
181866dcc7 Don't add a space before `/*' when processing comments. 2000-07-08 12:00:26 +00:00
DJ Delorie
8000a61811 * archive.c (_bfd_write_archive_contents): Add an informative
comment.
2000-07-07 17:40:23 +00:00
Nick Clifton
c3b7c7671f Fix formatting 2000-07-06 23:26:55 +00:00
DJ Delorie
302ab118e1 add MAINTAINERS files 2000-07-05 19:28:06 +00:00
Alexandre Oliva
ed1de528f6 * coff-arm.c (coff_arm_relocate_section): Do not ignore the symbol
value of PC-relative offsets.
2000-07-04 05:11:37 +00:00
Jim Wilson
70bcb1452f Fix hash section entry size to match ELF standard. Override for alpha-linux.
* elf64-alpha.c (alpha_elf_size_info): New.
	(elf_backend_size_info): Define to alpha_elf_size_info.
	* elfcode.h (elf_size_info): Change hash bucket size to 4.
2000-07-04 02:18:06 +00:00
Ulf Carlsson
b8ee63fa40 2000-07-03 Ulf Carlsson <ulfc@engr.sgi.com>
* elf32-mips.c: Include elf32-target.h again for the traditional
	MIPS targets.
2000-07-04 00:10:15 +00:00
Ulf Carlsson
e364195dbd 2000-07-03 Ulf Carlsson <ulfc@engr.sgi.com>
* elf32-mips.c: Include elf32-target.h again for the traditional
	MIPS targets.
2000-07-03 23:49:36 +00:00
Nick Clifton
00d2865b83 Tidy up formatting.
Add  -mall-opcodes, -mno-skip-bug, -mno-wrap.
2000-07-03 22:25:33 +00:00
Nick Clifton
99d6ac2f42 Fix typo in previous delta 2000-07-03 18:47:53 +00:00
Nick Clifton
e42026815e Turn a weak symbol into an external symbol for a non-shared, non-relocatable
link.
2000-07-03 18:45:18 +00:00
Nick Clifton
289c596cac Fix formatting of reloc16.c
Regernate generated files.
2000-07-03 17:49:37 +00:00
Ulf Carlsson
dd745cfae5 2000-07-01 Koundinya K <kk@ddeorg.soft.net>
* config.bfd: Change targ_defvec and targ_selvecs for mips*-*-sysv4*
        to add a new target for traditional mips i.e
        bfd_elf32_tradbigmips_vec and bfd_elf32_tradlittlemips_vec.
        * configure.in: Likewise.
        * configure: Rebuild.
        * targets.c (bfd_elf32_tradbigmips_vec): Declare and put in
	bfd_target_vector.
	(bfd_elf32_tradlittlemips_vec): Likewise.
        * elfxx-target.h: Add macro INCLUDED_TARGET_FILE which is more a test
        to see that elfNN_bed does not get redefined even if the target file
        is included twice for a chip. See elf32-mips.c.
2000-07-02 01:17:52 +00:00
Alan Modra
0bdaf48bac Fix 2000-06-22. grep after running dep.sed 2000-07-01 01:41:09 +00:00
DJ Delorie
c75df61907 * peicode.h (coff_swap_filehdr_in): can't use e_magic because we
can't assume the PE header is at 0x80.
2000-06-30 21:57:53 +00:00
DJ Delorie
c689311bd9 * peicode.h (coff_swap_filehdr_in): can't use e_magic because we
can't assume the PE header is at 0x80.
* coff/pe.h: clarify a comment
2000-06-30 21:54:03 +00:00
DJ Delorie
cda43a1d52 typo 2000-06-29 15:07:46 +00:00
DJ Delorie
b4b415e571 * syms.c (_bfd_stab_section_find_neares_line): Use IS_ABSOLUTE_PATH. 2000-06-29 15:06:34 +00:00
DJ Delorie
addd3117d7 * go32stub.h: Update stub. 2000-06-28 15:55:41 +00:00
Nick Clifton
65aa24b6e8 Applied Marek Michalkiewicz <marekm@linux.org.pl>'s patch to ehance the AVR port. 2000-06-27 01:45:30 +00:00
Nick Clifton
cc040812f5 Fix formatting. 2000-06-27 01:31:59 +00:00
Nick Clifton
590a2450f1 Fix spelling typo 2000-06-25 17:58:54 +00:00
Alexandre Oliva
b1bcb49f9c * elf32-arm.h (elf32_arm_final_link_relocate): Print `(local)'
for local symbols whose names are unknown.
2000-06-24 20:10:24 +00:00
Alan Modra
1581f8c9fe Ensure /usr/include and the like stay out of dependencies. 2000-06-22 13:01:43 +00:00
H.J. Lu
bbeb2e037c 2000-06-20 H.J. Lu <hjl@gnu.org>
* Makefile.am: Rebuild dependency.
	* Makefile.in: Rebuild.
2000-06-20 20:41:02 +00:00
Ulf Carlsson
8a20f077fe 2000-06-20 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): New function.
	(elf_backend_copy_indirect_symbol): Map to the new function.
2000-06-20 16:37:36 +00:00
Alan Modra
2ab47eed68 Correct pointer comparisons relying on NULL less than any other pointer.
Alexander Aganichev's fix for ieee.c
2000-06-20 12:33:21 +00:00
Ulf Carlsson
b305ef96a1 2000-06-20 Ulf Carlsson <ulfc@engr.sgi.com>
* elf-bfd.h (struct elf_obj_tdata): Define per BFD Irix 5 virtual
	sections elf_{text,data}_{section,symbol}.
	* elf32-mips.c: mips_elf_{text,data}_{section,symbol}{,_ptr}: Remove.
	(_bfd_mips_elf_hide_symbol): New function.
	(elf_backend_hide_symbol): Map to the new function.
	(_bfd_mips_elf_add_symbol_hook): Change to use new per BFD
	definitions of mips_elf_{text,data}_{section,symbol}.
	(mips_elf_local_relocation_p): Try to find the direct symbol
	based on new check_forced argument.
	(mips_elf_calculate_relocation): Use new version of
	mips_elf_local_relocation_p.
	(mips_elf_relocate_section): Likewise.
	(_bfd_mips_elf_relocate_section): Likewise.
	(mips_elf_sort_hash_table): Only assert that have enough GOT
	space.
	(mips_elf_got16_entry): Match all 32 bits to the existing GOT
	entry if the relocation based on the new external argument.
	(mips_elf_create_dynamic_relocation): Assert that we have a
	section contents allocated where we can swap out the dynamic
	relocations.
	(mips_elf_calculate_relocation): Find the real hash-table entry
	correctly by using h->root.root.type.  Only create a dynamic
	relocation entry if the symbol is defined in a shared library.
	Create an external GOT entry for the GOT16 relocation if the
	symbol was forced local.
	(_bfd_mips_elf_finish_dynamic_symbol): Don't assert there is a
	dynamic index if the symbol was forced local.

2000-06-20  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>

	* elf32-mips.c: Fix typos in comments.
2000-06-20 11:06:19 +00:00
Mark Kettenis
1605fc4f2a * rs6000-core.c: Wrap definition of `union VmInfo' within #ifdef
CORE_VERSION_1.
2000-06-19 19:33:35 +00:00
Nick Clifton
60bcf0fa8c Applied Stephane Carrez <Stephane.Carrez@worldnet.fr> patches to add support
for m68hc11 and m68hc12 processors.
2000-06-19 01:22:44 +00:00
Ulf Carlsson
f41cbf038e 2000-06-18 Ulf Carlsson <ulfc@engr.sgi.com>
* elf_bfd.h (struct elf_backend_data): Add info argument to
	elf_backend_hide_symbol.
	(_bfd_elf_link_hash_hide_symbol): Likewise.
	* elf.c (_bfd_elf_link_hash_hide_symbol): Likewise.
	* elf64-ia64.c (elf64_ia64_hash_hide_symbol): Likewise.
	* elflink.h (elf_link_add_object_symbols): Likewise.
	(elf_link_assign_sym_version): Likewise.
2000-06-19 00:18:58 +00:00
H.J. Lu
689be71704 2000-06-18 H.J. Lu <hjl@gnu.org>
* coff-i386.c (coff_i386_reloc): Don't return in case of
	output_bfd == (bfd *) NULL if COFF_WITH_PE is defined.
	Compensate PE relocations when linking with non-PE object
	files to generate a non-PE executable.
2000-06-18 23:48:21 +00:00
Ulf Carlsson
9a8f3bb734 2000-06-17 Ulf Carlsson <ulfc@engr.sgi.com>
* elf32-mips.c (mips_elf_calculate_relocation): Explicitly write
	GOT entries if we're doing a static link or -Bsymbolic link.
2000-06-17 09:47:15 +00:00
Ulf Carlsson
32f0787ac8 2000-06-15 Ulf Carlsson <ulfc@engr.sgi.com>
* elflink.h (elf_link_adjust_relocs): Check for and call backend
	specifific swap_reloc_{in,out} and swap_reloca_{in,out} if
	available.
	(elf_link_output_relocs): Likewise.
	(elf_reloc_link_order): Likewise.
2000-06-16 23:01:00 +00:00
Nicholas Duffek
87f33987cd * archures.c (enum bfd_architecture): #define constants for
PowerPc and RS6000 machine numbers.
	* bfd-in2.h: Regenerate.
	* coffcode.h (coff_set_arch_mach_hook): #ifdef XCOFF64, set arch
	to bfd_arch_powerpc instead of bfd_arch_rs6000.  Refer to PowerPc
	and RS6000 machine numbers using #defined constants from
	archures.c.
	* cpu-powerpc.c (arch_info_struct): Refer to PowerPc and RS6000
	machine numbers using #defined constants from archures.c.  Add
	entries for EC603e, 630, A35, RS64II, RS64III, 7400.  Specify
	64-bit words in 620 entry.
	* cpu-rs6000.c (arch_info_struct): Create with entries for RS1,
	RSC, and RS2.
	(bfd_rs6000_arch): Change default machine to 0 (bfd_mach_rs6k).
2000-06-16 20:45:33 +00:00
Nicholas Duffek
a2fdf27064 * coffcode.h (coff_mkobject_hook): Set xcoff_tdata.xcoff64.
* libcoff-in.h (struct xcoff_tdata): Define xcoff64 field.
	* libcoff.h (struct xcoff_tdata): Define xcoff64 field.
2000-06-16 20:40:50 +00:00
Nicholas Duffek
9bd09e220f * bfd-in.h (bfd_family_coff): Define.
* bfd-in2.h: Regenerate.
	* coffgen.c (coff_count_linenumbers, coff_symbol_from,
	coff_find_nearest_line): Check COFFness using bfd_family_coff()
	instead of bfd_target_coff_flavour.
	* cofflink.c (_bfd_coff_final_link): Likewise.
	* cpu-ns32k.c (do_ns32k_reloc): Don't strcmp() target name to
	exclude XCOFF files.
	* reloc.c (bfd_perform_relocation, bfd_install_relocation):
	Likewise.
	* targets.c (enum bfd_flavour): Add bfd_target_xcoff_flavour.
	* xcoff-target.h (TARGET_SYM): Use bfd_target_xcoff_flavour.
	* xcofflink.c (XCOFF_XVECP): Delete.
	(bfd_xcoff_link_record_set, bfd_xcoff_import_symbol,
	bfd_xcoff_export_symbol, bfd_xcoff_link_count_reloc,
	bfd_xcoff_record_link_assignment,
	bfd_xcoff_size_dynamic_sections): Replace XCOFF_XVECP() with
	check for bfd_target_xcoff_flavour.
2000-06-16 20:35:08 +00:00
Nicholas Duffek
59d9f04945 * rs6000-core.c: Support 64-bit core files, support pre-4.3 core
files on AIX 4.3.
	(read_hdr): New function.
	(rs6000coff_core_p): Store mstsave or __context64 struct instead
	of trying to extract individual registers.  Set abfd->arch_info
	to match the architecture that created the core file.
	(rs6000coff_get_section_contents): Delete.
	* xcoff-target.h (rs6000coff_get_section_contents): Delete.
2000-06-16 20:19:24 +00:00
H.J. Lu
63e391789e 2000-06-14 H.J. Lu <hjl@gnu.org>
* vms-misc.c (_bfd_vms_next_record): Return -1 if PRIV(vms_rec)
	is NULL.
2000-06-14 18:10:10 +00:00
H.J. Lu
bcef29e60c 2000-06-13 H.J. Lu <hjl@gnu.org>
* configure: Regenerate.
2000-06-13 19:11:54 +00:00
Joern Rennecke
26bfd1c08b Fix arm-epoc-pe build problem:
* peicode.h (pe_ILF_object_p): Use TARGET_LITTLE_SYM instead of
	armpei_little_vec.
2000-06-13 00:30:46 +00:00
David O'Brien
946efd95b8 * configure.in (VERSION): Update to show this is the CVS mainline.
Approved by:	Nick Clifton <nickc@cygnus.com>
		Message-Id: <200005222205.PAA14565@elmo.cygnus.com>
2000-06-08 19:00:02 +00:00
Alan Modra
dc47f3278f (elf32_i386_vtinherit_howto, elf32_i386_vtentry_howto): Delete and
move HOWTOs into elf_howto_table.
2000-06-07 14:23:51 +00:00
Alan Modra
638632bd1c Update copyright dates for last patch.
Scanning ChangeLog showed others were lazy/forgetful too :-)
2000-06-07 04:08:13 +00:00
Alan Modra
1b452ec66b Get rid of the -1 dummy valued enum in START_RELOC_NUMBERS.
Remove duplicate reloc enums in elf32-d[13]0v.c
Remove EMPTY_HOWTOs in elf32-i386.c
2000-06-07 03:43:33 +00:00
Michael Snyder
e0ebfc612d 2000-06-06 Michael Snyder <msnyder@seadog.cygnus.com>
* elf.c (elf_grok_pr_status): Eliminate reference to prgregset_t.
2000-06-06 20:00:33 +00:00
Michael Snyder
4a9383286c 2000-05-26 Michael Snyder <msnyder@seadog.cygnus.com>
* elf.c (elfcore_grok_prstatus, elfcore_grok_pstatus,
        elfcore_grok_psinfo): Add code to allow debugging a 32-bit
        corefile on a 64-bit (Sparc Solaris) host.  Also clean up
        a few old comments.
2000-06-06 00:08:01 +00:00
H.J. Lu
9d6eee7847 2000-06-05 H.J. Lu <hjl@gnu.org>
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't flag
	an error when seeing an undefined symbol with hidden/internal
	attribute. It is handled in *_relocate_section ().
2000-06-05 20:46:21 +00:00
H.J. Lu
d108020f09 Remove the `/* Fall through. */' comment in elf_link_output_extsym ()
for the indirect symbol.
2000-06-05 18:15:35 +00:00
H.J. Lu
94b6c40a1a 2000-06-05 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_fix_symbol_flags): Follow the link for the
	indirect symbol for the ELF_LINK_NON_ELF bit.
	(elf_link_output_extsym): Don't output the indirect symbol even
	if the ELF_LINK_NON_ELF bit is set.
2000-06-05 17:21:32 +00:00
J.T. Conklin
0af288f393 * config.bfd (i[3456]86-*-netbsdelf*): New target.
(i[3456]86-*-netbsdaout*): New target.
(i[3456]86-*-netbsd*): Add bfd_elf32_i386_vec to targ_selvecs.
(i[3456]86-*-openbsd*): Likewise.
2000-06-01 22:06:18 +00:00
Andrew Cagney
12df4d3c6b * trad-core.c: From hpux-core.c, include <dirent.h> or
<sys/ndir.h> when possible.
2000-06-01 10:09:30 +00:00
Nick Clifton
c0ae4cccdd Add comment describoing why dgettext() is used in _() macro. 2000-05-31 18:32:07 +00:00
Ulrich Drepper
321fa0973d Update. 2000-05-31 17:27:56 +00:00
Ulrich Drepper
f631889e7a (_bfd_elf_slurp_version_tables): Correct reading of version
definitions.  We must not assume they are sorted in the file
according to their index numbers.
2000-05-31 17:27:51 +00:00
Alan Modra
70d72e0eec (elf_hppa_final_link_relocate) Fix handling of branches. 2000-05-31 09:00:00 +00:00
Nick Clifton
96f6d4c4e0 Accept 80960* machine names (as generated by ieee.c) 2000-05-30 21:31:56 +00:00
H.J. Lu
38048eb911 2000-05-30 H.J. Lu <hjl@gnu.org>
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Clear the
	visibility bits if the symbol is undefined. Correctly handle
	weak undefined symbols with hidden and internal attributes.

	* elflink.h (elf_link_add_object_symbols): Always turn the
	symbol into local if it has the hidden or internal attribute.
2000-05-30 20:51:36 +00:00
Phil Blundell
8c763017d2 2000-05-29 Philip Blundell <philb@gnu.org>
* ppcboot.c: Add packed attribute if compiling with GCC.
2000-05-29 18:20:07 +00:00
Alan Modra
1ae00f9d91 (_bfd_elf_link_hash_table_init): Initialize dynlocal. 2000-05-29 05:16:19 +00:00
Alan Modra
2114f57b93 Update dependencies. 2000-05-26 14:14:21 +00:00
Alan Modra
5af11cab92 Eli Zaretskii's DOSish file name patches. 2000-05-26 13:11:57 +00:00
Alan Modra
b6cdd0fd9a (bfd_close_all_done): Mask file perms with 0777 not 0x777. 2000-05-26 07:32:26 +00:00
Jakub Jelinek
f7775d95e6 * elf64-sparc.c (sparc64_elf_relax_section): New.
(sparc64_elf_relocate_section): Optimize tail call into branch always
	if possible.
	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
	(elf32_sparc_relax_section): New.
2000-05-26 06:41:33 +00:00
Jakub Jelinek
6c08d69728 * elf64-sparc.c: Add ATTRIBUTE_UNUSED to unused function parameters.
Remove unusued variables.
	(sparc64_elf_relocate_section): Change r_symndx type to unsigned long.
	(sparc64_elf_merge_private_bfd_data): Fix shared library case from
	previous fix, so that shared libs really don't influence targets
	extension mask and memory model.
2000-05-26 06:39:51 +00:00
Hans-Peter Nilsson
964802a856 Delete pass on manually added dependency for readelf.o for new target 2000-05-25 00:39:59 +00:00
Hans-Peter Nilsson
dd167cc82f * bfdint.texi (BFD ELF processor required): Add paragraph about
target necessities for readelf.
2000-05-24 18:21:53 +00:00
H.J. Lu
ba09750c1e 2000-05-23 H.J. Lu <hjl@gnu.org>
* elf32-mips.c (mips_elf_calculate_relocation): Check
	h->root.other not h->other.

	* elf32-ppc.c (ppc_elf_relocate_section): Fix a typo.
2000-05-23 14:20:57 +00:00
H.J. Lu
edb72b3b35 2000-05-23 H.J. Lu <hjl@gnu.org>
* elf64-alpha.c (elf64_alpha_relocate_section): Check
	h->root.other not h->other.
2000-05-23 14:15:30 +00:00
H.J. Lu
3a27a730c7 2000-05-23 H.J. Lu <hjl@gnu.org>
* elf32-i386.c (elf_i386_relocate_section): Don't allow the
	undefined symbol with the non-default visibility attributes.
	* elf-hppa.h (elf_hppa_relocate_section): Likewise.
	* elf32-arm.h (elf32_arm_relocate_section): Likewise.
	* elf32-i370.c (i370_elf_relocate_section): Likewise.
	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
	* elf32-mips.c (mips_elf_calculate_relocation): Likewise.
	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
	* elf64-ia64.c (elf64_ia64_relocate_section): Likewise.
	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2000-05-23 14:05:50 +00:00
Richard Henderson
748abff62c * elf64-ia64.c (ia64_howto_table): Add PCREL60B, PCREL21BI,
PCREL22, PCREL64I.  Zero size of special relocs.
        (elf64_ia64_reloc_type_lookup): Likewise.
        (USE_BRL, oor_brl, oor_ip): New.
        (elf64_ia64_relax_section): New.
        (elf64_ia64_check_relocs): Handle PCREL60B, PCREL22, PCREL64I.
        (elf64_ia64_install_value): Likewise, plus PCREL21BI.
        (elf64_ia64_relocate_section): Likewise.
        (bfd_elf64_bfd_relax_section): New.
        * reloc.c (BFD_RELOC_IA64_PCREL21BI): New.
        (BFD_RELOC_IA64_{PCREL22,PCREL60B,PCREL64I}): New.
        * bfd-in2.h, libbfd.h: Regenerate.
2000-05-23 01:32:28 +00:00
Nick Clifton
fb67355a64 Add peigen.lo to MIPS PE target 2000-05-22 19:16:59 +00:00
Nick Clifton
1fe494a572 Use bfd_generic_verify_endian_match() and fix it to only check when endianness
is known.
2000-05-22 18:44:02 +00:00
H.J. Lu
32c092c3fa 2000-05-22 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_link_output_extsym): Clear the visibility
	field for symbols not defined locally.
2000-05-22 07:26:58 +00:00
Jeff Law
df6d9773e2 * libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16,
re_assemble_17, re_assemble_21, re_assemble_22): Don't mask insn.
        (hppa_rebuild_insn): Mask immediate bits here instead.
        * elf-hppa.h (elf_hppa_relocate_insn): Mask here too.
2000-05-19 00:20:31 +00:00
Nick Clifton
7ad3436572 Force relocs emited for an executable to contain virtual addresses. 2000-05-18 17:12:31 +00:00
Jeff Law
d1dab720ad * config.bfd (hppa*64*-*-hpux11*): New target triplet. 2000-05-18 16:55:34 +00:00
Nick Clifton
6d3e950baa Add part of patch omittede from previous delta 2000-05-17 19:55:14 +00:00
Nick Clifton
a712da2085 Apply patch from Richard Gorton <gorton@scrugs.lkg.dec.com> to implement
--emit-relocs switch to the linker to preserve relocs in an output executable
2000-05-17 19:38:53 +00:00
Catherine Moore
10febd8491 * som.c (som_decode_symclass): Recognize weak symbols. 2000-05-16 14:20:10 +00:00
Alan Modra
db8503c490 Fix problems introduced with my last change. 2000-05-16 02:10:00 +00:00
Joern Rennecke
851cde108c * elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8. 2000-05-15 23:10:59 +00:00
Phil Blundell
1bde2d57d9 Support ARM ELF defaulting to big endian 2000-05-14 18:49:34 +00:00
H.J. Lu
3d5d550708 Remove the erroneous ">>>>>>> 1.419". 2000-05-12 15:35:15 +00:00
Alan Modra
9ee2520132 (bfd_target_vector): #ifdef BFD64 rs6000coff64_vec 2000-05-12 06:07:04 +00:00
Alan Modra
a76b448c6f Restore some functionality removed by previous patch.
Tidy printing of bfd_vma's.
2000-05-11 23:24:27 +00:00
Alan Modra
72730e0ced Fix some nits shown up by objcopy. 2000-05-09 00:43:44 +00:00
Alan Modra
bfde9f995a Fix coredump discovered running m68k testsuite. 2000-05-08 10:00:27 +00:00
Alan Modra
b35efbcd1b * trad-core.c (trad_unix_core_file_p): Return
bfd_error_wrong_format rather than bfd_error_file_truncated.
2000-05-08 06:57:39 +00:00
Alan Modra
8181c4030f DataDirectory virtual address is relative. Fix to suit. 2000-05-08 05:52:58 +00:00
Clinton Popetz
2c38bc20f9 * xcoff.h: Rename to xcoff-target.h
* Makefile.am: Change all instances of xcoff.h to xcoff-target.h
	* coff-rs6000.c: Ditto.
	* coff64-rs6000.c: Ditto.
	* coff-pmac.c: Ditto.
	* Makefile.in: Regenerate.
2000-05-06 01:47:18 +00:00
Clinton Popetz
c6664dfb26 bfd:
* coffcode.h (coff_set_arch_mach_hook, coff_set_flags):
	Change U802TOC64MAGIC to U803XTOCMAGIC.

include:
	* coff/rs6k64.h (U802TOC64MAGIC): Change to U803XTOCMAGIC.
2000-05-06 01:41:50 +00:00
Michael Snyder
3425c18298 2000-05-04 Michael Snyder <msnyder@seadog.cygnus.com>
* elf.c (bfd_elf_get_arch_size): New function, return 32 | 64 | -1.
        * bfd-in.h: Prototype bfd_elf_get_arch_size.
        * bfd-in2.h: Prototype bfd_elf_get_arch_size.
2000-05-05 18:12:53 +00:00
Alan Modra
7c30ac3752 Fix thinko in 2000-05-02 change. 2000-05-04 12:45:43 +00:00
H.J. Lu
0444bdd49c 2000-05-03 Martin v. Löwis <loewis@informatik.hu-berlin.de>
* elflink.h (elf_link_add_object_symbols): Reset dynindx for
	hidden and internal symbols.
	(elf_fix_symbol_flags): Clear NEEDS_PLT for symbols with
	visibility.
	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Do not
	assign a PLT or GOT entry to symbols with hidden and
	internal visibility.
2000-05-04 06:38:33 +00:00
Alan Modra
da5d444c29 go32 bss alignment. 2000-05-03 04:25:33 +00:00
H.J. Lu
ee44def1ea 2000-05-02 H.J. Lu <hjl@gnu.org>
* elf.c (prep_headers): USe ELFOSABI_NONE instead of
	ELFOSABI_SYSV.
2000-05-02 17:51:36 +00:00
Alan Modra
e0afaebdfc Restore elf32-hppa target vec. 2000-05-02 11:18:33 +00:00
Jim Wilson
85e22c7ef1 Fix IA-64 --enable-targets=all bug reports.
* Makefile.am (BFD32_BACKENDS): Add efi-app-ia32.lo.
	(BFD32_BACKENDS_CFILES): Add efi-app-ia32.c.
	(BFD64_BACKENDS): Delete coff-ia64.lo.  Add efi-app-ia64.lo.
	(BFD64_BACKENDS_CFILES): Delete coff-ia64.c.  Add efi-app-ia64.c.
	* Makefile.in: Rebuild.
2000-05-02 00:23:54 +00:00
Alan Modra
3f9b03b5da Assorted code cleanup and fixes for hppa. Re-enable elf32-hppa as
it now compiles even if it doesn't work too well.
2000-05-02 00:12:52 +00:00
Alan Modra
01fff6e2f4 Fix "incompatible types in return" gcc error. 2000-05-01 05:02:57 +00:00
Alan Modra
c8735523e1 Fix bfd_coff_small_swap_table initialisation. 2000-05-01 04:47:39 +00:00
Ben Elliston
afdaa25fc3 2000-04-30 Ben Elliston <bje@redhat.com>
* bfdint.texi (BFD generated files): Fix another typo.
2000-04-30 15:04:58 +00:00
Clinton Popetz
b4911a31c0 * xcoff.h: Forgot to cvs add in last patch. 2000-04-29 14:41:30 +00:00
Clinton Popetz
0ca652e9ec * libcoff.h: Sigh, whitespace differences after 'make headers'. 2000-04-29 02:45:34 +00:00
Clinton Popetz
2243c419e9 * coffcode.h Copy changes mistakenly done to libcoff.h in
4/24/2000 patch.
2000-04-29 02:41:36 +00:00
Alan Modra
a1934524a3 Correctly check gcc version. 2000-04-29 00:56:29 +00:00
Clinton Popetz
14958a432d * Makefile.am (BFD64_BACKENDS, BFD64_BACKENDS_CFILES): Add
coffdu-rs6000.{lo,c}.
	(coff-pmac.lo, coff-rs6000.lo, coff64-rs6000.lo): Add dependency
	on xcoff.h
	* Makefile.in: Regenerate.
	* xcoff.h: New file.
	* coff-pmac.c: Use xcoff.h instead of coff-rs6000.c.
	* coff-rs6000.c: Move all declarations and defines that are
	common to the xcoff backends into xcoff.h
	* coff64-rs6000.c: Ditto,
2000-04-28 20:02:30 +00:00
Clinton Popetz
ecefdb5878 * coff-mips.c (mips_ecoff_backend_data): Add initialization of
_bfd_coff_force_symnames in strings and
	_bfd_coff_debug_string_prefix_length to their default values.
	* coff-sh.c: (bfd_coff_small_swap_table): Ditto.
2000-04-28 13:50:57 +00:00
Clinton Popetz
6732d8bf82 * coff-alpha.c (alpha_ecoff_backend_data): Add initialization of
_bfd_coff_force_symnames in strings and
	_bfd_coff_debug_string_prefix_length to their default values.
2000-04-28 13:17:26 +00:00
Alan Modra
dd5724d523 Reference count .plt and .got on x86 for garbage collection code. Fix a
couple of m68k and ppc bugs discovered while testing x86 gc.
2000-04-27 00:31:17 +00:00
Clinton Popetz
8ecb95a255 * config.bfd: Remove extraneous bfd_powerpc_64_arch. 2000-04-26 21:35:19 +00:00
Clinton Popetz
7f6d05e83e Add XCOFF64 support.
bfd:
	* Makefile.am (coff64-rs6000.lo): New rule.
	* Makefile.in: Regenerate.
	* coff-rs6000.c (xcoff_mkobject, xcoff_copy_private_bfd_data,
	xcoff_is_local_label_name, xcoff_rtype2howto,
	xcoff_reloc_type_lookup, xcoff_slurp_armap, xcoff_archive_p,
	xcoff_read_ar_hdr, xcoff_openr_next_archived_file, xcoff_write_armap,
	xcoff_write_archive_contents): No longer static, and prefix with _bfd_.
	(NO_COFF_SYMBOLS): Define.
	(xcoff64_swap_sym_in, xcoff64_swap_sym_out, xcoff64_swap_aux_in,
	xcoff64_swap_aux_out): New functions; handle xcoff symbol tables
	internally.
	(MINUS_ONE): New macro.
	(xcoff_howto_tabl, xcoff_reloc_type_lookup): Add 64 bit POS
	relocation.
	(coff_SWAP_sym_in, coff_SWAP_sym_out, coff_SWAP_aux_in,
	coff_SWAP_aux_out): Map to the new functions.
	* coff64-rs6000.c: New file.
	* libcoff.h (bfd_coff_backend_data): Add new fields
	_bfd_coff_force_symnames_in_strings and
	_bfd_coff_debug_string_prefix_length.
	(bfd_coff_force_symnames_in_strings,
	bfd_coff_debug_string_prefix_length): New macros for above fields.
	* coffcode.h (coff_set_arch_mach_hook): Handle XCOFF64 magic.
	Set machine to 620 for XCOFF64.  Use bfd_coff_swap_sym_in instead
	of using coff_swap_sym_in directly.
	(FORCE_SYMNAMES_IN_STRINGS): New macro, defined for XCOFF64.
	(coff_set_flags) Set magic for XCOFF64.
	(coff_compute_section_file_positions): Add symbol name length to
	string section length if bfd_coff_debug_string_prefix_length is
	true.
	(coff_write_object_contents): Don't do reloc overflow for XCOFF64.
	(coff_slurp_line_table): Use bfd_coff_swap_lineno_in instead of
	using coff_swap_lineno_in directly.
	(bfd_coff_backend_data): Add _bfd_coff_force_symnames_in_strings
	and _bfd_coff_debug_string_prefix_length fields.
	* coffgen.c (coff_fix_symbol_name, coff_write_symbols): Force
	symbol names into strings table when
	bfd_coff_force_symnames_in_strings is true.
	* coffswap.h (MAX_SCNHDR_NRELOC, MAX_SCNHDR_NLNNO, GET_RELOC_VADDR,
	SET_RELOC_VADDR): New macros.
	(coff_swap_reloc_in, coff_swap_reloc_out): Use above macros.
	(coff_swap_aux_in, coff_swap_aux_out): Remove RS6000COFF_C
	code.
	(coff_swap_aouthdr_in, coff_swap_aouthdr_out): Handle XCOFF64
	changes within RS6000COFF_C specific code.
	(coff_swap_scnhdr_out): Use PUT_SCNHDR_NLNNO, PUT_SCNHDR_NRELOC,
	MAX_SCNHDR_NRELOC, and MAX_SCNHDR_NLNNO.
	* reloc.c (bfd_perform_relocation, bfd_install_relocation):
	Extend existing hack on target name.
	* xcofflink.c (XCOFF_XVECP): Extend existing hack on
	target name.
	* coff-tic54x.c (ticof): Keep up to date with new fields
	in bfd_coff_backend_data.
	* config.bfd: Add bfd_powerpc_64_arch to targ_arch and define
	targ_selvecs to include rs6000coff64_vec for rs6000.
	* configure.in: Add rs6000coff64_vec case.
 	* cpu-powerpc.c: New bfd_arch_info_type.

	gas:
	* as.c (parse_args): Allow md_parse_option to override -a listing
	option.
	* config/obj-coff.c (add_lineno): Change type of offset parameter
	from "int" to "bfd_vma."
	* config/tc-ppc.c (md_pseudo_table): Add "llong" and "machine."
	(ppc_mach, ppc_subseg_align, ppc_target_format): New.
	(ppc_change_csect): Align correctly for XCOFF64.
	(ppc_machine): New function, which discards "ppc_machine" line.
	(ppc_tc): Cons for 8 when code is 64 bit.
	(md_apply_fix3): Don't check operand->insert.  Handle 64 bit
	relocations.
	(md_parse_option): Handle -a64 and -a32.
	(ppc_xcoff64): New.
	* config/tc-ppc.h (TARGET_MACH): Define.
	(TARGET_FORMAT): Move to function.
	(SUB_SEGMENT_ALIGN): Use ppc_subseg_align.

	include:
	* include/coff/rs6k64.h: New file.

	opcodes:
	* configure.in: Add bfd_powerpc_64_arch.
	* disassemble.c (disassembler): Use print_insn_big_powerpc for
	64 bit code.
2000-04-26 15:09:44 +00:00
Jeff Law
e59db122bd * config.bfd: Only disable elf32-hppa vectors, not all of the
BSD and OSF configuration support.  Provide (disabled) clauses
        for PA64 support.
        * configure.in: Add clause for PA64 support.
        * configure: Rebuilt.
2000-04-24 08:31:33 +00:00
Jeff Law
9ffc64f4d3 * targets.c (bfd_target_vector): Add bfd_elf64_hppa_vec.
(bfd_elf64_hppa_vec): Declare.
2000-04-24 08:26:09 +00:00
Jeff Law
d403336c61 * Makefile.am (BFD64_BACKENDS): Add elf64-hppa.lo
(BFD64_BACKENDS_CFILES): Add elf64-hppa.c
        (elf64-hppa.lo): Add dependencies.
        * Makefile.in: Rebuilt.
2000-04-24 08:23:47 +00:00
Jeff Law
15bda42549 * elf64-hppa.c, elf64-hppa.h: New files with PA64 support. 2000-04-24 08:17:58 +00:00
Jeff Law
9fd9378ca0 * libhppa.h (dis_assemble_16): New function.
(pa_arch): Added pa20w element.
2000-04-24 08:14:43 +00:00
Jeff Law
b9f6667271 * elf-bfd.h: Add prototypes for bfd_elf32_write_relocs,
bfd_elf32_slurp_reloc_table, bfd_elf64_write_relocs, and
        bfd_elf64_slurp_reloc_table.

        * elfcode.h (elf_write_relocs, elf_slurp_reloc_table): New
        definitions to get external names.
        (elf_write_relocs): Renamed from write_relocs and make global.
        (elf_slurp_reloc_table): Make global.
        (_bfd_elf,size_info): Use elf_write_relocs instead of write_relocs.
2000-04-24 07:55:09 +00:00
Jeff Law
23afc6f672 * archive.c (hpux_uid_gid_encode): New function.
(bfd_ar_hdr_from_filesystem): Use it if HPUX_LARGE_AR_IDS is
        defined and the ID is greater than 99999.
        (bfd_generic_stat_arch_elt): If HPUX_LARGE_AR_IDS is defined decode
        special uid/gid fields into 32 bit values.
2000-04-24 07:52:50 +00:00
Jeff Law
bc11ab2b2b * config.bfd: Add NetBSD/sparc64 support. 2000-04-21 21:50:52 +00:00
Jim Wilson
800eeca487 IA-64 ELF support. 2000-04-21 20:22:24 +00:00
Richard Henderson
b51a133817 * elf32-d30v.c (bfd_elf_d30v_reloc): Don't modify section
contents when performing a partial link.
        (bfd_elf_d30v_reloc_21): Likewise.
2000-04-21 17:25:29 +00:00
Alan Modra
1319985e96 H.J's x86 fix for "nm -l" on shared libraries, applied to ppc too. 2000-04-20 05:37:05 +00:00
Timothy Wall
e1b0e3c22b Properly regenerate bfd-in2.h. 2000-04-19 13:32:19 +00:00
Alan Modra
dcdea4f4b3 K&R compiler fixes 2000-04-19 10:53:01 +00:00
Jim Wilson
fac417805a Bfd support for generating IA-64 EFI binaries.
* Makefile.am (BFD64_BACKENDS): Mention coff-ia64.lo.
	(BFD64_BACKENDS_CFILES): Mention coff-ia64.c
	(coff-ia64.lo): Add dependency.
	* Makefile.in: Regenerate.
	* coff-ia64.c: New file.
	* efi-app-ia32.c: Ditto.
	* efi-app-ia64.c: Ditto.
	...
2000-04-18 04:03:16 +00:00
Timothy Wall
b9af77f58f Clean up load page support for tic54x. 2000-04-18 02:21:27 +00:00
Alan Modra
5398f6784f Fix typo. 2000-04-17 07:54:12 +00:00
Alan Modra
fc633e5b97 Remove U suffix from constants for K&R compilers.
Fix a couple of 64 bit nits.
2000-04-13 01:08:05 +00:00
Alan Modra
7df5277ad6 Fix auto-dependency bug. 2000-04-11 23:57:13 +00:00
Alan Modra
8a4ac87108 Allow address wrap for bitfields again. 2000-04-11 23:01:50 +00:00
Alan Modra
43cbcf2859 Fit 64-bit nits. 2000-04-11 13:07:56 +00:00
Timothy Wall
4af1d5f662 Mods to allow compilation of BFD all targets. 2000-04-11 04:11:03 +00:00
Andrew Cagney
a2d91340f3 Remove ``-W -Wall'' from top-level Makefile/configure.
Add ``-W -Wall'' to sub-directories bfd, binutils, gas gprof, ld and
opcodes by the addition of WARN_CFLAGS to Makefile.am and configury to
set it.  Add configure option --enable-build-warnings.
Re-generate all and sundry using auto*-000227.
2000-04-09 12:17:43 +00:00
Timothy Wall
a44f28956b Fix copyright comments and file comments. 2000-04-08 17:26:16 +00:00
Nick Clifton
d4c97e70fc Fix dependency for elfarm-oabi.c 2000-04-08 00:19:37 +00:00
Nick Clifton
dfc5f959f3 Add support for R_ARM_XPC25 and R_ARM_THM_XPC22 relocs 2000-04-08 00:10:49 +00:00
Michael Snyder
0ab2f69a43 2000-04-06 Michael Snyder <msnyder@seadog.cygnus.com>
* elfcore.h (elf_core_file_p): preserve value of tdata at entry,
        and restore it on failure.  Release newly allocated tdata on
        failure.
2000-04-07 20:27:29 +00:00
Jim Wilson
ccdb16fc41 Fix linker segfault that occured when linking ia64-linux kernel.
* dwarf2.c (struct dwarf2_debug): New field dwarf_line_size.
	(decode_line_info): Set it.  Report error if unit->line_offset is
	equal to or larger than it.
2000-04-07 18:36:04 +00:00
Timothy Wall
81635ce4f5 BFD and include/coff support for tic54x target. 2000-04-07 17:06:58 +00:00
Michael Snyder
279b54a119 2000-04-06 Michael Snyder <msnyder@seadog.cygnus.com>
* elfcore.h (elf_core_file_p): call backend_object_p which
        thereby gets an opportunity to update the arch/machine type.
2000-04-07 03:59:23 +00:00
Timothy Wall
34cbe64ecf SEC_BLOCK, SEC_CLINK, and C_STATLAB added (TI COFF support). 2000-04-07 00:58:07 +00:00
Nick Clifton
ce855c42d5 Update copyright notice 2000-04-06 23:38:47 +00:00
Nick Clifton
fc830a8329 Only check EF_xxx flags if the EABI version number is unknown. 2000-04-06 23:32:19 +00:00
Joern Rennecke
015551fcfb sh-dsp REPEAT support:
opcodes:

        * sh-opc.h (sh_nibble_type): Remove DISP_8 and DISP_4.
        Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}.  Add REPEAT.
        (sh_arg_type): Add A_PC.
        (sh_table): Update entries using immediates.  Add repeat.
        * sh-dis.c (print_insn_shx): Remove DISP_8 and DISP_4.
        Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}.  Add REPEAT.

gas:

        * config/tc-sh.c (immediate): Delete.
        (sh_operand_info): Add immediate member.
        (parse_reg): Use A_PC for pc.
        (parse_exp): Add second argument 'op'.  All callers changed.
        (parse_at): Expect pc to be coded as A_PC.
        Use immediate field in *op.
        (insert): Add fourth argument 'op'.  All callers changed.
        (build_relax): Add second argument 'op'.  All callers changed.
        (insert_loop_bounds): New function.
        (build_Mytes): Remove DISP_4.
        Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}.  Add REPEAT.
        (assemble_ppi): Use immediate field in *operand.
        (sh_force_relocation): Handle BFD_RELOC_SH_LOOP_{START,END}.
        (md_apply_fix): Likewise.
        (tc_gen_reloc): Likewise.  Check for a pcrel BFD_RELOC_SH_LABEL.

include/coff:

        * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): Define.

include/elf:

        * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs.

bfd:

        * reloc.c (_bfd_relocate_contents): Add BFD_RELOC_SH_LOOP_START and
        BFD_RELOC_SH_LOOP_END.
        * elf32-sh.c (sh_elf_howto_tab): Change special_func to
        sh_elf_ignore_reloc for all entries that sh_elf_reloc used to ignore.
        Add entries for R_SH_LOOP_START and R_SH_LOOP_END.
        (sh_elf_reloc_loop): New function.
        (sh_elf_reloc): No need to test for always-to-be-ignored relocs
        any more.
        (sh_rel): Add entries for BFD_RELOC_SH_LOOP_{START,END}.
        (sh_elf_relocate_section): Handle BFD_RELOC_SH_LOOP_{START,END}.
        * bfd-in2.h, libbfd.h: Regenerate.
2000-04-05 21:23:05 +00:00
Alan Modra
8ad3436c79 Move translated part of bug report string back into .c files so
xgettext can find it.  Regnerate .pot files.
2000-04-04 14:32:35 +00:00
Alan Modra
41b49281c1 Use "gcc -MM" for dependencies, and update them. 2000-04-04 10:53:56 +00:00
Kevin Buettner
653f71caaf AIX 4.3 changes 2000-04-03 21:48:31 +00:00
Ian Lance Taylor
9e422a2e27 2000-04-03 H.J. Lu <hjl@gnu.org>
* cache.c (bfd_open_file): Unlink the output file only if
	it has none zero size.
2000-04-03 19:19:11 +00:00
Alan Modra
c555c5c58e Don't emit relative relocations for non-loaded sections in shared objects.
Fix for DWARF-2 sections .debug_info and .debug_line.
2000-04-03 12:42:18 +00:00
Hans-Peter Nilsson
1642229ef3 * aoutx.h (NAME(aout,reloc_type_lookup)): Add BFD_RELOC_8 and
BFD_RELOC_16 to switch for extended relocs.
	(MY_swap_ext_reloc_in): New.
	(MY_swap_ext_reloc_out): New.
	(NAME(aout,slurp_reloc_table)): Use MY_swap_ext_reloc_in rather
	than NAME(aout,swap_ext_reloc_in) for extended relocs.
	(NAME(aout,squirt_out_relocs)): Similarly use
	MY_swap_ext_reloc_out.
	(aout_link_reloc_link_order): Use MY_put_ext_reloc if defined.
2000-04-03 11:44:45 +00:00
Jeff Law
4259e8b62b * coff-h8300.c (h8300_reloc16_extra_cases): Add bsr:16 -> bsr:8 to
the R_PCRWORD_B case.
2000-04-03 06:55:06 +00:00
Alexandre Oliva
fff930eee9 Fix long-standing mis-comments. Words and addresses are 32-bits long. 2000-04-01 20:58:49 +00:00
Alexandre Oliva
8794579e6b Adjust whitespace. 2000-03-31 18:46:38 +00:00
Alan Modra
65d7f9a691 Set CHUNK size to 16 bytes to prevent download failures on lame targets. 2000-03-30 23:49:07 +00:00
Doug Evans
8b125cdefa * elf32-m32r.c (m32r_elf_generic_reloc): new function. All
HOWTO references to bfd_elf_generic_reloc, that have
	partial_inplace == true, now use the new function.  The function
	is based on the recent rewrite of m32r_elf_lo16_reloc(), and
	extends its fixes to the R_M32R_{16,24,32} relocs.
	The new logic in m32r_elf_lo16_reloc() has been removed, and
	it instead calls the new routine to obtain that functionality.
2000-03-30 22:16:39 +00:00
Alan Modra
adde6300e0 ATMEL AVR microcontroller support. 2000-03-27 08:39:14 +00:00
H.J. Lu
cd6f9321da 2000-03-24 H.J. Lu <hjl@gnu.org>
* elf64-alpha.c (elf64_alpha_merge_ind_symbols): Add prototype.
	(elf64_alpha_find_reloc_at_ofs): Likewise.
2000-03-24 20:50:30 +00:00
Geoffrey Keating
4fb431855b Add missing parts of ChangeLog entry for my change of 2000/02/19 00:59:26 to coff-rs6000.c. 2000-03-23 23:37:38 +00:00
Alan Modra
d5afc56eb1 Extend the allowed bitfield range (ie. that for which
complain_overflow_bitfield doesn't complain) from -2**(n-1)..2**n-1 to
-2**n..2**n.  This might mean that some reloc overflows are no longer
caught, but it solves the address wrap problem for 16-bit relocs
nicely.  In any case, ports that rely on complain_overflow_bitfield
for reloc overflow checking were not getting a very good check
previously.  A bitfield range in a machine instruction is typically
either the signed or unsigned n bit numbers, not the overlap of these
two ranges.
2000-03-17 02:02:38 +00:00
Catherine Moore
4c72e23a26 * elf32-m32r.c (m32r_elf_lo16_reloc): Rewrite. 2000-03-14 18:16:05 +00:00
Jeff Law
c4d5c859ba * reloc16.c (bfd_coff_reloc16_relax_section): Count the total number
of shrinks properly, including the last reloc.
2000-03-14 17:50:00 +00:00
Jeff Law
003e46d0ac * coff-h8300.c (h8300_reloc16_extra_cases): Fix the sanity
check for R_MOVL2.
2000-03-13 23:57:25 +00:00
Alan Modra
911c6daef6 Return bfd_error_wrong_format on a format mismatch. 2000-03-11 23:09:42 +00:00
Geoffrey Keating
7893e6a2a7 * elf32-mips.c (_bfd_mips_elf_relocate_section): Do proper
sign-extension and big-endian compensation for
R_MIPS_64 even in ld -r.
2000-03-11 02:23:10 +00:00
Geoffrey Keating
bb2d6cd7b1 In bfd/:
* elf32-mips.c (mips_elf_next_relocation): Rename from
	mips_elf_next_lo16_relocation, and generalize to look
	for any relocation type.
	(elf_mips_howto_table): Make R_MIPS_PC16 pcrel_offset.
	(elf_mips_gnu_rel_hi16): Howto for R_MIPS_GNU_REL_HI16.
	(elf_mips_gnu_rel_lo16): Howto for R_MIPS_GNU_REL_LO16.
	(elf_mips_gnu_rel16_s2): Howto for R_MIPS_GNU_REL16_S2.
	(elf_mips_gnu_pcrel64): Howto for R_MIPS_PC64.
	(elf_mips_gnu_pcrel32): Howto for R_MIPS_PC32.
	(bfd_elf32_bfd_reloc_type_lookup): Add new relocs.
	(mips_rtype_to_howto): Likewise.
	(mips_elf_calculate_relocation): Handle new relocs.
	(_bfd_mips_elf_relocate_section): REL_HI16/REL_LO16 relocs
	are paired.  The addend for R_MIPS_GNU_REL16_S2
	is shifted right two bits.
In gas/:
	* config/tc-mips.c (mips_ip): Don't put stuff in .rodata
	when embedded-pic.

	* config/tc-mips.c (SWITCH_TABLE): The ELF embedded-pic
 	implementation doesn't have special handling for switch
 	statements.
	(macro_build): Allow for code in sections other than .text.
	(macro): Likewise.
	(mips_ip): Likewise.
	(md_apply_fix): Do pc-relative relocation madness for MIPS ELF.
  	Don't perform relocs if we will be outputting them.
	(tc_gen_reloc): For ELF, just use fx_addnumber for pc-relative
 	relocations.  Allow BFD_RELOC_16_PCREL_S2 relocs when
 	embedded-pic.
In gas/testsuite/:
	* gas/mips/empic.d: New file.
	* gas/mips/empic.s: New file.
	* gas/mips/mips16-e.d: New file.
	* gas/mips/mips16-e.s: New file.
	* gas/mips/mips16-f.d: New file.
	* gas/mips/mips16-f.s: New file.
	* gas/mips/mips.exp: Add empic, mips16-e.  Add mips16-f as an
	expected failure.
In include/elf:
	* mips.h: Add R_MIPS_GNU_REL_HI16, R_MIPS_GNU_REL_LO16,
 	R_MIPS_GNU_REL16_S2, R_MIPS_PC64 and R_MIPS_PC32 relocation
 	numbers.
2000-03-11 02:16:25 +00:00
Alan Modra
88b6bae086 Fix typos in comments, and restore comment formatting destroyed by emacs at
some stage.
2000-03-11 01:16:52 +00:00
Doug Evans
c1b7949f6e * reloc.c (reloc_howto_struct): Fix partial_inplace comment.
* bfd-in2.h: Rebuild.
2000-03-07 21:04:31 +00:00
Nick Clifton
108213226d Further LINK6 bug fix. 2000-03-06 22:38:43 +00:00
Nick Clifton
11c8a8d1b7 fix LINK6 code. 2000-03-06 19:49:58 +00:00
Catherine Moore
b47e35fc72 * elf.c (swap_out_syms): Check for null type_ptr. 2000-03-06 15:44:25 +00:00
Ian Lance Taylor
8ba8a4628f 2000-03-01 Hans-Peter Nilsson <hp@axis.com>
* aout-target.h (MY(write_object_contents)): Remove unused
	and unusable "#if CHOOSE_RELOC_SIZE".
	* pc532-mach.c (MY(write_object_contents)): Ditto.
	* netbsd.h (MY(write_object_contents)): Ditto.
	* hp300hpux.c (MY(write_object_contents)): Ditto.
	* freebsd.h (MY(write_object_contents)): Ditto.
	* aout-tic30.c (tic30_aout_write_object_contents): Ditto.
2000-03-02 01:38:33 +00:00