Commit Graph

25015 Commits

Author SHA1 Message Date
Ian Lance Taylor 7d4210142a Rework last checkin to the following:
* i386-dis.c (FWAIT_OPCODE): Define.
	(used_prefixes): New static variable.
	(fetch_data): Don't print an error message if we have already
	fetched some bytes successfully.
	(ckprefix): Clear used_prefixes.  Use FWAIT_OPCODE, not 0x9b.
	(prefix_name): New static function.
	(print_insn_i386): If setjmp fails, indicating a data error, but
	we have managed to fetch some bytes, print the first one as a
	prefix or a .byte pseudo-op.  If fwait is followed by a non
	floating point instruction, print the first prefix.  Set
	used_prefixes when prefixes are used.  If any prefixes were not
	used after disassembling the instruction, print the first prefix
	instead of printing the instruction.
	(putop): Set used_prefixes when prefixes are used.
	(append_seg, OP_E, OP_G, OP_REG, OP_I, OP_sI, OP_J): Likewise.
	(OP_DIR, OP_SIMD_Suffix): Likewise.
1999-06-13 17:04:42 +00:00
Mark Mitchell 42751cf354 * elf-bfd.h (_bfd_elf_link_adjust_dynindx): New function.
* elflink.c (_bfd_elf_link_adjust_dynindx): Define it.
	* elflink.h (elf_link_remove_section_and_adjust_dynindices): New
	function.
	(bfd_elf_size_dynamic_sections): Use it.
1999-06-13 14:49:51 +00:00
Ian Lance Taylor 5076851fbc * i386-dis.c (FWAIT_OPCODE): Define.
(fetch_data): Don't print an error message if we have already
	found an fwait prefix.
	(ckprefix): Use FWAIT_OPCODE rather than 0x9b.
	(print_insn_i386): If setjmp fails, indicating a data error, but
	we have found an fwait prefix, then print it as an fwait
	instruction.  In any case, return the number of bytes consumed, if
	any, rather than always returning -1.
1999-06-13 13:56:26 +00:00
Ian Lance Taylor 277c9afe08 mention EXCLUDE_FILE 1999-06-13 10:20:50 +00:00
Ian Lance Taylor d7ec8102d9 * defparse.y (explist): Remove separate expline to eliminate
shift/reduce conflict.
	From Kai-Uwe Rommel <rommel@ars.de>:
	* defparse.y: Add tokens NONSHARED, SINGLE, MULTIPLE,
	INITINSTANCE, INITGLOBAL, TERMINSTANCE, and TERMGLOBAL.
	(command): Add option_list after LIBRARY.
	(attr): Accept and ignore NONSHARED, SINGLE, and MULTIPLE.
	(option_list, option): New nonterminals.
	* deflex.l: Recognize NONSHARED, SINGLE, MULTIPLE, INITINSTANCE,
	INITGLOBAL, TERMINSTANCE, and TERMGLOBAL.
1999-06-13 10:16:43 +00:00
Ian Lance Taylor 3e2699126a 1999-06-13 Alan Modra <alan@spri.levels.unisa.edu.au>
* elf32-i386.c (elf_howto_table): Change R_386_PC8 from
	complain_overflow_bitfield to complain_overflow_signed.
1999-06-13 09:23:04 +00:00
Ulrich Drepper a8aed0fb2d (tc_gen_reloc): Fix handling of GOTPC relocs. 1999-06-13 06:39:21 +00:00
Mark Mitchell 6b5bd373fb * elflink.h (elf_link_read_relocs_from_section): New function,
split out from ...
	(elf_link_read_relocs): Here.  Use it for both relocation
	sections.
1999-06-13 01:13:26 +00:00
Ian Lance Taylor 197a7bfdca * ld-checks/asm.s: Use a symbol name for .lcomm.
* ld-checks/checks.exp: Use different names for the two tests.
	Don't add extra text when invoking fail.
1999-06-12 22:40:18 +00:00
Ian Lance Taylor 7565ed77a1 * write.c (adjust_reloc_syms): Rather than never reducing reloc
which refer to symbols in linkonce sections, permit reducing the
	relocs if the symbol is local.
1999-06-12 22:15:51 +00:00
Ian Lance Taylor aa8804e46e This fixes ! to work as documented in a memory region attribute list.
From Thomas Zenker <thz@lennartz-electronic.de>:
	* ldgram.y (attributes_opt): Use attributes_list instead of NAME.
	(attributes_list, attributes_string): New nonterminals.
	* ldlang.c (lang_set_flags): Add invert parameter.  Don't handle
	'!'.
	* ldlang.c (lang_set_flags): Update declaration.
1999-06-12 21:24:56 +00:00
Mark Mitchell 57e21befb9 * elfcode.h (elf_slurp_reloc_table_from_section): Don't assume
asect->reloc_count is valid.
1999-06-12 17:56:26 +00:00
Ian Lance Taylor b9e57a387a * subsegs.c (subseg_text_p): New function.
* as.h (subseg_text_p): Declare.
	* read.c (do_align): Use subseg_text_p to set the default fill.
	* write.c (subsegs_finish): Likewise.
	* config/obj-coff.c (write_object_file): Likewise.
	* config/tc-i386.h (md_maybe_text): Don't define.
	(md_do_align): Use subseg_text_p to set the default fill.
	* config/tc-m32r.c (m32r_do_align): Likewise.
	* config/tc-sh.c (sh_do_align): Likewise.
	* config/tc-sparc.h (md_do_align): Likewise.
1999-06-12 16:49:51 +00:00
Ian Lance Taylor d84feeaca5 * ar.c (O_BINARY): Define as 0 if not defined.
(ranlib_touch): Open file with O_BINARY.
1999-06-12 16:07:57 +00:00
Ian Lance Taylor 18226413df * rename.c (O_BINARY): Define as 0 if not defined.
(simple_copy): Open files with O_BINARY.
1999-06-12 16:04:07 +00:00
Ian Lance Taylor f91ea84976 Based on patch from H. Peter Anvin <hpa@transmeta.com>:
* objcopy.c (struct section_list): Add copy field.
	(sections_copied): New static variable.
	(copy_options): Add "only-section".
	(copy_usage): Mention -j and --only-section.
	(find_section_list): Initialize copy field.
	(is_strip_section): Check for copying sections.
	(copy_object): Check sections_copied when calling filter_symbols.
	(setup_section): Check for copying sections.
	(copy_section): Likewise.
	(copy_main): Handle -j/--only-section.
	* binutils.texi, objcopy.1: Document -j/--only-section.
1999-06-12 15:42:04 +00:00
Ian Lance Taylor f353eb8a51 * configure.in: If frexp is not available, check in -lm.
* configure: Rebuild.
1999-06-12 15:20:21 +00:00
Ian Lance Taylor 2a275620b1 * emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Don't add
entry_symbol as an undefined symbol when doing a relocateable
	link.  From <jeffdb@goodnet.com>.
1999-06-12 14:00:03 +00:00
Ian Lance Taylor 789be9f7ca * readelf.c (get_elf_class): Use correct printf format for type.
(get_data_encoding): Likewise.
	(get_osabi_name): Likewise.
	(process_file_header): Don't pass an extra argument to printf.
	(process_dynamic_segment): Cast dynamic_size to long before
	printing.
	(decode_location_expression): Cast byte_get to long before
	printing.
1999-06-12 13:30:24 +00:00
Ian Lance Taylor 2641b0c9d8 1999-06-12 David O'Brien <obrien@freebsd.org>
* configure.tgt: (i[3456]86-*-freebsd*): Now defaults to ELF.
1999-06-12 13:18:26 +00:00
Ian Lance Taylor 008960a5a4 1999-06-12 David O'Brien <obrien@freebsd.org>
* configure.in: (i[3456]86-*-freebsd*): Now defaults to ELF.
	* configure: Rebuild.
1999-06-12 13:14:39 +00:00
Ian Lance Taylor cc3bfcee61 * elf32-mips.c (mips_elf32_section_processing): Permit a
SHT_MIPS_REGINFO section to have a size of 0.
1999-06-12 13:08:29 +00:00
Ian Lance Taylor 7a50d4ac66 1999-06-12 David O'Brien <obrien@freebsd.org>
* config.bfd (alpha*-*-freebsd*): New target.
	(i[3456]86-*-freebsd*): Now defaults to ELF.
1999-06-12 13:06:26 +00:00
Ian Lance Taylor 99c262f8b0 * ld-scripts/phdrs.exp: Change target check from "*-*-linuxaout*"
to "*-*-linux*aout*".
	* ld-scripts/weak.exp: Likewise.
	* ld-shared/shared.exp: Likewise.  Simplify condition a bit.
1999-06-12 10:47:08 +00:00
Ian Lance Taylor 966d5bec04 * gas/elf/elf.exp: Don't run tests on "*-*-linux*aout*" or
"*-*-linux*oldld*".
	* gas/vtable/vtable.exp: Likewise.
	* gas/i386/reloc.d: Modify expected reloc names to accept a.out
	names.
1999-06-12 10:43:43 +00:00
Ian Lance Taylor c1b640f7dc * Makefile.in: (taz): Don't use texinfo/gpl.texinfo or
texinfo/lgpl.texinfo.
1999-06-12 10:11:02 +00:00
Ian Lance Taylor c376f4edc3 * Makefile.in: Change distribution targets to use bzip2 instead of
gzip.
	(TEXINFO_SUPPORT): Set to just texinfo/texinfo.tex.
1999-06-12 10:04:11 +00:00
Ian Lance Taylor ff35fedcc1 add texinfo.tex 1999-06-12 09:59:55 +00:00
Ian Lance Taylor d9ac5a3b10 * dwarf2dbg.c: Include elf/dwarf2.h with "", not <>.
* Makefile.am: Rebuild dependencies.
	* Makefile.in: Rebuild.
1999-06-12 08:53:18 +00:00
Ian Lance Taylor 89b66cdeb5 fix copyrights 1999-06-12 08:48:00 +00:00
Ian Lance Taylor a1605869fb * struc-symbol.h: Put local_symbol code in ifdef BFD_ASSEMBLER.
* symbols.c: Likewise.
	* config/obj-aout.c (obj_crawl_symbol_chain): Refer directly to
	sy_next field when taking address, rather than symbol_next.
1999-06-11 21:07:46 +00:00
Ian Lance Taylor ae69440806 * config/tc-i386.c (i386_immediate): Remove unused label
seg_unimplemented.
1999-06-11 21:07:03 +00:00
Ian Lance Taylor 9e3af0e72a * dwarf2dbg.c: Change bfd_vma to addressT and bfd_signed_vma to
offsetT.
	(out_set_addr): Don't use BYTES_PER_ADDRESS.  Instead, get the
	value from the output file architecture.
	(dwarf2_gen_line_info): Ifdef BFD_ASSEMBLER specific code.
	* dwarf2dbg.h: Change bfd_vma to addressT.
1999-06-11 21:06:44 +00:00
Ian Lance Taylor 14c1861305 * gas/i386/amd.s: Add a symbol so a.out tests will work.
* gas/i386/katmai.s: Likewise.
	* gas/i386/amd.d: Corresponding change.
	* gas/i386/katmai.d: Corresponding change.
1999-06-11 21:02:59 +00:00
Ian Lance Taylor a7cd1c2299 * dwarf2dbg.h: Use PARAMS in function declarations. 1999-06-11 20:29:31 +00:00
Ian Lance Taylor 44257b8b9d * reloc.c (_bfd_relocate_contents): Permit bitfield relocations to
wrap if the relocation covers the high bit of an address.
1999-06-11 20:23:58 +00:00
Ian Lance Taylor 76171f81c7 1999-06-11 Martin Dorey <mdorey@madge.com>
* write.c (fixup_segment): Don't add symbol value for i960 ELF.
	* config/tc-i960.c (s_leafproc): Don't call tc_set_bal_of_cal if
	OBJ_ELF.
	(md_apply_fix): Simplify BFD_ASSEMBLER handling.
1999-06-11 19:03:06 +00:00
Ian Lance Taylor 5865bb778d * config/tc-i386.c (md_apply_fix3): Add default case to switch. 1999-06-10 21:47:35 +00:00
Ian Lance Taylor 9e7c96d9d0 * config/tc-sparc.c (md_pseudo_table): Remove pushsection and
popsection.
1999-06-10 21:45:36 +00:00
Ian Lance Taylor 1b50c71893 * config/tc-sparc.c (sparc_ip): Add default case to reloc switch. 1999-06-10 21:43:24 +00:00
Ian Lance Taylor 1bf67e0db8 * read.c (read_a_source_file): Only declare inescape if
QUOTES_IN_INSN.
1999-06-10 21:36:37 +00:00
Ian Lance Taylor 41e60a8210 * itbl-ops.c (itbl_disassemble): Change sprintf format strings to
match parameters.
	(find_entry_byval): Add parens to avoid warning.
1999-06-10 21:35:32 +00:00
Ian Lance Taylor 84be4d7117 * as.c: If HAVE_ITBL_CPU, include "itbl-ops.h". 1999-06-10 21:35:13 +00:00
Ian Lance Taylor f5f9cc4ffb * dwarf2.c (decode_line_info): Remove unused variable first_time. 1999-06-10 21:28:56 +00:00
Ian Lance Taylor 9b4d630bb9 * symbols.c (resolve_symbol_value): Don't permit subtraction of
undefined symbols.
1999-06-10 21:26:10 +00:00
Ian Lance Taylor 8ee99f93eb * gas/mips/sync.d: Pass -mips2 to the assembler.
* gas/mips/elf_e_flags.s: Tweak code so that the tests pass for
	mips-elf target as well as mips64-elf target.
	* gas/mips/elf_e_flags1.d: Corresponding changes.
	* gas/mips/elf_e_flags2.d: Likewise.
	* gas/mips/elf_e_flags3.d: Likewise.
	* gas/mips/elf_e_flags4.d: Likewise.
	* gas/elf/elf.exp: Add setup_xfail for mips*-*-*.
	* gas/all/itbl-test.c (main): Update itbl_get_reg_val call for new
	parameter.
1999-06-10 21:15:05 +00:00
Richard Henderson a22b281cd7 Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.c (sparc_ip): Don't use side-effect expression
        with isoctal.
        * config/tc-sparc.c (synthetize_setuw, synthetize_setsw,
        synthetize_setx): New functions.
        (md_assemble): Broken the special cases into the above
        functions. Make compiler happy if sizeof(bfd_vma)==4.
        Fix sethi generated from set/setuw. If instructions have a relloc,
        always clear the fields to be relocated in the opcode.
        (sparc_ip): Remove special_case global variable.
1999-06-10 21:11:39 +00:00
Richard Henderson b3fb1136bf Jakub Jelinek <jj@ultra.linux.cz>
* gas/sparc/synth64.s: Add checks for single register signx/clruw.
        * gas/sparc/set64.s: Add tests for setuw and setsw synthetic insns.
        * gas/sparc/prefetch.d: Add -64 as switch.
        * gas/sparc/rdpr.d: Ditto.
        * gas/sparc/wrpr.d: Ditto.
        * gas/sparc/synth64.d: Ditto, reflect synth64.s changes.
        * gas/sparc/reloc64.d: Add -64 as switch, be more tolerant, as
        current gas outputs %hi(0) and not %hi(0x0).
        * gas/sparc/set64.d: Add -64 as switch, reflect set64.s changes and
        optimizations for setx instruction.
        * gas/sparc/sparc.exp: Do sparc64*-*-* checks if it is any of the
        compiled-in targets.
1999-06-10 21:08:10 +00:00
Richard Henderson 09cb30ac5e Jakub Jelinek <jj@ultra.linux.cz>
* sparc.h (R_SPARC_max_std): Define.
1999-06-10 21:00:53 +00:00
Richard Henderson 60dac29966 Jakub Jelinek <jj@ultra.linux.cz>
* elf64_sparc.c (sparc64_elf_relocate_section): Use R_SPARC_max_std
        instead of R_SPARC_max.
        (sparc64_elf_info_to_howto): Likewise.
        * elf32_sparc.c (elf32_sparc_relocate_section): Likewise.
        (elf32_sparc_info_to_howto): Likewise; handle vtable relocations.
1999-06-10 20:59:54 +00:00