Commit Graph

539 Commits

Author SHA1 Message Date
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
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
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
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