Commit graph

654 commits

Author SHA1 Message Date
Tom Rix
41ea10b134 formatting change 2001-05-29 14:53:22 +00:00
Nick Clifton
0f2712edc9 Add support for .uahword, .uaword and .uaxword pseudo ops 2001-05-28 09:23:54 +00:00
Alan Modra
fbe572f93e * config/tc-m68k.c (md_assemble): Ensure variable part of frag is
allocated in the same chunk as the fixed part.
2001-05-27 11:57:25 +00:00
Alan Modra
1cd55018a6 * config/obj-ieee.c (write_object_file): Set finalize_syms.
* config/obj-coff.c (write_object_file): Likewise.
	* (size_section): Remove rs_space assert as fr_symbol is no longer
	removed.
	(fill_section): Likewise.
2001-05-25 09:40:12 +00:00
Alan Modra
b58c9faf2f From 2.11 branch 2001-03-30 Richard Henderson <rth@redhat.com>
* config/tc-i386.c (md_convert_frag): Don't die on local symbols
	that have been finalized.
2001-05-24 23:52:22 +00:00
Tom Rix
6877bb43e5 Fix for gas seg fault and neg line numbers 2001-05-24 21:39:09 +00:00
Nick Clifton
d1cf510e5e Add MIPS r12k support 2001-05-23 17:26:40 +00:00
Alan Modra
2d0441d962 * config/tc-arc.c (md_assemble): Use is_end_of_line instead of
testing for NULs.
2001-05-22 11:03:35 +00:00
Alan Modra
6386f3a767 * symbols.c (resolve_symbol_value): Remove "finalize" param,
instead use finalize_syms directly.  Don't treat expressions
	specially with regard to finalize_syms.  Update calls to self.
	(resolve_local_symbol): Update call to resolve_symbol_value.
	(S_GET_VALUE): Likewise.  Return resolve_symbol_value if
	!finalize_syms.
	* symbols.h (resolve_symbol_value): Update prototype.
	* config/obj-aout.c (obj_crawl_symbol_chain): Update call
	to resolve_symbol_value.
	* config/obj-bout.c (obj_crawl_symbol_chain): Likewise.
	* config/obj-coff.c (do_relocs_for): Likewise.
	(yank_symbols): Likewise.
	(fixup_segment): Likewise.
	* config/obj-vms.c (obj_crawl_symbol_chain): Likewise.
	* config/tc-mips.c (md_convert_frag): Likewise.
	* config/tc-ppc.c (ppc_frob_symbol): Likewise.
	(ppc_fix_adjustable): Likewise.
	* dwarf2dbg.c (dwarf2dbg_estimate_size_before_relax): Likewise.
	(dwarf2dbg_convert_frag): Likewise.
	* ehopt.c (eh_frame_estimate_size_before_relax): Likewise.
	(eh_frame_convert_frag): Likewise.
	* expr.c (make_expr_symbol): Likewise.
	* write.c (adjust_reloc_syms): Likewise.
	(write_object_file): Likewise.
	(relax_segment): Likewise.
	(fixup_segment): Likewise.
	(finalize_syms): Init to zero, and update comment.
	(write_object_file): Set finalize_syms to 1 rather than 2.
	* doc/internals.texi (sy_value): Mention finalize_syms.
	(S_GET_VALUE): Remove restriction on when S_GET_VALUE can be called.
2001-05-22 10:23:50 +00:00
Alan Modra
c801568a3a * config/tc-m68k.c (relaxable_symbol): Only treat external symbols
as relaxable if embedded system, make weak syms non-relaxable.
	Move definition..
	(tc_m68k_fix_adjustable): ..so it can be used here.
	(md_apply_fix_2): Sign extend without conditional.
2001-05-22 09:01:55 +00:00
Alan Modra
507c8a1a57 Update copyright date. 2001-05-22 08:41:10 +00:00
Alexandre Oliva
7e8f410030 * config/tc-mn10300.c (mn10300_force_relocation): Don't
optimize differences between symbols in code sections to
constants.
(mn10300_fix_adjustable): Don't adjust to section+offset
relocations pointing at symbols in code sections.
2001-05-16 01:48:51 +00:00
Alan Modra
9fcc94b611 Fix dwarf2_emit_insn calls when frag_var breaks things.
Put back an old entry in ChangeLog-9899, deleted when ChangeLog split.
2001-05-16 01:08:21 +00:00
Alexandre Oliva
076dc439b8 * config/tc-mn10300.c (md_assemble): Anchor dwarf2 line info
before a relaxable insns.
2001-05-14 20:01:12 +00:00
Alexandre Oliva
4e75439ae5 * config/tc-mn10300.c (tc_gen_reloc): Don't reject differences
between symbols if the base symbol is in the current section;
emit a PC-relative relocation instead.
2001-05-13 23:16:30 +00:00
Alan Modra
bcee8eb8ca Peter Targett's backwards compatibility and other arc fixes. 2001-05-12 15:14:53 +00:00
Jakub Jelinek
579f31ac74 * elfxx-ia64.c (is_unwind_section_name): Consider linkonce unwind
sections as well.
	(elfNN_ia64_final_write_processing): Map .gnu.linkonce.ia64unw.FOO
	to .gnu.linkonce.t.FOO text section.

	* readelf.c (process_unwind): Print all unwind sections, not just
	one.

	* config/tc-ia64.c (special_linkonce_name): New.
	(make_unw_section): Map .gnu.linkonce.t.FOO text section into
	.gnu.linkonce.ia64unw{,i}.FOO.
	(ia64_elf_section_type): Handle .gnu.linkonce.ia64unw{,i}.FOO.
	(dot_endp): Add comment about it.

	* elf/ia64.h (ELF_STRING_ia64_unwind_once): Define.
	(ELF_STRING_ia64_unwind_info_once): Define.

	* emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Put
	.gnu.linkonce.ia64unw{,i} sections into corresponding .IA_64.unwind*
	output sections.
	* emulparams/elf64_aix.sh (OTHER_READONLY_SECTIONS): Likewise.
2001-05-11 12:36:47 +00:00
Nick Clifton
15f65ae412 When truncating an aligned block, ensure that the low order bits of the
alignment are preserved.
2001-05-11 10:01:41 +00:00
Alan Modra
606ab118ba Fix more fallout from multi-pass relaxation patch. 2001-05-10 11:32:52 +00:00
Richard Henderson
1f23ade4f4 * config/tc-ia64.c (generate_unwind_image): Align the fragment
beginning a function's unwind info block.
2001-05-10 00:18:19 +00:00
Alexandre Oliva
96f37af640 * config/tc-mn10300.c (md_apply_fix3): Accept PC-relative relocs. 2001-05-09 13:32:01 +00:00
Andreas Schwab
8390138c6b * config/tc-m68k.c: Instead of replacing -1 by 64 in assignment to
fx_pcrel_adjust explicitly sign extend when reading it.
2001-05-08 18:03:27 +00:00
Alan Modra
5c65dbc1ca More fallout from 2001-03-30 changes.
* config/tc-m68k.c (md_estimate_size_before_relax): Set fr_var
	from md_relax_table, and combine some switch cases.
2001-05-08 13:13:56 +00:00
Alexandre Oliva
a7c92daeed * config/tc-mn10300.c (md_assemble): Subtract operand->shift
from offset in non-pcrel operands too.
2001-05-06 20:05:28 +00:00
Nick Clifton
d8708f403e Do not insert more than MAX_MEM_FOR_RS_ALIGN_CODE bytes. 2001-05-06 10:11:33 +00:00
Alan Modra
3438adb37d Warning fixes and configure/makefile tweaks by Thiemo Seufer. 2001-05-03 02:07:02 +00:00
Alan Modra
636c26b044 * config/tc-i386.c (i386_displacement): Call as_bad for bad GOTOFF
expressions rather than triggering an assert.
2001-05-03 01:08:44 +00:00
Nick Clifton
6e1e737c86 Fix indentation and parenthesis 2001-05-02 18:40:10 +00:00
Nick Clifton
c7e4034828 Add gas and ld support for openrisc 2001-05-02 18:14:31 +00:00
Nick Clifton
5cb1517bba imprrove error message 2001-05-02 11:33:12 +00:00
H.J. Lu
f4ddc5e633 2001-04-29 Keith M Wesolowski <wesolows@foobazco.org>
* config/tc-mips.c (md_parse_option): Also accept
	elf64-tradbigmips and elf64-tradlittlemips for OPTION_64.
2001-04-29 17:58:39 +00:00
H.J. Lu
fa7fda74e9 2001-04-27 David Mosberger <davidm@hpl.hp.com>
* config/tc-ia64.c (dot_spillmem_p): Fix output_spill_?sprel_p()
	argument passing order: predicate goes last, not first.
2001-04-27 20:42:55 +00:00
Nick Clifton
16a0c2d4ec Add ability to pad code alignment frags with no-ops. 2001-04-26 15:19:21 +00:00
Nick Clifton
ea3b9044a6 Check to see if the filename symbol has been initialised before extracting
its symbol index.
2001-04-25 09:11:31 +00:00
Nick Clifton
6840198f93 z8k fixes 2001-04-24 15:22:25 +00:00
Jason Eckhardt
1c97d17b13 2000-04-20 Jason Eckhardt <jle@redhat.com>
* config/tc-d10v.h (tc_frob_label): Update the symbol's frag
	since frag_now can change after d10v_cleanup is called.
2001-04-20 23:38:37 +00:00
Alexandre Oliva
eb0dfd58c8 * config/tc-mn10300.c (md_assemble): Simplify offset adjustment of
pc-relative relocations not placed at the end of the instruction.
2001-04-14 06:53:57 +00:00
Jim Wilson
1deb8127a2 Fix latent bug exposed by a gcc-3 bug fix.
* tc-ia64.c (is_conditional_branch): Return true for br, brl, and br.
	excluding br.i.
2001-04-14 03:51:40 +00:00
Jakub Jelinek
f5fa8ca231 bfd/
* libbfd-in.h (_bfd_merge_section): New.
	(_bfd_write_merged_section): New.
	(_bfd_merged_section_offset): New.
	* libbfd.h: Rebuilt.
	* linker.c (_bfd_generic_link_output_symbols): Handle
	discard_sec_merge.
	* aoutx.h (aout_link_write_symbols): Likewise.
	* pdp11.c (aout_link_write_symbols): Likewise.
	* elflink.h (elf_link_add_object_symbols): Call _bfd_merge_section.
	(elf_bfd_final_link): Adjust global symbols pointing into SEC_MERGE
	sections.
	(elf_link_sec_merge_syms): New.
	(elf_link_input_bfd): Call _bfd_merged_section_offset
	and _bfd_write_merged_section.
	Handle discard_sec_merge.
	* elf-bfd.h (struct elf_link_hash_table): Add merge_info
	field.
	(struct bfd_elf_section_data): Likewise.
	* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_MERGE and
	SEC_STRINGS section flags and entsize from their ELF counterparts.
	(_bfd_elf_link_hash_table_init): Initialize merge_info.
	(elf_fake_sections): Set SHF_MERGE, SHF_STRINGS and sh_entsize
	from their BFD counterparts.
	* merge.c: New file.
	* Makefile.am: Add strtab.lo.
	* Makefile.in: Rebuilt.
include/
	* bfdlink.h (bfd_link_discard): Add discard_sec_merge.
gas/
	* config/obj-elf.c (obj_elf_change_section): Add entsize argument,
	handle SHF_MERGE and SHF_STRINGS.
	(obj_elf_parse_section_letters): Set SHF_MERGE and SHF_STRINGS.
	(obj_elf_section): Allow additional argument specifying entity size.
	* write.c (adjust_reloc_syms): Keep relocations against local symbols
	in SEC_MERGE sections.
ld/
	* ldmain.c (main): Default to discard_sec_merge.
	* lexsup.c (OPTION_DISCARD_NONE): Define.
	(ld_options): Add --discard-none.
	(parse_args): Handle OPTION_DISCARD_NONE.
	* ldlang.c (wild_doit): SEC_MERGE should be set in the output
	section only if SEC_MERGE and SEC_STRINGS flags and entsize of
	all its input sections match.
2001-04-13 00:34:36 +00:00
Alexandre Oliva
a8a22e3365 * expr.c (operand): Pass &c to md_parse_name().
* config/tc-ia64.h, config/tc-ppc.h, config/tc-tic54x.h: Adjust.
2001-04-12 07:03:10 +00:00
H.J. Lu
af9539e4e5 2001-04-07 Steven J. Hill <sjhill@cotw.com>
* config/tc-mips.c: Support ELF64 for traditional MIPS targets.

	* Makefile.am: (TARG_ENV_HFILES): Add tc-mips.h.
	* Makefile.in: Regenerated.

	* configure.in: Use traditional MIPS targets for Linux/MIPS.
	* configure: Regenerated.
2001-04-08 05:09:21 +00:00
Alexandre Oliva
4dfea10551 * config/tc-mn10300.c (xr_registers): Added `pc'. 2001-04-06 07:50:48 +00:00
Alan Modra
e66457fbf3 Fix more breakages from the multiple relax pass patch. 2001-04-05 04:21:36 +00:00
Hans-Peter Nilsson
ed67db7ab9 * config/tc-cris.c (cris_insn_first_word_frag): New.
(md_assemble): Call cris_insn_first_word_frag to get the first
	frag in an insn, not frag_more.  Don't call dwarf2_emit_insn at
	end.  Drop variable insn_size.
	(gen_bdap): Call cris_insn_first_word_frag, not frag_more.
	(cris_sym_leading_underscore): Wrap first as_bad parameter in _().
	(cris_sym_no_leading_underscore, s_cris_file, s_cris_loc): Ditto.
2001-04-04 04:23:20 +00:00
Hans-Peter Nilsson
c335d39444 * config/tc-cris.c (md_estimate_size_before_relax) <case
ENCODE_RELAX (STATE_CONDITIONAL_BRANCH, STATE_UNDF)>: Don't emit
	32-bit branch, just set fragP->fr_subtype.  Set fragP->fr_var.
	<all cases>: Always set fragP->fr_var using md_cris_relax_table.
	Add cases to cover all relax states.
2001-04-04 03:53:12 +00:00
Alan Modra
1a5447b835 Pass finalize_syms on calls to resolve_symbol_value. 2001-03-30 07:07:11 +00:00
Alan Modra
93c2a809af Prepare for multi-pass relaxation. 2001-03-30 00:06:10 +00:00
Hans-Peter Nilsson
d551a338e2 * config/tc-cris.h (tc_fix_adjustable): Allow only
BFD_RELOC_CRIS_32_GOTREL of the PIC relocs.
	* config/tc-cris.c (cris_get_pic_suffix): Correct reloc used in
	example to valid.
2001-03-29 02:29:38 +00:00
Alan Modra
8a238888b4 Default hppa64 to ".level 2.0w" 2001-03-28 14:13:46 +00:00
Nick Clifton
07855becf9 Do not optimize BFD_RELOC_390_GOTENT relocs.
Always generate relocs for VT_ relocs.
2001-03-26 19:38:33 +00:00