Commit graph

505 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
Nick Clifton
d4c97e70fc Fix dependency for elfarm-oabi.c 2000-04-08 00:19:37 +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
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
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