Commit Graph

721 Commits

Author SHA1 Message Date
Jakub Jelinek
19f7b01094 gas/
* config/tc-sparc.c (sparc_ip): Fix a bug which caused v9_arg_p
	instructions to loose any special insn->architecture mask.

	* config/tc-sparc.c (v9a_asr_table): Add v9b ASRs.
	(sparc_md_end, sparc_arch_types, sparc_arch,
	sparc_elf_final_processing): Handle v8plusb and v9b architectures.
	(sparc_ip): Handle siam mode operands. Support v9b ASRs (and
	request v9b architecture if they are used).

bfd/
	* elf32-sparc.c (elf32_sparc_merge_private_bfd_data,
	elf32_sparc_object_p, elf32_sparc_final_write_processing):
	Support v8plusb.
	* elf64-sparc.c (sparc64_elf_merge_private_bfd_data,
	sparc64_elf_object_p): Support v9b.
	* archures.c: Declare v8plusb and v9b machines.
	* bfd-in2.h: Ditto.
	* cpu-sparc.c: Ditto.

include/opcode/
	* sparc.h (enum sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_V9B.
	Note that '3' is used for siam operand.

opcodes/
	* sparc-dis.c (v9a_asr_reg_names): Add v9b ASRs.
	(compute_arch_mask): Add v8plusb and v9b machines.
	(print_insn_sparc): siam mode decoding, accept ASRs up to 25.
	* opcodes/sparc-opc.c: Support for Cheetah instruction set.
	(prefetch_table): Add #invalidate.
2000-10-20 10:38:47 +00:00
Geoffrey Keating
ea5fbc6753 * elf64-sparc.c (sparc64_elf_relocate_section): Clear the location
of a GOT reloc.
2000-10-16 20:49:53 +00:00
Geoffrey Keating
e1e0340bc8 * elf32-ppc.c (SYMBOL_REFERENCES_LOCAL): New macro.
(SYMBOL_CALLS_LOCAL): New macro.
	(ppc_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
	(ppc_elf_check_relocs): Use SYMBOL_REFERENCES_LOCAL.
	(ppc_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
	(ppc_elf_relocate_section): Use flag variable to determine
	whether the relocation refers to a local symbol.
	Test whether a PLTREL24 reloc will produce a reloc by looking
	to see whether a PLT entry was made.
2000-10-16 19:52:26 +00:00
Geoffrey Keating
a4b120e1db * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Don't make PLT
entries that could serve as a definition for a weak symbol.
2000-10-14 23:30:12 +00:00
Ulf Carlsson
5af5b85bc3 2000-10-13 Ulf Carlsson <ulfc@engr.sgi.com>
From  Ralf Baechle  <ralf@gnu.org>

	* elf32-mips.c (mips_elf_create_dynamic_relocation): New argument
	local_p.  Add symbol value only for non-R_MIPS_REL32 relocations
	against local symbols.
	(_bfd_mips_elf_finish_dynamic_sections): Undo patch from 2000-10-01.
2000-10-14 04:05:23 +00:00
Alan Modra
24376d1b58 Another try at correcting relocations against discarded
link-once section symbols.
2000-10-12 03:44:51 +00:00
Alan Modra
3ef20aaa54 Include alloca-conf.h 2000-10-12 01:28:06 +00:00
Alan Modra
d01e2a23a3 Revert 2000-10-07 link-once section symbol changes. 2000-10-11 07:05:02 +00:00
Alan Modra
c0e219ccea Fix my last change to actually compile. 2000-10-10 23:38:27 +00:00
Alan Modra
fe268b663f (ieee_make_empty_symbol): Use bfd_zalloc, not bfd_zmalloc. 2000-10-10 15:50:35 +00:00
Alan Modra
4d7ce4dd48 * section.c (bfd_make_section_anyway): Release newsect ptr when
newsect->symbol fails to alloc.  Use bfd_release instead of free.
2000-10-10 15:23:38 +00:00
Richard Henderson
f3b6f7c34d * elf64-ia64.c (elf64_ia64_unwind_entry_compare_bfd): New.
(elf64_ia64_unwind_entry_compare): New.
        (elf64_ia64_final_link): Sort the .IA_64.unwind section.
2000-10-09 23:16:30 +00:00
Alan Modra
fc8c40a057 Cure a number of segfaults caused by /DISCARD/ of dynamic sections. 2000-10-07 13:40:33 +00:00
Alan Modra
44852b190c Make elf section symbols global for link-once sections. 2000-10-07 12:52:15 +00:00
DJ Delorie
3e4554a206 * peigen.c (_bfd_pei_swap_scnhdr_out): note extended relocs
* coffcode.h (coff_set_alignment_hook): read extended reloc count
(coff_write_relocs): write extended reloc count
(coff_write_object_contents): account for extended relocs
2000-10-06 19:47:51 +00:00
Jim Wilson
fa152c4930 Preserve machine dependent section header flags when reading ELF object file.
* elf-bfd.h (struct elf_backend_data): Add elf_backend_section_flags
	field.
	* elf.c (_bfd_elf_make_section_from_shdr): Call the
	elf_backend_section_flags function.
	* elf64-ia64.c (elf64_ia64_section_from_shdr): Delete flag conversion
	code.
	(elf64_ia64_section_flags): New function containing flag conversion
	code.
	(elf_backend_section_flags): Define to elf64_ia64_section_flags.
	* elfxx-target.h (elf_backend_section_flags): Define.
	(elfNN_bed): Initialize elf_backend_section_flags field.
2000-10-05 22:22:27 +00:00
Alan Modra
36605136d4 Correct call to _bfd_elf32_gc_record_vtable. 2000-10-02 09:09:27 +00:00
Ulf Carlsson
4b6609a057 2000-10-01 Ulf Carlsson <ulfc@engr.sgi.com>
From  Ralf Baechle  <ralf@gnu.org>

	* elf32-mips.c (_bfd_mips_elf_finish_dynamic_sections): Mark gld
	produces binaries with got[1] = 0x80000001 to differenciate them
	for the dynamic linker from the broken binaries produced by old
	versions.
2000-10-02 06:04:16 +00:00
Alexandre Oliva
d64552c589 * ltconfig, ltmain.sh, libtool.m4: Updated from libtool
multi-language branch, to work around Solaris' /bin/sh bug.  Rebuilt
all affected `configure' scripts.
2000-09-30 06:07:00 +00:00
Alan Modra
f572a39d15 Support for Unixware 7.1.x pxstatus_t and lwpxstatus_t. 2000-09-30 00:44:49 +00:00
Hans-Peter Nilsson
4da816844a Define two bfd_targets for absence and presence of leading
underscore on symbols.  Make sure to only link same kind.
	* elf32-cris.c (cris_elf_object_p,
	cris_elf_final_write_processing, cris_elf_print_private_bfd_data,
	cris_elf_merge_private_bfd_data): New.
	(elf_backend_object_p, elf_backend_final_write_processing,
	bfd_elf32_bfd_print_private_bfd_data,
	bfd_elf32_bfd_merge_private_bfd_data): Define.
	<Target vector definition>: Include elf32-target.h twice with
	different macro settings:
	(TARGET_LITTLE_SYM): First as bfd_elf32_cris_vec, then as
	bfd_elf32_us_cris_vec.
	(TARGET_LITTLE_NAME): First as "elf32-cris", then "elf32-us-cris".
	(elf_symbol_leading_char): First as 0, then '_'.
	(INCLUDED_TARGET_FILE): Define for second include of elf32-target.h.
	* config.bfd (cris-*-*): Add bfd_elf32_us_cris_vec to targ_selvecs.
	* configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vector.
	* configure: Regenerate.
	* targets.c: Declare bfd_elf32_us_cris_vec.
	* po/bfd.pot: Regenerate.
2000-09-29 17:05:22 +00:00
Alan Modra
9a5aca8c9c (arm_add_to_rel): Fix R_ARM_THM_PC22 relocations. 2000-09-29 13:51:49 +00:00
Alan Modra
512a2384fe * elflink.h (elf_link_add_object_symbols): Don't bfd_release runpath. 2000-09-29 13:15:03 +00:00
Alan Modra
ef6acf5b5f That'll teach me not to type little patches in by hand. Get
the parentheses right.
2000-09-29 07:14:05 +00:00
Alan Modra
6c99a5c30b (elf_fake_sections): Do not mark the section SHT_NOBITS if
is has the SEC_HAS_CONTENTS flag set.
2000-09-29 07:01:18 +00:00
Hans-Peter Nilsson
b16885a132 * aout-cris.c (N_TXTADDR): Define. 2000-09-28 21:58:16 +00:00
Alan Modra
6204760d74 * som.c: Include alloca-conf.h 2000-09-28 08:08:16 +00:00
Alan Modra
47d89dba5e .plt stub for lazy linking, --stub-group-size=N ld switch,
import stub fix, extra DIR14F reloc to fix abort in tc_gen_reloc
2000-09-27 17:30:19 +00:00
Hans-Peter Nilsson
a17cc40f09 * elfcode.h (elf_object_p): Preserve and clear abfd section
information.  Restore at error.
2000-09-27 07:52:24 +00:00
DJ Delorie
3028b4c011 * peigen.c (_bfd_pei_swap_aouthdr_in): If some DataDirectory
is empty, make sure that its rva also 0. NT loader dislikes
having otherwise.
2000-09-26 20:42:29 +00:00
Alan Modra
409141842e Make weak symbols SS_UNIVERSAL (ie. global) 2000-09-26 01:45:26 +00:00
Alan Modra
1badb539a7 Correct comments. Don't check non-code output sections for stub
grouping.  (In the process, partly revert and fix bugs introduced
with the last change.  Oops.)
2000-09-21 13:40:00 +00:00
Alan Modra
a017a7241d Fix a segfault caused by under-allocating an array. 2000-09-21 10:13:18 +00:00
Alan Modra
b3ea35849f Handle out of memory situations. 2000-09-20 04:20:26 +00:00
Nick Clifton
6091b433d7 Change the PLT entry 0 instruction sequence to actually work. 2000-09-19 23:21:36 +00:00
Alexandre Oliva
8a3975e63b * elf32-sh.c (sh_elf_relocate_section): Use
_bfd_final_link_relocate to apply the relocation against a section
symbol, when doing relocatable links.
2000-09-18 16:19:15 +00:00
Alan Modra
25f7275229 Group stub sections. 2000-09-18 12:22:43 +00:00
Alexandre Oliva
4bb5e078a2 * elf32-sh.c (ELF_MAXPAGESIZE): Define to 128, to match
ld/emulparams/shelf.sh.
2000-09-16 23:09:35 +00:00
Nick Clifton
0752970ef8 add support for embedded relocs in m68k ELF port 2000-09-15 18:52:52 +00:00
Nick Clifton
ffcb7aff0f ld performs LITUSE relocations incorrectly if -relax is specified on the ld
command line and the displacement field of the load or store instruction is
non-zero.
2000-09-15 18:07:28 +00:00
Alan Modra
d5c73c2f38 Find the first .init and .fini sections correctly.
Clobber millicode syms via a hash traversal here.  elf_adjust_dynamic_symbol
really ought to let us look at all dynamic symbols, but it doesn't.
2000-09-15 10:24:50 +00:00
Alan Modra
74d1c347e9 Lots of bug fixes. .plt entries for DT_INIT, DT_FINI, and any
local function that has a plabel.  Size the stub reloc sections
as we size the stubs.
2000-09-14 12:55:45 +00:00
Alexandre Oliva
06bb75c14b * elf32-sh.c (sh_elf_howto_table): Moved 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) to the range from 160 to 167.  Replaced
the original entries with EMPTY_HOWTOs, and added new ones to fill
in the gap.
(sh_elf_info_to_howto): Make sure the new gap isn't used.
(sh_elf_relocate_section): Likewise.
2000-09-14 04:59:14 +00:00
Nick Clifton
156c2f8bf7 Add support for the MIPS32 2000-09-14 01:47:38 +00:00
Jeff Law
8681fbcd21 * som.c (som_write_symbol_strings): Do not used fixed buffers,
use size_t as a counter.
        (som_write_space_strings): Similarly.
2000-09-14 01:33:46 +00:00
Jason Eckhardt
c1e8b7101f 2000-09-12 Jason Eckhardt <jle@cygnus.com>
* elf32-i860.c (elf32_i860_relocate_pc26): New function
	and prototype.
	(elf32_i860_relocate_section): Invoke new function from here.
2000-09-12 14:34:59 +00:00
Nick Clifton
dbf481172f Make debug_sec_names static. 2000-09-11 17:01:47 +00:00
Nick Clifton
ff0829fd43 Emit 8 NULs for target section name instead of dumping core when the target
symbol is undefined.
2000-09-10 19:17:08 +00:00
Kazu Hirata
27985c55a4 2000-09-09 Kazu Hirata <kazu@hxi.com>
* riscix.c: Remove DEFUN.
2000-09-09 20:17:47 +00:00
Nick Clifton
fe077fa645 Do not initialise flags in output bfd if the input bfd is the default
architecture with the default flags.
2000-09-09 00:40:08 +00:00