* ehopt.c (get_cie_info): Rename from eh_frame_code_alignment;
also collect whether to expect an FDE augmentation.
(check_eh_frame): Rewrite as a state machine. Track where in
an FDE we are located, skip any augmentation.
(eh_frame_estimate_size_before_relax): Get code alignment from
the fragment subtype.
(eh_frame_relax_frag, eh_frame_convert_frag): Likewise.
* read.c (emit_leb128_expr): Call check_eh_frame.
Alan Modra [Sat, 12 May 2001 12:12:18 +0000 (12:12 +0000)]
* i386-dis.c (twobyte_has_modrm): Update table.
(need_modrm): Give it file scope.
(MODRM_CHECK): Define.
(dofloat): Use MODRM_CHECK.
(OP_E): Likewise.
(OP_EM): Likewise.
(OP_EX): Likewise.
and fix testsuite yet again now that we are getting correct disassembly.
Andreas Jaeger [Fri, 4 May 2001 12:21:46 +0000 (12:21 +0000)]
2001-04-30 Andreas Jaeger <aj@suse.de>, Andreas Schwab <schwab@suse.de>
* elf64-x86-64.c (elf64_x86_64_relocate_section): Correct test for
R_X86_64_GOTPCREL, don't use assignments instead of comparisons.
2001-04-27 Andreas Jaeger <aj@suse.de>
* elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Only swap
out handled entries.
(elf64_x86_64_finish_dynamic_symbol): Set up GOT entries.
(elf64_x86_64_relocate_section): Fix GOTPCREL calculation.
(elf64_x86_64_relocate_section): Merge entries for GOTPCREL and
GOT32.
Jim Wilson [Fri, 27 Apr 2001 21:44:21 +0000 (21:44 +0000)]
Add patch from David Mosberger for unwind info generation bug.
* config/tc-ia64.c (dot_spillmem_p): Fix output_spill_?sprel_p()
argument passing order: predicate goes last, not first.
David O'Brien [Tue, 17 Apr 2001 01:32:01 +0000 (01:32 +0000)]
2001-04-16 David O'Brien <obrien@FreeBSD.org>
* configure.in: Add the em type for FreeBSD targets.
* configure: Regenerate.
Approved by: Alan Modra <amodra@one.net.au>
<20010414192409.C16364@squeak.one.net.au>
Philip Blundell <philb@gnu.org>
<E14o06W-0002IT-00@kings-cross.london.uk.eu.org>
David O'Brien [Mon, 2 Apr 2001 23:38:42 +0000 (23:38 +0000)]
2001-04-01 David O'Brien <obrien@FreeBSD.org>
* ld-bootstrap/bootstrap.exp: FreeBSD 4.3+ will fail on the --static test
as the static ELF binary needs to have its EI_OSABI set to a supported
value. There is no longer a fallback interpretation due to a security
issue.
* ld-undefined/undefined.exp: XFAIL on FreeBSD/i386 for the usual (even
though it doesn't use DWARF2 yet (but its output is identical).
Approved by: Alan Modra <alan@linuxcare.com.au>
<Pine.LNX.4.21.0104021511350.487-100000@front.linuxcare.com.au>
David O'Brien [Mon, 2 Apr 2001 23:31:54 +0000 (23:31 +0000)]
001-04-01 David O'Brien <obrien@FreeBSD.org>
* ld-selective/selective.exp: Use -O with gcc rather than -O2.
This optimization level is buggy on some platforms, and this test
is not intended to test compiler optimizations.
Approved by: Alan Modra <alan@linuxcare.com.au>
<Pine.LNX.4.21.0104021510450.487-100000@front.linuxcare.com.au>
Phil Blundell [Sat, 31 Mar 2001 14:13:45 +0000 (14:13 +0000)]
2001-03-31 Philip Blundell <philb@gnu.org>
From 2001-03-26 H.J. Lu <hjl@gnu.org>
* elf32-gen.c (elf32_generic_link_add_symbols): New. Check
if there are any relocations for generic ELF.
(bfd_elf32_bfd_link_add_symbols): Defined to
elf32_generic_link_add_symbols.
* elf64-gen.c (elf64_generic_link_add_symbols): New. Check
if there are any relocations for generic ELF.
(bfd_elf64_bfd_link_add_symbols): Defined to
elf64_generic_link_add_symbols.
Jim Wilson [Tue, 20 Mar 2001 02:33:43 +0000 (02:33 +0000)]
Fix 2 bugs with parsing the resource dependency tables.
* ia64-gen.c (fetch_insn_class): If xsect, then ignore comment and
notestr if larger than xsect.
(in_class): Handle format M5.
* ia64-asmtab.c: Regnerate.
Jim Wilson [Fri, 16 Mar 2001 04:58:10 +0000 (04:58 +0000)]
Add local tag support. Don't flush instructions for .xdata directives.
* config/tc-ia64.c (md): New member keep_pending_output.
(ia64_flush_pending_output): Flush only if md.keep_pending_output
is not set.
(dot_xdata): Turn on md.keep_pending_output for the duration of
this function.
(dot_xfloat_cons): Ditto.
(dot_xstringer): Ditto.
(dot_xdata_ua): Ditto.
(dot_xfloat_cons_ua): Ditto.
* config/tc-ia64.c (ia64_unrecognized_line, case '['): Add local
label support.
Andreas Jaeger [Wed, 28 Feb 2001 12:51:17 +0000 (12:51 +0000)]
2001-02-28 Andreas Jaeger <aj@suse.de>, Bo Thorsen <bo@suse.de>
* config/tc-i386.c (tc_gen_reloc): Remove ugly hack which is not needed
anymore since we use bfd_elf_generic_reloc now.
(md_apply_fix3): Only apply hack for partial_inplace if not using RELA.
Jim Wilson [Thu, 22 Feb 2001 03:27:17 +0000 (03:27 +0000)]
Improve gas error messages for invalid instructions.
* cpu-ia64-opc.c (elf64_ia64_operands}: Fix typo: error string for
C8 said "1" instead of "8". Clarify error string for IMM22:
"signed integer" instead of just "integer".
* config/tc-ia64.c (enum operand_match_result): New type.
(operand_match): Change return type to operand_match_result.
Fix all returns appropriately, adding support for returning the
out-of-range result.
(parse_operands): New locals result, error_pos, out_of_range_pos,
curr_out_of_range_pos. Rewrite operand matching loop to give better
error messages.
* ia64-opc-d.c (ia64_opcodes_d): Break the "add" pattern into two
separate variants: one for IMM22 and the other for IMM14.
* ia64-asmtab.c: Regenerate.
Jim Wilson [Wed, 21 Feb 2001 22:42:47 +0000 (22:42 +0000)]
Fix bugs in the handling of the .restore directive.
* config/tc-ia64.c (struct unwind): Add member "prologue_count".
(dot_proc): Clear unwind.prologue_count to zero.
(dot_prologue): Increment unwind.prologue_count.
(dot_restore): If second operand is omitted, use
unwind.prologue_count -1 for "ecount" (# of additional regions to
pop). Decrement unwind.prologue_count by number of regions
popped.
David O'Brien [Mon, 19 Feb 2001 06:24:07 +0000 (06:24 +0000)]
001-02-18 David O'Brien <obrien@FreeBSD.org>
* configure.in (cpu_type, arch): Add a generic FreeBSD specification as
all FreeBSD platforms should look the same at this level.
* configure: Rebuilt.
* config/tc-i386.c: Add support for old FreeBSD a.out hosts.
Approved by: Philip Blundell <philb@gnu.org>
Message-Id: <E14URxF-00023n-00@kings-cross.london.uk.eu.org>
David O'Brien [Mon, 19 Feb 2001 06:22:29 +0000 (06:22 +0000)]
2001-02-18 David O'Brien <obrien@FreeBSD>
* configure.in: Recognize FreeBSD/arm, FreeBSD/PowerPC, and treat
FreeBSD/i386-CURRENT differently until I can figure out the needed
corefile changes.
* configure: Regenerate.
* config.bfd: Recognize FreeBSD/x86-64, FreeBSD/ia64, FreeBSD/arm,
FreeBSD/PowerPC, and FreeBSD/sparc64.
Approved by: Philip Blundell <philb@gnu.org>
Message-Id: <E14URxF-00023n-00@kings-cross.london.uk.eu.org>
David O'Brien [Sun, 18 Feb 2001 02:19:27 +0000 (02:19 +0000)]
2001-02-17 David O'Brien <obrien@FreeBSD.org>
* configure.host: Add a generic FreeBSD configuration entry such that
all [modern] FreeBSD systems on all platforms will look the same.
Approved by: Alan Modra <alan@linuxcare.com.au>
<Pine.LNX.4.21.0102172155140.30011-100000@front.linuxcare.com.au>
Phil Blundell [Wed, 14 Feb 2001 14:58:33 +0000 (14:58 +0000)]
2001-02-14 Philip Blundell <pb@futuretv.com>
From 2001-02-06 H.J. Lu <hjl@gnu.org>
* bfd/peicode.h (coff_swap_filehdr_in): Remove the e_magic
checking.
(pe_bfd_object_p): Rewrite with external_PEI_DOS_hdr and
external_PEI_IMAGE_hdr.
Andreas Jaeger [Wed, 14 Feb 2001 11:00:04 +0000 (11:00 +0000)]
2001-02-14 Bo Thorsen <bo@suse.de>
* elf64-x86-64.c: Small formatting fixes and rearrangements of code.
(elf64_86_64_size_info): Struct added to fix a problem
with the hashtable string entries.
(elf64_x86_64_adjust_dynamic_symbol): Add generation of .got.plt.
(elf64_x86_64_size_dynamic_sections): A FIXME removed.
(elf64_x86_64_size_dynamic_sections): Fix a dynamic entry and
remove the FIXME for this.
(elf64_x86_64_adjust_dynamic_symbol): Fix check for unneeded .plt
section. Also removed the FIXME for it.
(x86_64_elf_howto_table): Use bfd_elf_generic_reloc.
(ELF_DYNAMIC_INTERPRETER): Fix the name of the dynamic linker.
(elf64_x86_64_finish_dynamic_sections): Enable .got.plt writing.
Phil Blundell [Wed, 14 Feb 2001 09:57:29 +0000 (09:57 +0000)]
2001-02-14 Philip Blundell <pb@futuretv.com>
From 2001-02-06 H.J. Lu <hjl@gnu.org>
* config/tc-ia64.h (TC_RELOC_RTSYM_LOC_FIXUP): Do fixup if
there is no relocation.
From 2001-02-06 H.J. Lu <hjl@gnu.org>
* config/tc-ia64.h (TC_RELOC_RTSYM_LOC_FIXUP): New. Defined.
* config/tc-ia64.c (md_parse_option): Only accept the valid
ia64 options on "-axxx".
Phil Blundell [Wed, 14 Feb 2001 09:43:10 +0000 (09:43 +0000)]
2001-02-14 Philip Blundell <pb@futuretv.com>
From 2001-02-08 H.J. Lu <hjl@gnu.org>
* elf32-i386.c (elf_i386_check_relocs): Reserve R_386_32
relocation entries for weak definitions when building DSO with
-Bsymbolic.
Stephane Carrez [Sun, 4 Feb 2001 14:11:46 +0000 (14:11 +0000)]
* config/tc-m68hc11.h (LISTING_HEADER): Use m68hc11_listing_header
function to select the header according to the cpu.
(md_after_pass_hook, md_do_align): Remove.
(md_cleanup, m68hc11_cleanup): Remove.
(md_pcrel_from_section): Declare.
* config/tc-m68hc11.c (build_dbranch_insn): Remove insn_size.
(build_jump_insn, build_insn): Likewise.
(m68hc11_listing_header): New function.
(m68hc11_cleanup): Remove.
Stephane Carrez [Sun, 4 Feb 2001 14:06:30 +0000 (14:06 +0000)]
* gas/m68hc11/malis.s: New test to verify compliance with Motorola
Assembly Language Input Standard.
* gas/m68hc11/malis.d: New file.
* gas/m68hc11/malis-include.s: New file.
* gas/m68hc11/all.exp: Add the new test.
nobody [Sun, 4 Feb 2001 13:53:50 +0000 (13:53 +0000)]
This commit was manufactured by cvs2svn to create branch 'binutils-
2_11-branch'.
Cherrypick from master 2001-02-04 13:53:49 UTC Stephane Carrez <stcarrez@nerim.fr> ' * gas/m68hc11/malis.s: New test to verify compliance with Motorola':
gas/testsuite/gas/m68hc11/malis-include.s
gas/testsuite/gas/m68hc11/malis.d
gas/testsuite/gas/m68hc11/malis.s
Stephane Carrez [Fri, 2 Feb 2001 14:41:37 +0000 (14:41 +0000)]
* tc-m68hc11.c (relaxable_symbol): Relax externally visible symbols
because there is no support for shared libraries and these symbols
can't be overridden (unless they are weak).